public Entry(IDriverDB driver, IHashPasswordCreator hashPasswordCreator)
 {
     InitializeComponent();
     this.driver = driver;
     this.hashPasswordCreator = hashPasswordCreator;
     actualUser = new User();
 }
        public MainForm(IDriverDB driver, IHashPasswordCreator hashPasswordCreator)
        {
            InitializeComponent();
            this.driver = driver;
            this.hashPasswordCreator = hashPasswordCreator;
            actualUser    = new User();
            workerModel   = new ModelOfFacade(dgvWorkerModel, this);
            workerWorkLog = new WorkLogGroup(this, workerModel, dgvWorkerWorkLog,
                                             dgvWorkerWorksInProject, lblWorkerElementHeight, lblWorkerElementLenght,
                                             lblWorkerElementSquare, lblWorkerWorkByElementMultiplicity,
                                             lblWorkerWorkByElementAmount);
            managerModel   = new ModelOfFacade(dgvManagerModel, this);
            managerWorkLog = new WorkLogGroup(this, managerModel, dgvManagerWorkLog,
                                              dgvSectionOfBuildingWorkInProject, lblManagerModeHeight, lblManagerModelLength,
                                              lblManagerModelSquare, lblManagerModelMultiplicity, lblManagerModelAmount);

            var entryForm = new Entry(driver, hashPasswordCreator);

            Application.Run(entryForm);
            try
            {
                actualUser = entryForm.actualUser;
            }
            catch
            {
                MessageBox.Show("Ошибка! Вход в систему не возможен", "Сообщение об ошибке",
                                MessageBoxButtons.OK, MessageBoxIcon.Error);
                Close();
                return;
            }
            if (actualUser.Id == -1)
            {
                MessageBox.Show("Ошибка! Вход в систему не возможен", "Сообщение об ошибке",
                                MessageBoxButtons.OK, MessageBoxIcon.Error);
                Close();
                return;
            }
            Image checkMark = Properties.Resources.checkMark;

            SetPictures(checkMark);
            ShowlabelActualUserName();
            ShowUsers();
            ShowClients();
            actualProject = new Project();
            ShowActualProject();
            ShowAllEntities();
            ShowWorkerProjects();
            if (!actualUser.ManagerAccess)
            {
                WorkerMode();
            }
        }
 public bool CheckPassword(string password2Check, IHashPasswordCreator hashPasswordCreator)
 {
     return(hashPasswordCreator.VeryfyHash(password2Check, HashPassword, SaltString));
 }
 public void ChangePassword(string newPassword, IHashPasswordCreator hashPasswordCreator)
 {
     hashPasswordCreator.EncodePasswordAndGenerteSalt(newPassword);
     hashPassword = hashPasswordCreator.GetHashToString();
     SaltString   = hashPasswordCreator.GetSaltToString();
 }