public async Task <IActionResult> GetTicketsForEventByPage(int eventId, TicketsResourceParameters ticketsResourceParameters)
        {
            RepositoryActionResult <IEnumerable <Ticket> > result = await _ticketService.GetTicketsFromEvent(eventId, ticketsResourceParameters);

            if (result.Status == RepositoryActionStatus.Error)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError));
            }

            if (result.Status == RepositoryActionStatus.NotFound)
            {
                return(StatusCode(StatusCodes.Status404NotFound));
            }

            var entities = Mapper.Map <IEnumerable <DTO.Tickets.Ticket> >(result.Entity);

            return(StatusCode(StatusCodes.Status200OK, entities));
        }
コード例 #2
0
        public async Task <RepositoryActionResult <IEnumerable <Ticket> > > GetTicketsFromEvent(TicketsResourceParameters ticketsResourceParameters, int eventId)
        {
            try
            {
                IEnumerable <Ticket> tickets = await _ctx.Tickets
                                               .Where(t => t.EventId == eventId)
                                               .Include(t => t.TicketCategory)
                                               .OrderBy(a => a.TicketId)
                                               .Skip(ticketsResourceParameters.PageSize
                                                     * (ticketsResourceParameters.PageNumber - 1))
                                               .Take(ticketsResourceParameters.PageSize)
                                               .ToListAsync();

                if (tickets == null)
                {
                    return(new RepositoryActionResult <IEnumerable <Ticket> >(tickets, RepositoryActionStatus.NotFound));
                }
                else
                {
                    return(new RepositoryActionResult <IEnumerable <Ticket> >(tickets, RepositoryActionStatus.Ok));
                }
            }
            catch (Exception ex)
            {
                return(new RepositoryActionResult <IEnumerable <Ticket> >(null, RepositoryActionStatus.Error, ex));
            }
        }
コード例 #3
0
 public async Task <RepositoryActionResult <IEnumerable <Ticket> > > GetTicketsFromEvent(int eventId, TicketsResourceParameters ticketsResourceParameters)
 {
     return(await _unitOfWork.Tickets.GetTicketsFromEvent(ticketsResourceParameters, eventId));
 }