public async Task <ActionResult <int> > Count([FromBody] TicketReport_TicketReportFilterDTO TicketReport_TicketReportFilterDTO) { if (!ModelState.IsValid) { throw new BindException(ModelState); } TicketFilter TicketFilter = ConvertFilterDTOToFilterEntity(TicketReport_TicketReportFilterDTO); return(await TicketService.Count(TicketFilter)); }
public async Task <ActionResult> Export([FromBody] TicketReport_TicketReportFilterDTO TicketReport_TicketReportFilterDTO) { if (!ModelState.IsValid) { throw new BindException(ModelState); } //Lấy danh sách Tickets TicketFilter TicketFilter = ConvertFilterDTOToFilterEntity(TicketReport_TicketReportFilterDTO); var Tickets = await TicketService.List(TicketFilter); List <TicketReport_TicketDTO> TicketDTOs = Tickets.Select(p => new TicketReport_TicketDTO(p)).ToList(); TicketReport_TicketReportDTO TicketReport_TicketReportDTO = new TicketReport_TicketReportDTO(); var STT = 1; foreach (var item in TicketDTOs) { item.STT = STT; STT++; } TicketReport_TicketReportDTO.Tickets = TicketDTOs; var maxDate = TicketDTOs.Max(p => p.CreatedAt); var minDate = TicketDTOs.Min(p => p.CreatedAt); DateTime Start = TicketReport_TicketReportFilterDTO.CreatedAt?.GreaterEqual == null ? minDate : TicketReport_TicketReportFilterDTO.CreatedAt.GreaterEqual.Value; DateTime End = TicketReport_TicketReportFilterDTO.CreatedAt?.LessEqual == null ? maxDate : TicketReport_TicketReportFilterDTO.CreatedAt.LessEqual.Value; string path = "Templates/TicketReport.xlsx"; byte[] arr = System.IO.File.ReadAllBytes(path); MemoryStream input = new MemoryStream(arr); MemoryStream output = new MemoryStream(); dynamic Data = new ExpandoObject(); Data.Start = Start.AddHours(CurrentContext.TimeZone).ToString("dd-MM-yyyy"); Data.End = End.AddHours(CurrentContext.TimeZone).ToString("dd-MM-yyyy"); Data.Tickets = TicketReport_TicketReportDTO.Tickets; using (var document = StaticParams.DocumentFactory.Open(input, output, "xlsx")) { document.Process(Data); }; return(File(output.ToArray(), "application/octet-stream", "BaoCaoTicket.xlsx")); }
public async Task <ActionResult <TicketReport_TicketReportDTO> > List([FromBody] TicketReport_TicketReportFilterDTO TicketReport_TicketReportFilterDTO) { if (!ModelState.IsValid) { throw new BindException(ModelState); } TicketFilter TicketFilter = ConvertFilterDTOToFilterEntity(TicketReport_TicketReportFilterDTO); //Lấy danh sách Tickets var Tickets = await TicketService.List(TicketFilter); List <TicketReport_TicketDTO> TicketDTOs = Tickets.Select(p => new TicketReport_TicketDTO(p)).ToList(); TicketReport_TicketReportDTO TicketReport_TicketReportDTO = new TicketReport_TicketReportDTO(); TicketReport_TicketReportDTO.Tickets = TicketDTOs; return(TicketReport_TicketReportDTO); }
private TicketFilter ConvertFilterDTOToFilterEntity(TicketReport_TicketReportFilterDTO TicketReport_TicketReportFilterDTO) { TicketFilter TicketFilter = new TicketFilter(); TicketFilter.Selects = TicketSelect.ALL; TicketFilter.Skip = TicketReport_TicketReportFilterDTO.Skip; TicketFilter.Take = TicketReport_TicketReportFilterDTO.Take; TicketFilter.OrderType = TicketReport_TicketReportFilterDTO.OrderType; TicketFilter.TicketNumber = TicketReport_TicketReportFilterDTO.TicketNumber; TicketFilter.TicketTypeId = TicketReport_TicketReportFilterDTO.TicketTypeId; TicketFilter.TicketGroupId = TicketReport_TicketReportFilterDTO.TicketGroupId; TicketFilter.TicketStatusId = TicketReport_TicketReportFilterDTO.TicketStatusId; TicketFilter.SLAStatusId = TicketReport_TicketReportFilterDTO.SLAStatusId; TicketFilter.TicketPriorityId = TicketReport_TicketReportFilterDTO.TicketPriorityId; TicketFilter.CustomerTypeId = TicketReport_TicketReportFilterDTO.CustomerTypeId; TicketFilter.CustomerId = TicketReport_TicketReportFilterDTO.CustomerId; TicketFilter.UserId = TicketReport_TicketReportFilterDTO.UserId; TicketFilter.CreatedAt = TicketReport_TicketReportFilterDTO.CreatedAt; return(TicketFilter); }