Exemple #1
0
        public ActionResult <PaginationResult <Ticket> > GetTickets(Guid eventId, [FromQuery] FopQuery query,
                                                                    bool?isDelivered, bool?validated,
                                                                    Guid?ticketTypeId, PaymentStatus?paymentStatus)
        {
            var tickets = _context.Tickets
                          .AsNoTracking()
                          .Include(t => t.TicketType)
                          .Where(e => e.EventId == eventId);

            if (isDelivered != null)
            {
                tickets = tickets.Where(e => e.IsDelivered == isDelivered.Value);
            }
            if (validated != null)
            {
                tickets = tickets.Where(e => e.Validated == validated.Value);
            }
            if (ticketTypeId != null)
            {
                tickets = tickets.Where(e => e.TicketTypeId == ticketTypeId.Value);
            }
            if (paymentStatus != null)
            {
                tickets = tickets.Where(e => e.PaymentStatus == paymentStatus);
            }

            tickets = tickets.OrderByDescending(x => x.CreatedAt);

            return(_mapper
                   .ProjectTo <Ticket>(tickets)
                   .ApplyQuery(query));
        }
Exemple #2
0
        public async Task <IActionResult> Index([FromQuery] FopQuery request)
        {
            var fopRequest = FopExpressionBuilder <Student> .Build(request.Filter, request.Order, request.PageNumber, request.PageSize);

            var(filteredStudents, totalCount) = await _studentRepository.RetrieveStudents(fopRequest);

            return(Ok(filteredStudents));
        }
Exemple #3
0
        public async Task <IActionResult> GetListProducts([FromQuery] FopQuery request)
        {
            try
            {
                var fopRequest = FopExpressionBuilder <ProductForList> .Build(request.Filter, request.Order, request.PageNumber, request.PageSize);

                var(productToReturn, totalCount) = await _productServices.GetListProduct(fopRequest);

                var response = new PagedResult <IEnumerable <ProductForList> >((productToReturn), totalCount, request.PageNumber, request.PageSize);;
                return(Ok(response));
            }
            catch (Exception ex)
            {
                return(new BadRequestObjectResult(new { Message = ex.Message.ToString() }));
            }
        }
Exemple #4
0
        public async Task <IActionResult> GetBlogsByCateId(int blogCategoryId, [FromQuery] FopQuery request)
        {
            try
            {
                var fopRequest = FopExpressionBuilder <Cl_BlogForList> .Build(request.Filter, request.Order, request.PageNumber, request.PageSize);

                var(blogsReturn, totalCount) = await _blogServices.GetBlogsByCateId(blogCategoryId, fopRequest);

                if (blogsReturn.Count() == 0)
                {
                    return(new BadRequestObjectResult(new { Message = "Tin tức hiện đang trống. Chúng tôi sẽ cập nhật trong thời gian sớm nhất" }));
                }
                var response = new PagedResult <IEnumerable <Cl_BlogForList> >((blogsReturn), totalCount, request.PageNumber, request.PageSize);;
                return(Ok(response));
            }
            catch (Exception ex)
            {
                return(new BadRequestObjectResult(new { Message = ex.Message.ToString() }));
            }
        }
Exemple #5
0
        public async Task <IActionResult> GetOrdersByUserId(string userId, [FromQuery] FopQuery request)
        {
            try
            {
                var fopRequest = FopExpressionBuilder <OrderForList> .Build(request.Filter, request.Order, request.PageNumber, request.PageSize);

                var(ordersToReturn, totalCount) = await _orderServices.GetOrdersByUserId(userId, fopRequest);

                if (ordersToReturn.Count() == 0)
                {
                    return(new BadRequestObjectResult(new { Message = "Không tìm thấy đơn hàng nào" }));
                }
                var response = new PagedResult <IEnumerable <OrderForList> >((ordersToReturn), totalCount, request.PageNumber, request.PageSize);;
                return(Ok(response));
            }
            catch (Exception ex)
            {
                return(new BadRequestObjectResult(new { Message = ex.Message.ToString() }));
            }
        }
        public async Task <IActionResult> GetBlogs(int blogCategoryId, [FromQuery] FopQuery request)
        {
            try
            {
                var fopRequest = FopExpressionBuilder <BlogForList> .Build(request.Filter, request.Order, request.PageNumber, request.PageSize);

                var(blogsByCateId, totalCount) = await _blogServices.GetBlogs(blogCategoryId, fopRequest);

                if (blogsByCateId == null)
                {
                    return(new BadRequestObjectResult(new { Message = "Không tìm tháy tin tức nào!" }));
                }
                var response = new PagedResult <IEnumerable <BlogForList> >((blogsByCateId), totalCount, request.PageNumber, request.PageSize);;
                return(Ok(response));
            }
            catch (Exception ex)
            {
                return(new BadRequestObjectResult(new { Message = ex.Message.ToString() }));
            }
        }