Exemplo n.º 1
0
        private void Check()
        {
            if (EqFailName.TextLength <= 10)
            {
                MessageBox.Show("Длина наименования операции должна быть не менее 10 символов", "Предупреждение", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                EqFailName.Focus();
                this.DialogResult = DialogResult.None;
                return;
            }

            if (Fail.TextLength <= 10 && MainForm.id == 0)
            {
                MessageBox.Show("Длина причины отказа должна быть не менее 10 символов", "Предупреждение", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                Fail.Focus();
                this.DialogResult = DialogResult.None;
                return;
            }

            if (FullEmployeeName.SelectedIndex == 0)
            {
                MessageBox.Show("Необходимо выбрать сотрудника", "Предупреждение", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                FullEmployeeName.Focus();
                this.DialogResult = DialogResult.None;
                return;
            }

            if (EmployeePost.SelectedIndex == 0)
            {
                MessageBox.Show("Необходимо выбрать должность сотрудника", "Предупреждение", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                EmployeePost.Focus();
                this.DialogResult = DialogResult.None;
                return;
            }
        }
Exemplo n.º 2
0
        public async Task <IActionResult> Put(int id, [FromBody] EmployeePost employee)
        {
            if (ModelState.IsValid)
            {
                var employeeFromRepo = await _empRepo.GetById(id);

                if (employeeFromRepo == null)
                {
                    return(NotFound());
                }



                employeeFromRepo.FirstName = employee.FirstName ?? employeeFromRepo.FirstName;
                employeeFromRepo.LastName  = employee.LastName ?? employeeFromRepo.LastName;
                employeeFromRepo.PersonNr  = employee.PersonNr ?? employeeFromRepo.PersonNr;


                try
                {
                    var employeeUpdated = _empRepo.Update(employeeFromRepo.EmployeeId, employeeFromRepo);
                    return(Ok(employeeUpdated));
                }
                catch (Exception ex)
                {
                    _logger.LogError($"Thrown exception when updating {ex}");
                    BadRequest("Something when wrong while updating");
                }
            }
            return(BadRequest("Error occured"));
        }
 /// <summary>
 /// Удаление сотрудника
 /// </summary>
 /// <param name="post">Объект сотрудника</param>
 public void DeleteEmployeePost(EmployeePost post)
 {
     logger.Trace("Попытка подключения к источнику данных.");
     logger.Trace("Подготовка к удалению должности.");
     try
     {
         var postToDelete = context.EmployeePost.FirstOrDefault(ep => ep.PostId == post.PostId);
         if (postToDelete != null)
         {
             context.EmployeePost.Remove(postToDelete);
             context.SaveChanges();
             logger.Debug("Удаление успешно завершено.");
         }
     }
     catch (SqlException sqlEx)
     {
         logger.Error("Ошибка удаления записи должности.");
         logger.Error($"Ошибка SQL Server — {sqlEx.Number}.");
         logger.Error($"Сообщение об ошибке: {sqlEx.Message}.");
     }
     catch (Exception ex)
     {
         logger.Error("Ошибка удаления записи должности.");
         logger.Error($"Ошибка — {ex.Message}.");
     }
 }
 /// <summary>
 /// Добавление новой должности сотрудников
 /// </summary>
 /// <param name="post">Объект новой должности</param>
 /// <returns>Возвращаем только что созданный объект</returns>
 public EmployeePost InsertEmployeePost(EmployeePost post)
 {
     logger.Trace("Попытка подключения к источнику данных.");
     logger.Trace("Подготовка к добавлению должности");
     try
     {
         logger.Debug($"Добавляемая запись {post.ToString()}");
         context.EmployeePost.Add(post);
         context.SaveChanges();
         logger.Debug($"Новая запись успешно добавлена.");
         return(post);
     }
     catch (SqlException sqlEx)
     {
         logger.Error("Ошибка добавления должности.");
         logger.Error($"Ошибка SQL Server — {sqlEx.Number}.");
         logger.Error($"Сообщение об ошибке: {sqlEx.Message}.");
         return(null);
     }
     catch (Exception ex)
     {
         logger.Error("Ошибка добавления должности.");
         logger.Error($"Ошибка — {ex.Message}.");
         return(null);
     }
 }
 /// <summary>
 /// Обновление должности
 /// </summary>
 /// <param name="post">Редактируемая должность</param>
 /// <returns>Возвращаем объект должности, с обновленными данными</returns>
 public EmployeePost UpdateEmployeePost(EmployeePost post)
 {
     logger.Trace("Попытка подключения к источнику данных.");
     logger.Trace("Подготовка к обновлению должности.");
     try
     {
         var postToUpdate = context.EmployeePost.FirstOrDefault(ep => ep.PostId == post.PostId);
         logger.Debug($"Текущая запись {postToUpdate.ToString()}");
         postToUpdate.Name = post.Name;
         postToUpdate.Note = post.Note;
         postToUpdate.RegistrationAllow = post.RegistrationAllow;
         postToUpdate.EnrollAllow       = post.EnrollAllow;
         postToUpdate.DictionaryAllow   = post.DictionaryAllow;
         context.SaveChanges();
         logger.Debug($"Новая запись {postToUpdate.ToString()}");
         return(postToUpdate);
     }
     catch (SqlException sqlEx)
     {
         logger.Error("Ошибка редактирования должности.");
         logger.Error($"Ошибка SQL Server — {sqlEx.Number}.");
         logger.Error($"Сообщение об ошибке: {sqlEx.Message}.");
         return(null);
     }
     catch (Exception ex)
     {
         logger.Error("Ошибка редактирования должности.");
         logger.Error($"Ошибка — {ex.Message}.");
         return(null);
     }
 }
Exemplo n.º 6
0
        public bool CreateUpdateEmployee(EmployeePost employeePost)
        {
            try
            {
                DataTable EmployeeData = CreateEmployeeStructure();
                FillEmployeeInformation(EmployeeData, employeePost);
                var parameters = new List <SqlParameter>();
                parameters.Add(new SqlParameter("@EmployeeData", SqlDbType.Structured)
                {
                    TypeName = "dbo.EmployeeData",
                    Value    = EmployeeData
                });
                const string storedProc = "dbo.uspEmployeeCreateUpdate";
                using (SqlConnection connection = new SqlConnection(connectionString))
                {
                    connection.Open();
                    using (SqlCommand command = new SqlCommand(storedProc, connection))
                    {
                        // Add the parameters to the command - add
                        command.Parameters.AddRange(parameters.ToArray());

                        // Create an adapter and fill our dataset, uncomment when we use a stored procedure
                        command.CommandType = CommandType.StoredProcedure;
                        command.ExecuteNonQuery();
                    }
                }

                return(true);
            }
            catch (Exception ex)
            {
                return(false);
            }
        }
Exemplo n.º 7
0
        private void FillEmployeeInformation(DataTable data, EmployeePost employeePost)
        {
            DataRow newRow = data.NewRow();

            if (employeePost.EmployeeId != null)
            {
                newRow["EmployeeId"] = employeePost.EmployeeId;
            }
            newRow["Name"] = employeePost.Name;
            if (employeePost.Fax != null)
            {
                newRow["Fax"] = employeePost.Fax;
            }
            newRow["Email"]     = employeePost.Email;
            newRow["Password"]  = employeePost.Password;
            newRow["UserName"]  = employeePost.UserName;
            newRow["Telephone"] = employeePost.Telephone;
            newRow["CompanyId"] = employeePost.CompanyId;
            newRow["PortalId"]  = employeePost.PortalId;
            newRow["RoleId"]    = employeePost.RoleId;
            newRow["StatusId"]  = employeePost.StatusId;
            newRow["LastLogin"] = DateTime.Parse(employeePost.LastLogin);
            newRow["CreatedOn"] = DateTime.Parse(employeePost.CreatedOn);
            if (employeePost.UpdatedOn != null)
            {
                newRow["UpdateOn"] = DateTime.Parse(employeePost.UpdatedOn);
            }
            if (employeePost.DeleteOn != null)
            {
                newRow["DeletedOn"] = DateTime.Parse(employeePost.DeleteOn);
            }

            data.Rows.Add(newRow);
        }
Exemplo n.º 8
0
        public async Task <IActionResult> Post([FromForm] EmployeePost employeeDTO)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var employee = new Employee
            {
                Name          = employeeDTO.Name,
                DateOfJoining = employeeDTO.DateOfJoining,
            };

            var employeeDepartment = (await _UnitOfWork.DepartmentRepository.GetAllDepartmentsAsync()).Where(dep => dep.Name == employeeDTO.DepartmentName).FirstOrDefault();

            if (employeeDepartment != null)
            {
                employee.DepartmentId = employeeDepartment.Id;
                //employee.Department = employeeDepartment;
            }

            _UnitOfWork.EmployeeRepository.CreateEmployee(employee);
            await _UnitOfWork.SaveChangesAsync();

            return(Ok(employee));
        }
Exemplo n.º 9
0
        /// <summary>
        /// Resolves the employee group by the employee post
        /// </summary>
        /// <param name="post">Employee post</param>
        /// <returns>Resolved employee group</returns>
        public EmployeeGroup ResolveGroupByPost(EmployeePost post)
        {
            if (post == EmployeePost.JuniorNurse)
                return EmployeeGroup.JuniorStaff;

            return EmployeeGroup.MiddleStaffAndDoctors;
        }
Exemplo n.º 10
0
 public async Task <IActionResult> UpdateEmployee(EmployeePost employee, int id)
 {
     try
     {
         employee.EmployeeId = id;
         employeeService.CreateUpdateEmployee(employee);
         return(StatusCode(StatusCodes.Status200OK));
     }
     catch (Exception ex)
     {
         return(StatusCode(StatusCodes.Status500InternalServerError, ex));
     }
 }
Exemplo n.º 11
0
        public IActionResult AddEmployee([FromBody] EmployeePost emp)
        {
            if (emp.Name == null || emp.Sex == null || emp.Birthday == null)
            {
                return(NotFound("Fields can`t be empty"));
            }

            var user = _employeeContext.Employees.Add(new Employee()
            {
                Name     = emp.Name,
                Sex      = emp.Sex,
                Birthday = emp.Birthday
            });

            _employeeContext.SaveChanges();
            // return Json
            return(Json(user.Entity.Id));
        }
Exemplo n.º 12
0
 /// <summary>
 /// Получение списка сотрудников, определенной должности
 /// </summary>
 /// <param name="post">Должность сотрудников</param>
 /// <returns>Список сотрудников</returns>
 public List <Employee> GetEmployees(EmployeePost post)
 {
     logger.Trace("Попытка подключения к источнику данных.");
     logger.Trace("Подготовка к поиску списка пользователей определенной должности.");
     try
     {
         var employees = context.Employee.AsNoTracking().Where(e => e.PostId == post.PostId).ToList();
         logger.Debug($"Поиск окончен. Количество записей: {employees.Count}.");
         return(employees);
     }
     catch (SqlException sqlEx)
     {
         logger.Error("Ошибка получения списка пользователей.");
         logger.Error($"Ошибка SQL Server — {sqlEx.Number}.");
         logger.Error($"Сообщение об ошибке: {sqlEx.Message}.");
         return(null);
     }
     catch (Exception ex)
     {
         logger.Error("Ошибка получения списка пользователей.");
         logger.Error($"Ошибка — {ex.Message}.");
         return(null);
     }
 }
Exemplo n.º 13
0
        public async Task <IActionResult> Post([FromBody] EmployeePost employee)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    var newEmployee = new Employee
                    {
                        FirstName = employee.FirstName,
                        LastName  = employee.LastName,
                        PersonNr  = employee.PersonNr
                    };

                    var addedEmployee = await _empRepo.Create(newEmployee);


                    if (employee.knowledges == null && employee.newKnowledges != null)
                    {
                        foreach (var newKnowledge in employee.newKnowledges)
                        {
                            var AddedKnowledges = await _KnRepo.Create(new Knowledge
                            {
                                KnowledgeName = newKnowledge
                            });

                            var addedAssignment = await _AcqRepo.Create(new AcquiredKnowledge
                            {
                                EmployeeId  = addedEmployee.EmployeeId,
                                KnowledgeId = AddedKnowledges.KnowledgeId
                            });
                        }
                    }
                    else if (employee.knowledges != null && employee.newKnowledges == null)
                    {
                        foreach (var knowledge in employee.knowledges)
                        {
                            var addedAssignment = await _AcqRepo.Create(new AcquiredKnowledge
                            {
                                EmployeeId  = addedEmployee.EmployeeId,
                                KnowledgeId = knowledge.KnowledgeId
                            });
                        }
                    }
                    else if (employee.knowledges != null && employee.newKnowledges != null)
                    {
                        foreach (var newKnowledge in employee.newKnowledges)
                        {
                            var AddedKnowledges = await _KnRepo.Create(new Knowledge
                            {
                                KnowledgeName = newKnowledge
                            });

                            var addedAssignment = await _AcqRepo.Create(new AcquiredKnowledge
                            {
                                EmployeeId  = addedEmployee.EmployeeId,
                                KnowledgeId = AddedKnowledges.KnowledgeId
                            });
                        }
                        foreach (var knowledge in employee.knowledges)
                        {
                            var addedAssignment = await _AcqRepo.Create(new AcquiredKnowledge
                            {
                                EmployeeId  = addedEmployee.EmployeeId,
                                KnowledgeId = knowledge.KnowledgeId
                            });
                        }
                    }

                    return(Ok(addedEmployee));
                }
                catch (Exception ex)
                {
                    _logger.LogError($"Exception thrown while adding employee: {ex.Message}");
                    return(BadRequest($"Error ocurred"));
                }
            }
            return(BadRequest("Failed to save changes to the database"));
        }
