private void Login() { using (IAuthService authService = new AuthService()) { string login = loginTxt.Text; string password = passwordTxt.Password; UserLoginDTO userLogin = new UserLoginDTO { Login = login, Password = password }; LoginServiceMessage result = authService.Login(userLogin); if (result.IsSuccessful) { loginTxt.Clear(); passwordTxt.Clear(); LoginType loginType = result.LoginType; ServiceFactory factory = result.Factory; ControllerFactory controllerFactory = new ControllerFactory(factory, loginType, login); ILogger logger = new Logger(); SignOutWindowBase window = Create(controllerFactory, logger, loginType, login); window.SignedOut += (s, e) => { this.Show(); shouldBeClosed = false; window.Close(); }; window.Closed += (s, e) => this.Close(); window.Show(); this.Hide(); } else { MessageBox.Show("Could not login: " + result.Message); } } }
private SignOutWindowBase Create(ControllerFactory controllerFactory, ILogger logger, LoginType loginType, string login) { SignOutWindowBase window = null; switch (loginType) { case LoginType.Superuser: window = new SuperuserControls.SuperuserMainWindow(controllerFactory, logger); break; case LoginType.Admin: window = new AdminControls.AdminMainWindow(controllerFactory, logger); break; case LoginType.Analytic: window = new AnalyticControls.AnalyticMainWindow(controllerFactory, logger); break; case LoginType.Bookmaker: window = new BookmakerControls.BookmakerMainWindow(controllerFactory, logger); break; case LoginType.Client: window = new ClientControls.ClientMainWindow(controllerFactory, logger); break; case LoginType.NoLogin: MessageBox.Show("Your role wasn't recognized! The program will be closed"); this.Close(); break; default: break; } window.WindowState = System.Windows.WindowState.Maximized; window.Title = String.Format("Welcome, {0}!", login); return(window); }