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))); }
public static bool ValidateTimeForReserving(SessionForReservingDto sessionDto) { return(sessionDto.Date >= DateTime.Today && sessionDto.Date < DateTime.Today.Add(TimeSpan.FromDays(30))); }
/// <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)); }