Example #1
0
        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);
                }
            }
        }
Example #2
0
        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);
        }