Example #1
0
        public async Task <IActionResult> PutSchedule([FromBody] Schedule schedule)
        {
            _logger.LogInformation("-> requested PUT /schedules");
            if (!ModelState.IsValid)
            {
                _logger.LogError("-> PUT / schedules model is not valid");
                _logger.LogInformation("-> PUT /schedules returned BadRequest");
                return(BadRequest(ModelState));
            }

            var context_schedule = _repo.FirstSchedule(schedule.ConcertId);

            if (context_schedule == null)
            {
                _logger.LogInformation("-> PUT /schedules returned NotFound");
                return(NotFound());
            }

            _repo.ChangeState(context_schedule, schedule, EntityState.Modified);

            try
            {
                await _repo.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!_repo.ScheduleExists(context_schedule.Id))
                {
                    _logger.LogInformation("-> PUT /schedules returned NotFound");
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }
            _logger.LogInformation("-> PUT /schedules returned NoContent");
            return(NoContent());
        }