示例#1
0
        public async Task <ActionResult <int> > Count([FromBody] CustomerGrouping_CustomerGroupingFilterDTO CustomerGrouping_CustomerGroupingFilterDTO)
        {
            if (UnAuthorization)
            {
                return(Forbid());
            }
            if (!ModelState.IsValid)
            {
                throw new BindException(ModelState);
            }

            CustomerGroupingFilter CustomerGroupingFilter = ConvertFilterDTOToFilterEntity(CustomerGrouping_CustomerGroupingFilterDTO);

            CustomerGroupingFilter = await CustomerGroupingService.ToFilter(CustomerGroupingFilter);

            int count = await CustomerGroupingService.Count(CustomerGroupingFilter);

            return(count);
        }
示例#2
0
        private CustomerGroupingFilter ConvertFilterDTOToFilterEntity(CustomerGrouping_CustomerGroupingFilterDTO CustomerGrouping_CustomerGroupingFilterDTO)
        {
            CustomerGroupingFilter CustomerGroupingFilter = new CustomerGroupingFilter();

            CustomerGroupingFilter.Selects   = CustomerGroupingSelect.ALL;
            CustomerGroupingFilter.Skip      = 0;
            CustomerGroupingFilter.Take      = 99999;
            CustomerGroupingFilter.OrderBy   = CustomerGrouping_CustomerGroupingFilterDTO.OrderBy;
            CustomerGroupingFilter.OrderType = CustomerGrouping_CustomerGroupingFilterDTO.OrderType;

            CustomerGroupingFilter.Id             = CustomerGrouping_CustomerGroupingFilterDTO.Id;
            CustomerGroupingFilter.Code           = CustomerGrouping_CustomerGroupingFilterDTO.Code;
            CustomerGroupingFilter.Name           = CustomerGrouping_CustomerGroupingFilterDTO.Name;
            CustomerGroupingFilter.CustomerTypeId = CustomerGrouping_CustomerGroupingFilterDTO.CustomerTypeId;
            CustomerGroupingFilter.ParentId       = CustomerGrouping_CustomerGroupingFilterDTO.ParentId;
            CustomerGroupingFilter.Path           = CustomerGrouping_CustomerGroupingFilterDTO.Path;
            CustomerGroupingFilter.Level          = CustomerGrouping_CustomerGroupingFilterDTO.Level;
            CustomerGroupingFilter.StatusId       = CustomerGrouping_CustomerGroupingFilterDTO.StatusId;
            CustomerGroupingFilter.Description    = CustomerGrouping_CustomerGroupingFilterDTO.Description;
            CustomerGroupingFilter.CreatedAt      = CustomerGrouping_CustomerGroupingFilterDTO.CreatedAt;
            CustomerGroupingFilter.UpdatedAt      = CustomerGrouping_CustomerGroupingFilterDTO.UpdatedAt;
            return(CustomerGroupingFilter);
        }
示例#3
0
        public async Task <ActionResult> ExportTemplate([FromBody] CustomerGrouping_CustomerGroupingFilterDTO CustomerGrouping_CustomerGroupingFilterDTO)
        {
            if (UnAuthorization)
            {
                return(Forbid());
            }
            if (!ModelState.IsValid)
            {
                throw new BindException(ModelState);
            }

            string path = "Templates/CustomerGrouping_Template.xlsx";

            byte[]       arr    = System.IO.File.ReadAllBytes(path);
            MemoryStream input  = new MemoryStream(arr);
            MemoryStream output = new MemoryStream();
            dynamic      Data   = new ExpandoObject();

            using (var document = StaticParams.DocumentFactory.Open(input, output, "xlsx"))
            {
                document.Process(Data);
            };
            return(File(output.ToArray(), "application/octet-stream", "CustomerGrouping.xlsx"));
        }
示例#4
0
        public async Task <ActionResult <List <CustomerGrouping_CustomerGroupingDTO> > > List([FromBody] CustomerGrouping_CustomerGroupingFilterDTO CustomerGrouping_CustomerGroupingFilterDTO)
        {
            if (UnAuthorization)
            {
                return(Forbid());
            }
            if (!ModelState.IsValid)
            {
                throw new BindException(ModelState);
            }

            CustomerGroupingFilter CustomerGroupingFilter = ConvertFilterDTOToFilterEntity(CustomerGrouping_CustomerGroupingFilterDTO);

            CustomerGroupingFilter = await CustomerGroupingService.ToFilter(CustomerGroupingFilter);

            List <CustomerGrouping> CustomerGroupings = await CustomerGroupingService.List(CustomerGroupingFilter);

            List <CustomerGrouping_CustomerGroupingDTO> CustomerGrouping_CustomerGroupingDTOs = CustomerGroupings
                                                                                                .Select(c => new CustomerGrouping_CustomerGroupingDTO(c)).ToList();

            return(CustomerGrouping_CustomerGroupingDTOs);
        }
