public CustomResult Update(UpdateWorkingHourDto dto) { var workingHour = _workingHourRepository.GetById(dto.Id); if (workingHour != null) { var result = CheckFilters(dto.FromTime, dto.ToTime, dto.MealTimeBreakFromTime , dto.MealTimeBreakToTime, dto.Break1FromTime, dto.Break1ToTime , dto.Break2FromTime, dto.Break2ToTime, dto.Break3FromTime, dto.Break3ToTime , dto.WorkingHourDuration); if (!result.IsValid) { return(result); } workingHour.ShiftId = dto.ShiftId; workingHour.Title = dto.Title; workingHour.FromTime = dto.FromTime; workingHour.ToTime = dto.ToTime; workingHour.WorkingHourDuration = dto.WorkingHourDuration; workingHour.DailyDelay = dto.DailyDelay.GetSecondsFromDuration(); workingHour.MonthlyDelay = dto.MonthlyDelay.GetSecondsFromDuration(); workingHour.DailyRush = dto.DailyRush.GetSecondsFromDuration(); workingHour.MonthlyRush = dto.MonthlyRush.GetSecondsFromDuration(); workingHour.PriorExtraWorkTime = dto.PriorExtraWorkTime.GetSecondsFromDuration(); workingHour.LaterExtraWorkTime = dto.LaterExtraWorkTime.GetSecondsFromDuration(); workingHour.FloatingTime = dto.FloatingTime.GetSecondsFromDuration(); workingHour.MealTimeBreakFromTime = dto.MealTimeBreakFromTime; workingHour.MealTimeBreakToTime = dto.MealTimeBreakToTime; workingHour.Break1FromTime = dto.Break1FromTime; workingHour.Break1ToTime = dto.Break1ToTime; workingHour.Break2FromTime = dto.Break2FromTime; workingHour.Break2ToTime = dto.Break2ToTime; workingHour.Break3FromTime = dto.Break3FromTime; workingHour.Break3ToTime = dto.Break3ToTime; _workingHourRepository.Update(workingHour); return(new CustomResult { IsValid = true }); } else { try { throw new LogicalException(); } catch (LogicalException ex) { _logger.LogLogicalError (ex, "WorkingHour entity with the id: '{0}', is not available." + " update operation failed.", dto.Id); throw; } } }
public IHttpActionResult Update([FromBody] UpdateWorkingHourDto workingHour) { if (workingHour == null) { return(BadRequest()); } //custom validations var validator = new UpdateWorkingHourDtoValidator(); var results = validator.Validate(workingHour); if (!results.IsValid) { foreach (var failure in results.Errors) { ModelState.AddModelError(failure.PropertyName, failure.ErrorMessage); } } if (!ModelState.IsValid) { string errorMessage = new ModelStateError(_logger).OutputMessage(ModelState); return(BadRequest(errorMessage)); } try { var result = _workingHourService.Update(workingHour); if (!result.IsValid) { return(BadRequest(result.Message)); } return(Ok()); } catch (LogicalException ex) { return(BadRequest(ex.Message)); } catch { return(BadRequest(AppSettings.INTERNAL_SERVER_ERROR_MESSAGE)); } }