public async Task <FileResult> ExportTemplate([FromBody] TicketSource_TicketSourceFilterDTO TicketSource_TicketSourceFilterDTO)
        {
            if (!ModelState.IsValid)
            {
                throw new BindException(ModelState);
            }

            MemoryStream memoryStream = new MemoryStream();

            using (ExcelPackage excel = new ExcelPackage(memoryStream))
            {
                #region TicketSource
                var TicketSourceHeaders = new List <string[]>()
                {
                    new string[] {
                        "Id",
                        "Name",
                        "OrderNumber",
                        "StatusId",
                        "Used",
                    }
                };
                List <object[]> TicketSourceData = new List <object[]>();
                excel.GenerateWorksheet("TicketSource", TicketSourceHeaders, TicketSourceData);
                #endregion

                #region Status
                var StatusFilter = new StatusFilter();
                StatusFilter.Selects   = StatusSelect.ALL;
                StatusFilter.OrderBy   = StatusOrder.Id;
                StatusFilter.OrderType = OrderType.ASC;
                StatusFilter.Skip      = 0;
                StatusFilter.Take      = int.MaxValue;
                List <Status> Statuses = await StatusService.List(StatusFilter);

                var StatusHeaders = new List <string[]>()
                {
                    new string[] {
                        "Id",
                        "Code",
                        "Name",
                    }
                };
                List <object[]> StatusData = new List <object[]>();
                for (int i = 0; i < Statuses.Count; i++)
                {
                    var Status = Statuses[i];
                    StatusData.Add(new Object[]
                    {
                        Status.Id,
                        Status.Code,
                        Status.Name,
                    });
                }
                excel.GenerateWorksheet("Status", StatusHeaders, StatusData);
                #endregion
                excel.Save();
            }
            return(File(memoryStream.ToArray(), "application/octet-stream", "TicketSource.xlsx"));
        }
        public async Task <ActionResult <int> > Count([FromBody] TicketSource_TicketSourceFilterDTO TicketSource_TicketSourceFilterDTO)
        {
            if (!ModelState.IsValid)
            {
                throw new BindException(ModelState);
            }

            TicketSourceFilter TicketSourceFilter = ConvertFilterDTOToFilterEntity(TicketSource_TicketSourceFilterDTO);

            TicketSourceFilter = TicketSourceService.ToFilter(TicketSourceFilter);
            int count = await TicketSourceService.Count(TicketSourceFilter);

            return(count);
        }
        private TicketSourceFilter ConvertFilterDTOToFilterEntity(TicketSource_TicketSourceFilterDTO TicketSource_TicketSourceFilterDTO)
        {
            TicketSourceFilter TicketSourceFilter = new TicketSourceFilter();

            TicketSourceFilter.Selects   = TicketSourceSelect.ALL;
            TicketSourceFilter.Skip      = TicketSource_TicketSourceFilterDTO.Skip;
            TicketSourceFilter.Take      = TicketSource_TicketSourceFilterDTO.Take;
            TicketSourceFilter.OrderBy   = TicketSource_TicketSourceFilterDTO.OrderBy;
            TicketSourceFilter.OrderType = TicketSource_TicketSourceFilterDTO.OrderType;

            TicketSourceFilter.Id          = TicketSource_TicketSourceFilterDTO.Id;
            TicketSourceFilter.Name        = TicketSource_TicketSourceFilterDTO.Name;
            TicketSourceFilter.OrderNumber = TicketSource_TicketSourceFilterDTO.OrderNumber;
            TicketSourceFilter.StatusId    = TicketSource_TicketSourceFilterDTO.StatusId;
            TicketSourceFilter.CreatedAt   = TicketSource_TicketSourceFilterDTO.CreatedAt;
            TicketSourceFilter.UpdatedAt   = TicketSource_TicketSourceFilterDTO.UpdatedAt;
            return(TicketSourceFilter);
        }
        public async Task <ActionResult <List <TicketSource_TicketSourceDTO> > > List([FromBody] TicketSource_TicketSourceFilterDTO TicketSource_TicketSourceFilterDTO)
        {
            if (!ModelState.IsValid)
            {
                throw new BindException(ModelState);
            }

            TicketSourceFilter TicketSourceFilter = ConvertFilterDTOToFilterEntity(TicketSource_TicketSourceFilterDTO);

            TicketSourceFilter = TicketSourceService.ToFilter(TicketSourceFilter);
            List <TicketSource> TicketSources = await TicketSourceService.List(TicketSourceFilter);

            List <TicketSource_TicketSourceDTO> TicketSource_TicketSourceDTOs = TicketSources
                                                                                .Select(c => new TicketSource_TicketSourceDTO(c)).ToList();

            return(TicketSource_TicketSourceDTOs);
        }