示例#5
0
        public async Task <ActionResult> Export([FromBody] CustomerGrouping_CustomerGroupingFilterDTO CustomerGrouping_CustomerGroupingFilterDTO)
        {
            if (UnAuthorization)
            {
                return(Forbid());
            }
            if (!ModelState.IsValid)
            {
                throw new BindException(ModelState);
            }

            MemoryStream memoryStream = new MemoryStream();

            using (ExcelPackage excel = new ExcelPackage(memoryStream))
            {
                #region CustomerGrouping
                var CustomerGroupingFilter = ConvertFilterDTOToFilterEntity(CustomerGrouping_CustomerGroupingFilterDTO);
                CustomerGroupingFilter.Skip = 0;
                CustomerGroupingFilter.Take = int.MaxValue;
                CustomerGroupingFilter      = await CustomerGroupingService.ToFilter(CustomerGroupingFilter);

                List <CustomerGrouping> CustomerGroupings = await CustomerGroupingService.List(CustomerGroupingFilter);

                var CustomerGroupingHeaders = new List <string[]>()
                {
                    new string[] {
                        "Id",
                        "Code",
                        "Name",
                        "CustomerTypeId",
                        "ParentId",
                        "Path",
                        "Level",
                        "StatusId",
                        "Description",
                    }
                };
                List <object[]> CustomerGroupingData = new List <object[]>();
                for (int i = 0; i < CustomerGroupings.Count; i++)
                {
                    var CustomerGrouping = CustomerGroupings[i];
                    CustomerGroupingData.Add(new Object[]
                    {
                        CustomerGrouping.Id,
                        CustomerGrouping.Code,
                        CustomerGrouping.Name,
                        CustomerGrouping.CustomerTypeId,
                        CustomerGrouping.ParentId,
                        CustomerGrouping.Path,
                        CustomerGrouping.Level,
                        CustomerGrouping.StatusId,
                        CustomerGrouping.Description,
                    });
                }
                excel.GenerateWorksheet("CustomerGrouping", CustomerGroupingHeaders, CustomerGroupingData);
                #endregion

                #region CustomerType
                var CustomerTypeFilter = new CustomerTypeFilter();
                CustomerTypeFilter.Selects   = CustomerTypeSelect.ALL;
                CustomerTypeFilter.OrderBy   = CustomerTypeOrder.Id;
                CustomerTypeFilter.OrderType = OrderType.ASC;
                CustomerTypeFilter.Skip      = 0;
                CustomerTypeFilter.Take      = int.MaxValue;
                List <CustomerType> CustomerTypes = await CustomerTypeService.List(CustomerTypeFilter);

                var CustomerTypeHeaders = new List <string[]>()
                {
                    new string[] {
                        "Id",
                        "Code",
                        "Name",
                        "Description",
                        "StatusId",
                        "Used",
                        "RowId",
                    }
                };
                List <object[]> CustomerTypeData = new List <object[]>();
                for (int i = 0; i < CustomerTypes.Count; i++)
                {
                    var CustomerType = CustomerTypes[i];
                    CustomerTypeData.Add(new Object[]
                    {
                        CustomerType.Id,
                        CustomerType.Code,
                        CustomerType.Name,
                    });
                }
                excel.GenerateWorksheet("CustomerType", CustomerTypeHeaders, CustomerTypeData);
                #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", "CustomerGrouping.xlsx"));
        }
示例#6
0
        public async Task <ActionResult <List <CustomerGrouping_CustomerGroupingDTO> > > FilterListCustomerGroupinging([FromBody] CustomerGrouping_CustomerGroupingFilterDTO CustomerGrouping_CustomerGroupingFilterDTO)
        {
            if (UnAuthorization)
            {
                return(Forbid());
            }
            if (!ModelState.IsValid)
            {
                throw new BindException(ModelState);
            }

            CustomerGroupingFilter CustomerGroupingFilter = new CustomerGroupingFilter();

            CustomerGroupingFilter.Skip           = 0;
            CustomerGroupingFilter.Take           = int.MaxValue;
            CustomerGroupingFilter.OrderBy        = CustomerGroupingOrder.Id;
            CustomerGroupingFilter.OrderType      = OrderType.ASC;
            CustomerGroupingFilter.Selects        = CustomerGroupingSelect.ALL;
            CustomerGroupingFilter.Id             = CustomerGrouping_CustomerGroupingFilterDTO.Id;
            CustomerGroupingFilter.Code           = CustomerGrouping_CustomerGroupingFilterDTO.Code;
            CustomerGroupingFilter.Name           = CustomerGrouping_CustomerGroupingFilterDTO.Name;
            CustomerGroupingFilter.CustomerTypeId = CustomerGrouping_CustomerGroupingFilterDTO.CustomerTypeId;
            CustomerGroupingFilter.ParentId       = CustomerGrouping_CustomerGroupingFilterDTO.ParentId;
            CustomerGroupingFilter.Path           = CustomerGrouping_CustomerGroupingFilterDTO.Path;
            CustomerGroupingFilter.Level          = CustomerGrouping_CustomerGroupingFilterDTO.Level;
            CustomerGroupingFilter.StatusId       = CustomerGrouping_CustomerGroupingFilterDTO.StatusId;
            CustomerGroupingFilter.Description    = CustomerGrouping_CustomerGroupingFilterDTO.Description;

            List <CustomerGrouping> CustomerGroupings = await CustomerGroupingService.List(CustomerGroupingFilter);

            List <CustomerGrouping_CustomerGroupingDTO> CustomerGrouping_CustomerGroupingDTOs = CustomerGroupings
                                                                                                .Select(x => new CustomerGrouping_CustomerGroupingDTO(x)).ToList();

            return(CustomerGrouping_CustomerGroupingDTOs);
        }