Пример #1
0
        public ControllerResponse <int> ReserveSession([FromBody] SessionForReservingDto sessionDto)
        {
            var userId = 0;

            if (User.Identity.IsAuthenticated)
            {
                userId = int.Parse(User.Claims.First(c => c.Type == ClaimTypes.NameIdentifier).Value);
            }
            if (!UserValidator.ValidateSessionToReserve(sessionDto, userId))
            {
                return(ControllerResponse <int> .Warning(
                           "Произошел сбой. Проверьте корректность введенных данных и повторите запрос"));
            }

            if (!UserValidator.ValidateTimeForReserving(sessionDto))
            {
                return(ControllerResponse <int> .Warning(
                           "Время для записи некорректно, выберете корректную дату для записи"));
            }

            return(ControllerResponse <int> .Ok(_userServices.ReserveSession(sessionDto.Date,
                                                                             TimeSpan.Parse(sessionDto.TimeOfBeginSession), sessionDto.DoctorId, userId)));
        }
Пример #2
0
 public static bool ValidateTimeForReserving(SessionForReservingDto sessionDto)
 {
     return(sessionDto.Date >= DateTime.Today && sessionDto.Date < DateTime.Today.Add(TimeSpan.FromDays(30)));
 }
Пример #3
0
 /// <summary>
 /// Техническая валидация данных для метода ReserveSession
 /// </summary>
 public static bool ValidateSessionToReserve(SessionForReservingDto sessionDto, int userId)
 {
     return(sessionDto.ValidationOnNull() && sessionDto.DoctorId.ValidationId() &&
            userId.ValidationId() &&
            sessionDto.Date != default && !string.IsNullOrWhiteSpace(sessionDto.TimeOfBeginSession));
 }