public IActionResult UpdateArtistsPerformanceDate(int IdArtist, int IdEvent, UpdateDateRequest request) { try { _service.UpdateArtistsPerformanceDate(IdArtist, IdEvent, request); return(Ok()); } catch (ArtistDoesNotExistException e) { return(NotFound(e.Message)); } catch (EventDoesNotExistException e) { return(NotFound(e.Message)); } catch (ArtistDoesntPerformOnEventException e) { return(NotFound(e.Message)); } catch (EventAlreadyStartedException e) { return(NotFound(e.Message)); } catch (PerformanceDateOutsideEventTimeException e) { return(NotFound(e.Message)); } }
public void UpdateArtistsPerformanceDate(int idArtist, int idEvent, UpdateDateRequest request) { var artist = _context.Artist .SingleOrDefault(e => e.IdArtist == idArtist); if (artist == null) { throw new ArtistDoesNotExistException($"Artist with id = {idArtist} does not exist!"); } var eventt = _context.Event .SingleOrDefault(e => e.IdEvent == idEvent); if (eventt == null) { throw new EventDoesNotExistException($"Event with id = {idEvent} does not exist!"); } var artistEvent = _context.ArtistEvent .SingleOrDefault(ae => ae.IdArtist == idArtist && ae.IdEvent == idEvent); if (artistEvent == null) { throw new ArtistDoesntPerformOnEventException( $"Artist with id = {idArtist} doesn't perform on event with id = {idEvent}!"); } if (eventt.StartDate <= DateTime.Now) { throw new EventAlreadyStartedException($"Event with id = {idEvent} has already started!"); } if (request.PerformanceDate < eventt.StartDate && request.PerformanceDate > eventt.EndDate) { throw new PerformanceDateOutsideEventTimeException("Performance is not being organised in event's timeframe!"); } artistEvent.PerformanceDate = request.PerformanceDate; _context.ArtistEvent.Update(artistEvent); _context.SaveChanges(); }