public ActionResult AddWorkHoursToEmployee([FromBody] AddEmployeeWorkHoursModel model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } try { var result = _employeeService.AddWorkHoursToEmployee(model, User.Identity.Name); return(Ok(result)); } catch (ArgumentException e) { return(StatusCode((int)HttpStatusCode.InternalServerError, e.Message)); } }
public ResponseModel AddWorkHoursToEmployee(AddEmployeeWorkHoursModel model, string userEmail) { var response = new ResponseModel(); var employee = _employeeRepository.GetEmployeeByUserEmail(userEmail); if (employee != null) { response = _employeeWorkHoursService.AddEmployeeWorkhours(model, employee); } else { response.Message = "Funcionário não encontrado"; } return(response); }
public ResponseModel AddEmployeeWorkhours(AddEmployeeWorkHoursModel model, Employee employee) { ResponseModel response = new ResponseModel(); try { model.DatasComOHorario.ForEach(data => { RemoveExistentWorkHours(data, employee.EmployeeId); var startTime = GenerateDateTimeByTimeSpanAndDataModel(data, model.StartHour.TimeOfDay); var endTime = GenerateDateTimeByTimeSpanAndDataModel(data, model.EndHour.TimeOfDay); var startInterval = GenerateDateTimeByTimeSpanAndDataModel(data, model.StartInterval.TimeOfDay); var endInterval = GenerateDateTimeByTimeSpanAndDataModel(data, model.EndInterval.TimeOfDay); var modelWorkHours = new EmployeeWorkHours { EmployeeWorkHoursId = Guid.NewGuid(), EmployeeId = employee.EmployeeId, StartHour = startTime, EndHour = endTime, StartInterval = startInterval, EndInterval = endInterval, CreatedAt = DateTimeUtil.UtcToBrasilia(), LastUpdatedAt = DateTimeUtil.UtcToBrasilia(), UpdatedBy = employee.UserId }; _employeeWorkHoursRepository.Add(modelWorkHours); response.Success = true; response.Message = "Horários disponíveis adicionados com sucesso"; }); }catch (Exception e) { response.Message = $"Erro ao adicionar horário de trabalho.\n {e.Message}"; } return(response); }