示例#1
0
        private async void ButtonAdd_Click(object sender, EventArgs e)
        {
            UsersGridWidthChange();
            if (!VerifyTextBoxes(out var fio, out var login, out var password, out var salary))
            {
                return;
            }

            var user = new Models.Worker()
            {
                FIO      = fio,
                Login    = login,
                Password = password,
                Role     = comboBoxRole.SelectedIndex == 0 ? "accountant" :
                           comboBoxRole.SelectedIndex == 1 ? "manager" :
                           comboBoxRole.SelectedIndex == 2 ? "archivarius" :
                           "admin",
                Salary = Convert.ToSingle(salary)
            };

            if (await _workersRepository.GetWorker(login) != null)
            {
                MessageBox.Show("Пользователь с таким логином уже существует.");
                return;
            }

            await _workersRepository.CreateWorker(user);

            await UpdateDataGridView();
        }
示例#2
0
        private async void ButtonEnter_Click(object sender, EventArgs e)
        {
            var login    = textBoxLogin.Text;
            var password = textBoxPassword.Text;

            FindAdmin();
            if (IsAdminCreated == false)
            {
                if (login == "admin")
                {
                    if (password == "admin")
                    {
                        Hide();
                        new AdminForm().ShowDialog();
                        return;
                    }
                    MessageBox.Show("Неверный логин или пароль.");
                    return;
                }
            }
            var user = await _workersRepo.GetWorker(login);

            if (user == null || user.Password != password)
            {
                MessageBox.Show("Неверный логин или пароль.");
                return;
            }

            switch (user.Role)
            {
            case "accountant":
                Hide();
                new MainAccounatantForm(user.Id, LogFileManager).ShowDialog();
                break;

            case "manager":
                Hide();
                new ManagerForm(user.Id).ShowDialog();
                break;

            case "archivarius":
                Hide();
                new ArchivariusForm(user.Id, LogFileManager).ShowDialog();
                break;

            case "admin":
                Hide();
                new AdminForm().ShowDialog();
                break;

            default:
                MessageBox.Show("Ошибка 1: Неопознанная роль пользователя.");
                break;
            }
        }
示例#3
0
 public WorkerState EnsureWorkerRegistration()
 {
     if (_workerState == null)
     {
         object objLock;
         lock (objLock = new object())
         {
             if (_workerState == null)
             {
                 var worker = _repository.GetWorker(Environment.MachineName);
                 if (worker == null)
                 {
                     worker = _repository.RegisterWorker(Environment.MachineName);
                 }
                 _workerState = worker;
             }
         }
     }
     return(_workerState);
 }
 public async Task <WorkerInformation> GetWorker(int id)
 {
     return(await _repository.GetWorker(id));
 }
示例#5
0
        /// <summary>
        /// Zwraca pracownika o danym ID
        /// </summary>
        public Worker GetWorkerByID(int id)
        {
            Worker worker = _workerRepo.GetWorker(id);

            return(worker);
        }
示例#6
0
        private async void addButton_Click(object sender, EventArgs e)
        {
            if (!VerifyDocumentsValues(out var name))
            {
                return;
            }

            var document = new Models.Documents()
            {
                FileName = name
            };
            var folder   = localFileManager.CreateFileFolder("Document_" + document.Id.ToString());
            var format   = ".pdf";
            var trueName = SearchNames(folder, name);

            folder = folder + @"\" + trueName + format;
            //folder = $@"{folder}\{name}" + ".pdf";
            document.FileName = trueName;
            Document doc = new Document();

            PdfWriter.GetInstance(doc, new FileStream(folder, FileMode.Create));
            doc.Open();

            string   ttf      = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Fonts), "ARIAL.TTF");
            BaseFont baseFont = BaseFont.CreateFont(ttf, BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
            Font     font     = new Font(baseFont, iTextSharp.text.Font.DEFAULTSIZE, iTextSharp.text.Font.NORMAL);

            var dateFrom = dateTimePickerFrom.Value;
            var dateTo   = dateTimePickerTo.Value;

            var currentOrders = await _ordersRepository.GetOrdersinDates(dateFrom, dateTo);

            for (int i = 0; i < currentOrders.Count; i++)
            {
                if (currentOrders[i].TimeCompleted != DateTime.MinValue)
                {
                    var currentuser = await _clientsRepository.GetClient(currentOrders[i].ClientId);

                    var currentworker = await _workerRepository.GetWorker(currentOrders[i].WorkerId);

                    PdfPTable table = new PdfPTable(2);

                    PdfPCell cell = new PdfPCell(new Phrase("Заказ " + $"{currentOrders[i].Id}", font));

                    cell.Colspan             = 2;
                    cell.HorizontalAlignment = 1;
                    cell.Border = 0;
                    table.AddCell(cell);
                    table.AddCell(new Phrase("ID", font));
                    table.AddCell(new Phrase(currentOrders[i].Id.ToString(), font));
                    table.AddCell(new Phrase("ФИО заказчика", font));
                    table.AddCell(new Phrase(currentuser.FIO, font));
                    table.AddCell(new Phrase("телефон заказчика", font));
                    table.AddCell(new Phrase(currentuser.ContactNumber, font));
                    table.AddCell(new Phrase("ФИО исполнителя", font));
                    table.AddCell(new Phrase(currentworker.FIO, font));

                    var col  = new PdfPCell(new Phrase(currentOrders[i].Payment.ToString(), font));
                    var col2 = new PdfPCell(new Phrase(currentOrders[i].PaymentIsDone.ToString(), font));
                    if (currentOrders[i].Payment > currentOrders[i].PaymentIsDone)
                    {
                        col.BackgroundColor  = BaseColor.RED;
                        col2.BackgroundColor = BaseColor.RED;
                    }
                    else
                    {
                        col.BackgroundColor  = BaseColor.WHITE;
                        col2.BackgroundColor = BaseColor.WHITE;
                    }
                    table.AddCell(new Phrase("Сумма к оплате", font));
                    table.AddCell(col);
                    table.AddCell(new Phrase("Оплачено", font));
                    table.AddCell(col2);


                    table.AddCell(new Phrase("Дата завершения", font));
                    table.AddCell(new Phrase(currentOrders[i].TimeCompleted.ToString(), font));

                    doc.Add(table);
                }
            }
            doc.Close();

            document.FileLink    = folder;
            document.TimeCreated = DateTime.Now;
            refreshGridWidth();
            await _documentsRepository.CreateDocuments(document);

            await UpdateDataGridViewDocuments(dateTimePickerFrom.Value, dateTimePickerTo.Value);
            await UpdateDataGridViewOrders(dateTimePickerFrom.Value, dateTimePickerTo.Value);
        }