コード例 #1
0
        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));
            }
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
        }