using Services; using Models; namespace ShoopNCook.Controllers { public class ConnectionController : LoginController, RegisterController { private readonly ConnectionObserver observer; private readonly IAuthService accounts; public ConnectionController(ConnectionObserver observer, IAuthService accounts) { this.observer = observer; this.accounts = accounts; } public void Login(string email, string password) { if (email == null) { UserNotifier.Notice("Please provide an email address"); return; } if (password == null) { UserNotifier.Notice("Please provide your password"); return; } Account? acc = accounts.Login(email, password); if (acc == null) { UserNotifier.Error("Email or password invalid."); return; } observer.OnAccountConnected(acc); } public void Register(string username, string email, string password) { if (email == null) { UserNotifier.Notice("Please provide an email address"); return; } if (password == null) { UserNotifier.Notice("Please provide your password"); return; } if (username == null) { UserNotifier.Notice("Please provide an username"); return; } Account? acc = accounts.Register(username, email, password); if (acc == null) { UserNotifier.Error("Invalid credentials."); return; } observer.OnAccountConnected(acc); } } }