Beispiel #1
0
        public GetArtistResponse GetArtists(int id)
        {
            var artistExists = _context.Artists.Any(x => x.IdArtist.Equals(id));

            if (!artistExists)
            {
                throw new ArtistNotFoundException();
            }

            var artist = _context.Artists
                         .Single(x => x.IdArtist.Equals(id));

            var artistEvents = _context.Artist_Events
                               .Where(x => x.IdArtist.Equals(id))
                               .OrderByDescending(x => x.PerfomanceDate)
                               .ToList();

            var events = new List <Event>();

            foreach (var artistEvent in artistEvents)
            {
                events.Add(_context.Events.Single(x => x.IdEvent.Equals(artistEvent.IdEvent)));
            }

            var result = new GetArtistResponse
            {
                Artist = artist,
                Events = events
            };

            return(result);
        }
Beispiel #2
0
        public GetArtistResponse GetArtist(int id)
        {
            var artist = _context.Artists.Include(e => e.ArtistEvents)
                         .SingleOrDefault(e => e.IdArtist == id);

            if (artist == null)
            {
                throw new ArtistDoesNotExistsException($"Artist with an id {id} does not exists");
            }

            var events = artist.ArtistEvents.Join(_context.Events, artist_event => artist_event.IdEvent,
                                                  e => e.IdEvent,
                                                  (artistEvent, e) => new
            {
                e.IdEvent,
                e.Name,
                e.StartDate,
            });

            GetArtistResponse getArtistResponse = new GetArtistResponse()
            {
                IdArtist = artist.IdArtist,
                Nickname = artist.Nickname,
                Events   = events
            };

            return(getArtistResponse);
        }
        public GetArtistResponse GetArtist(GetArtistRequest request)
        {
            var response = new GetArtistResponse();

            var artist = _artistRepository.FindBy(request.Id);

            response.Artist = artist.ConvertToArtistView();

            return(response);
        }
Beispiel #4
0
        public IActionResult getArtist(int id)
        {
            var artist = _context.Artist.SingleOrDefault(e => e.IdArtist == id);

            if (artist == null)
            {
                return(NotFound("Brak artysty o podanym ID"));
            }

            var response = new GetArtistResponse();

            response.IdArtist = artist.IdArtist;
            response.Nickname = artist.Nickname;

            response.Events = new List <GetEventResponse>();

            var artist_event = _context.Artist_Event.Where(e => e.IdArtist == id);

            if (artist_event.Count() > 0)
            {
                var artist_eventList = artist_event.ToList();
                for (int i = 0; i < artist_eventList.Count(); i++)
                {
                    var ae = artist_eventList[i];

                    var ev = _context.Event.Where(e => e.IdEvent == ae.IdEvent)
                             .SingleOrDefault();

                    if (ev != null)
                    {
                        var evRes = new GetEventResponse();

                        evRes.IdEvent   = ev.IdEvent;
                        evRes.Name      = ev.Name;
                        evRes.StartDate = ev.StartDate;
                        evRes.EndDate   = ev.EndDate;

                        response.Events.Add(evRes);
                    }
                }
            }

            response.Events.OrderBy(e => e.StartDate);

            return(Ok(response));
        }
Beispiel #5
0
        public GetArtistResponse GetArtist(int id)
        {
            var artist = _context.Artists.Where(a => a.IdArtist == id).FirstOrDefault();

            if (artist == null)
            {
                throw new Exception("nie znaleziono artysty o takim id");
            }

            GetArtistResponse response = new GetArtistResponse();

            response.IdArtist = id;
            response.Nickname = artist.Nickname;

            var events = (from ae in _context.Artists_Events
                          join a in _context.Artists on ae.IdArtist equals a.IdArtist
                          join e in _context.Events on ae.IdEvent equals e.IdEvent
                          join eo in _context.Events_Organisers on e.IdEvent equals eo.IdEvent
                          join o in _context.Organisers on eo.IdOrganiser equals o.IdOrganiser
                          where a.IdArtist == id
                          orderby e.StartDate descending
                          select new EventResponse
            {
                IdEvent = e.IdEvent,
                Name = e.Name,
                OrganiserName = o.Name,
                StartDate = e.StartDate,
                EndDate = e.EndDate
            }).ToList();


            response.Events = events;


            return(response);
        }