public async Task <ActionResult> UpdateAppointmentInterval(Guid id, [FromBody] AppointmentIntervalModel appointmentInterval) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var instance = await _repository.GetByIdAsync(id); try { instance.Update(appointmentInterval.Day, appointmentInterval.StartHour, appointmentInterval.EndHour, appointmentInterval.DoctorId); var status = await _repository.UpdateAsync(instance); if (!status) { return(BadRequest(new ApiResponse { Status = false })); } return(Ok(new ApiResponse { Status = true, AppointmentInterval = instance })); } catch { return(BadRequest(new ApiResponse { Status = false })); } }
public async Task <ActionResult> CreateAppointmentInterval([FromBody] AppointmentIntervalModel appointmentInterval, [FromHeader(Name = "Authorization")] string value) { var token = new JwtSecurityTokenHandler().ReadJwtToken(value); var issuer = token.Claims.First(claim => claim.Type == "iss").Value; var audience = token.Claims.First(claim => claim.Type == "aud").Value; if (issuer != "MyIssuer" || audience != "MyAudience") { return(Unauthorized()); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var instance = AppointmentInterval.Create(appointmentInterval.Day, appointmentInterval.StartHour, appointmentInterval.EndHour, appointmentInterval.DoctorId); try { var newAppointmentInterval = await _repository.AddAsync(instance); if (newAppointmentInterval == null) { return(BadRequest(new ApiResponse { Status = false })); } return(CreatedAtRoute("GetAppointmentIntervalRoute", new { id = newAppointmentInterval.AppointmentIntervalId }, new ApiResponse { Status = true, AppointmentInterval = newAppointmentInterval })); } catch { return(BadRequest(new ApiResponse { Status = false })); } }