コード例 #1
0
        public IEnumerable <Ticket> GetTickets(TicketsRequestDto req)
        {
            Expression <Func <Ticket, bool> > predicate = c => true;

            if (!string.IsNullOrEmpty(req.ClientName))
            {
                predicate = predicate.And(p => p.Client.FirstName.Contains(req.ClientName) || p.Client.MiddleName.Contains(req.ClientName) || p.Client.LastName.Contains(req.ClientName) || p.Client.FirstNameAr.Contains(req.ClientName) || p.Client.MiddleNameAr.Contains(req.ClientName) || p.Client.LastNameAr.Contains(req.ClientName));
            }
            if (req.TicketType != null)
            {
                predicate = predicate.And(p => p.TicketTypeId == req.TicketType);
            }
            if (req.TicketStatus != null)
            {
                predicate = predicate.And(p => p.TicketStatusId == req.TicketStatus);
            }
            if (req.DateFrom != null && req.DateTo != null)
            {
                predicate = predicate.And(p => p.CreatedDate.Date >= req.DateFrom.Value.Date && p.CreatedDate.Date <= req.DateTo.Value.Date);
            }
            var data = this.GetMany(predicate).OrderByDescending(p => p.CreatedDate)
                       .Include("TicketStatus")
                       .Include("TicketType")
                       .Include("Client")
                       .Include("ApplicationUser")
            ;

            return(data);
        }
コード例 #2
0
        public IActionResult GetTicketsRequest([FromBody] TicketsRequestDto req)
        {
            var data = unitOfWork.Ticket.GetTickets(req);

            int pageSize   = req.PageSize ?? configuration.GetValue <int>("PagingOptions:PageSize");
            int pageNumber = req.PageNumber ?? configuration.GetValue <int>("PagingOptions:PageNumber");

            TicketsResponseDto response = new TicketsResponseDto()
            {
                Data            = mapper.Map <IEnumerable <Ticket>, IEnumerable <TicketsDto> >(PagingList.Create(data, pageSize, pageNumber)),
                TotalRecord     = data.Count(),
                IsSuccess       = true,
                StatusCode      = (int)HttpStatusCode.OK,
                ResponseMessage = "Request has been complited successfully"
            };

            if (data == null)
            {
                return(NotFound(new BaseResponse(false, 404, "Previous request data was not found")));
            }
            return(Ok(response));
        }