public void Update(UpdateRestrictedAccessTimeDto dto)
        {
            var restrictedAccessTime = _restrictedAccessTimeRepository.GetById(dto.Id);

            if (restrictedAccessTime != null)
            {
                restrictedAccessTime.Date     = dto.Date;
                restrictedAccessTime.FromTime = dto.FromTime;
                restrictedAccessTime.ToTime   = dto.ToTime;

                _restrictedAccessTimeRepository.Update(restrictedAccessTime);
            }
            else
            {
                try
                {
                    throw new LogicalException();
                }
                catch (LogicalException ex)
                {
                    _logger.LogLogicalError
                        (ex, "RestrictedAccessTime entity with the id: '{0}', is not available." +
                        " update operation failed.", dto.Id);
                    throw;
                }
            }
        }
        public IHttpActionResult Update([FromBody] UpdateRestrictedAccessTimeDto restrictedAccessTime)
        {
            if (restrictedAccessTime == null)
            {
                return(BadRequest());
            }
            //custom validations
            var validator = new UpdateRestrictedAccessTimeDtoValidator();
            var results   = validator.Validate(restrictedAccessTime);

            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
            {
                _restrictedAccessTimeService.Update(restrictedAccessTime);
            }
            catch (LogicalException ex)
            {
                return(BadRequest(ex.Message));
            }
            catch
            {
                return(BadRequest(AppSettings.INTERNAL_SERVER_ERROR_MESSAGE));
            }
            return(Ok());
        }