コード例 #1
0
        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
                }));
            }
        }
コード例 #2
0
        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
                }));
            }
        }