예제 #1
0
        public async Task <ActionResult <PaginatedItems <TicketListResponse> > > GetListTicketByCustomerId(string nroDni, string nroTicketTitle, int?serviceTypeId, int?ticketStatusId, DateTime?startDate, DateTime?endDate, [FromQuery] int pageSize = 10, [FromQuery] int pageIndex = 0)
        {
            var user = await _customerUserRepository.GetCustomerUserByDni(nroDni);

            if (user == null)
            {
                return(StatusCode(StatusCodes.Status400BadRequest));
            }

            TicketsEmployeeSearch search = new TicketsEmployeeSearch {
                CustomerId     = user?.CustomerId,
                SearchContent  = nroTicketTitle ?? string.Empty,
                StartDate      = startDate ?? null,
                EndtDate       = endDate ?? null,
                ServiceTypeId  = serviceTypeId ?? -1,
                TicketStatusId = ticketStatusId ?? -1
            };
            var response = await _ticketRepository.GetListTicketByCustomerId(search);

            var totalItems = response.Count();

            var itemsOnPage = response
                              .Skip(pageSize * pageIndex)
                              .Take(pageSize)
                              .ToList();

            return(new PaginatedItems <TicketListResponse>(pageIndex, pageSize, totalItems, itemsOnPage));
        }
예제 #2
0
        public async Task <IEnumerable <TicketListResponse> > GetListTicketByCustomerId(TicketsEmployeeSearch search)
        {
            var response = await _OTRSContext.SpListTicketsByUser.FromSqlInterpolated(
                $"CALL sp_list_tickets_by_user({search.SearchContent},{search.StartDate},{search.EndtDate},{search.ServiceTypeId},{search.TicketStatusId},{search.CustomerId});"
                ).ToListAsync();

            var result = (from tk in response
                          select new TicketListResponse {
                Id = tk.Id,
                TicketNumber = tk.Tn,
                ServiceTypeId = tk.IdTipoSolicitud,
                ServiceType = tk.TipoSolicitud,
                Title = tk.Solicitud,
                CreateTime = tk.FechaSolicitud,
                StatusId = tk.IdEstado,
                Status = tk.Estado
            }).ToList();

            return(result);
        }