Exemplo n.º 14
0
 public bool CreateUpdateEmployee(EmployeePost employeePost)
 {
     return(employeeRepository.CreateUpdateEmployee(employeePost));
 }
Exemplo n.º 15
0
        private void button1_Click(object sender, EventArgs e)
        {
            MainForm        main    = new MainForm();
            string          CmdText = "";
            OleDbConnection conn    = new OleDbConnection(MainForm.connectionstring);

            conn.Open();

            if (MainForm.id == 0)
            {
                CmdText = "INSERT INTO EqFailHistory(EqListID, DateTimeFail, EqFailName, FailReason, EmployeePost, FullEmployeeName) Values ('"
                          + ID + "' , '"
                          + DateTime.Value + "' , '"
                          + EqFailName.Text + "' , '"
                          + Fail.Text + "' , '"
                          + EmployeePost.Text + "' , '"
                          + FullEmployeeName.Text + "')";
            }

            if (MainForm.id != 0)
            {
                CmdText = "INSERT INTO EqTechHistory(EqListID, DateTimeTech, EqTechName, FullEmployeeName, EmployeePost) Values ('"
                          + ID.ToString() + "' , '"
                          + DateTime.Value + "' , '"
                          + EqFailName.Text + "' , '"
                          + FullEmployeeName.Text + "' , '"
                          + EmployeePost.Text + "')";
            }

            if (EqFailName.TextLength <= 10)
            {
                MessageBox.Show("Длина наименования операции должна быть не менее 10 символов", "Предупреждение", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                EqFailName.Focus();
                this.DialogResult = DialogResult.None;
                return;
            }

            if (Fail.TextLength <= 10 && MainForm.id == 0)
            {
                MessageBox.Show("Длина причины отказа должна быть не менее 10 символов", "Предупреждение", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                Fail.Focus();
                this.DialogResult = DialogResult.None;
                return;
            }

            if (FullEmployeeName.SelectedValue == "")
            {
                MessageBox.Show("Необходимо выбрать сотрудника", "Предупреждение", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                FullEmployeeName.Focus();
                this.DialogResult = DialogResult.None;
                return;
            }

            if (EmployeePost.SelectedIndex == 0)
            {
                MessageBox.Show("Необходимо выбрать должность сотрудника", "Предупреждение", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                EmployeePost.Focus();
                this.DialogResult = DialogResult.None;
                return;
            }

            OleDbCommand Cmd = new OleDbCommand(CmdText, conn);

            Cmd.ExecuteNonQuery();
            conn.Close();
            main.RefreshEqData();
            main.RefreshDataRequest(MainForm.id);
        }