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 WorkLogGroup(
     MainForm mainForm, ModelOfFacade model, DataGridView dgvWorkLog, 
     DataGridView dgvWorksInProject, Label lblHeight, Label lblLenght, 
     Label lblSquare, Label lblMultiplicity, Label lblAmount)
 {
     this.mainForm = mainForm;
     this.model = model;
     this.dgvWorkLog = dgvWorkLog;
     this.dgvWorksInProject = dgvWorksInProject;
     workLogs = new WorkLog[0];
     this.lblHeight = lblHeight;
     this.lblLenght = lblLenght;
     this.lblSquare = lblSquare;
     this.lblMultiplicity = lblMultiplicity;
     this.lblAmount = lblAmount;
 }