public async Task <TimeTableDto> Handle(UpdateTimeTableCommand request, CancellationToken cancellationToken) { var timeTableModel = _timeTableDxos.MapUpdateRequesttoTimeTable(request); _timeTableRepository.Update(timeTableModel); if (await _timeTableRepository.SaveChangesAsync() == 0) { throw new ApplicationException("Update in database failed"); } await _mediator.Publish(new TimeTableUpdatedEvent(timeTableModel.Id), cancellationToken); var timeTableDto = _timeTableDxos.MapTimeTableDto(timeTableModel); return(timeTableDto); }
public async Task <ActionResult <TimeTableDto> > PutTimeTable(int id, TimeTableDto timeTableDto) { try { var oldTimeTable = await _timeTableRepository.GetTimeTableById(id); if (oldTimeTable == null) { return(NotFound($"Could not find timetable with id {id}")); } var newTimeTable = _mapper.Map(timeTableDto, oldTimeTable); _timeTableRepository.Update(newTimeTable); if (await _timeTableRepository.Save()) { return(NoContent()); } } catch (Exception e) { return(this.StatusCode(StatusCodes.Status500InternalServerError, $"Database Failure: {e.Message}")); } return(BadRequest()); }
public void UpdateTimeTable(TimeTable timeTable) { _timeTableRepository.Update(timeTable); SaveTimeTable(); }