public async Task <ScheduleForViewDto> AddSchedule(DataForScheduleDto dataFromClient) { var eventFromDb = await _context.Events.Include(e => e.Rounds) .FirstOrDefaultAsync(e => e.Id == dataFromClient.EventId); if (eventFromDb == null) { throw new DataInvalidException("Invalid event ID"); } var newRound = _mapper.Map <Schedule>(dataFromClient); eventFromDb.Rounds.Add(newRound); eventFromDb.NumberOfRounds += 1; if (dataFromClient.RoundId == 0) { eventFromDb.Day = dataFromClient.Day; eventFromDb.Datetime = dataFromClient.Datetime; } await _context.Rounds.AddAsync(newRound); await _context.SaveChangesAsync(); return(_mapper.Map <ScheduleForViewDto>(newRound)); }
public async Task <ScheduleForViewDto> UpdateSchedule(DataForScheduleDto dataFromClient) { var eventFromSchedule = await _context.Rounds.FirstOrDefaultAsync(e => e.EventId == dataFromClient.EventId && e.RoundId == dataFromClient.RoundId); eventFromSchedule.Day = dataFromClient.Day; eventFromSchedule.Datetime = dataFromClient.Datetime; if (dataFromClient.RoundId == 0) { var scheduledEvent = await _context.Events.FirstOrDefaultAsync(e => e.Id == dataFromClient.EventId); scheduledEvent.Day = dataFromClient.Day; scheduledEvent.Datetime = dataFromClient.Datetime; } await _context.SaveChangesAsync(); return(_mapper.Map <ScheduleForViewDto>(eventFromSchedule)); }
public async Task <ActionResult <ScheduleForViewDto> > UpdateSchedule(DataForScheduleDto dataFromClient) { return(Ok(await _repo.UpdateSchedule(dataFromClient))); }
public async Task <ActionResult <ScheduleForViewDto> > AddSchedule(DataForScheduleDto data) { return(Ok(await _repo.AddSchedule(data))); }