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

            CustomerLevelFilter CustomerLevelFilter = ConvertFilterDTOToFilterEntity(CustomerLevel_CustomerLevelFilterDTO);

            CustomerLevelFilter = await CustomerLevelService.ToFilter(CustomerLevelFilter);

            int count = await CustomerLevelService.Count(CustomerLevelFilter);

            return(count);
        }
예제 #2
0
        private CustomerLevelFilter ConvertFilterDTOToFilterEntity(CustomerLevel_CustomerLevelFilterDTO CustomerLevel_CustomerLevelFilterDTO)
        {
            CustomerLevelFilter CustomerLevelFilter = new CustomerLevelFilter();

            CustomerLevelFilter.Selects   = CustomerLevelSelect.ALL;
            CustomerLevelFilter.Skip      = CustomerLevel_CustomerLevelFilterDTO.Skip;
            CustomerLevelFilter.Take      = CustomerLevel_CustomerLevelFilterDTO.Take;
            CustomerLevelFilter.OrderBy   = CustomerLevel_CustomerLevelFilterDTO.OrderBy;
            CustomerLevelFilter.OrderType = CustomerLevel_CustomerLevelFilterDTO.OrderType;

            CustomerLevelFilter.Id          = CustomerLevel_CustomerLevelFilterDTO.Id;
            CustomerLevelFilter.Code        = CustomerLevel_CustomerLevelFilterDTO.Code;
            CustomerLevelFilter.Name        = CustomerLevel_CustomerLevelFilterDTO.Name;
            CustomerLevelFilter.Color       = CustomerLevel_CustomerLevelFilterDTO.Color;
            CustomerLevelFilter.PointFrom   = CustomerLevel_CustomerLevelFilterDTO.PointFrom;
            CustomerLevelFilter.PointTo     = CustomerLevel_CustomerLevelFilterDTO.PointTo;
            CustomerLevelFilter.StatusId    = CustomerLevel_CustomerLevelFilterDTO.StatusId;
            CustomerLevelFilter.Description = CustomerLevel_CustomerLevelFilterDTO.Description;
            CustomerLevelFilter.RowId       = CustomerLevel_CustomerLevelFilterDTO.RowId;
            CustomerLevelFilter.CreatedAt   = CustomerLevel_CustomerLevelFilterDTO.CreatedAt;
            CustomerLevelFilter.UpdatedAt   = CustomerLevel_CustomerLevelFilterDTO.UpdatedAt;
            return(CustomerLevelFilter);
        }
예제 #3
0
        public async Task <ActionResult> ExportTemplate([FromBody] CustomerLevel_CustomerLevelFilterDTO CustomerLevel_CustomerLevelFilterDTO)
        {
            if (UnAuthorization)
            {
                return(Forbid());
            }
            if (!ModelState.IsValid)
            {
                throw new BindException(ModelState);
            }

            string path = "Templates/CustomerLevel_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", "CustomerLevel.xlsx"));
        }
예제 #4
0
        public async Task <ActionResult <List <CustomerLevel_CustomerLevelDTO> > > List([FromBody] CustomerLevel_CustomerLevelFilterDTO CustomerLevel_CustomerLevelFilterDTO)
        {
            if (UnAuthorization)
            {
                return(Forbid());
            }
            if (!ModelState.IsValid)
            {
                throw new BindException(ModelState);
            }

            CustomerLevelFilter CustomerLevelFilter = ConvertFilterDTOToFilterEntity(CustomerLevel_CustomerLevelFilterDTO);

            CustomerLevelFilter = await CustomerLevelService.ToFilter(CustomerLevelFilter);

            List <CustomerLevel> CustomerLevels = await CustomerLevelService.List(CustomerLevelFilter);

            List <CustomerLevel_CustomerLevelDTO> CustomerLevel_CustomerLevelDTOs = CustomerLevels
                                                                                    .Select(c => new CustomerLevel_CustomerLevelDTO(c)).ToList();

            return(CustomerLevel_CustomerLevelDTOs);
        }
예제 #5
0
        public async Task <ActionResult> Export([FromBody] CustomerLevel_CustomerLevelFilterDTO CustomerLevel_CustomerLevelFilterDTO)
        {
            if (UnAuthorization)
            {
                return(Forbid());
            }
            if (!ModelState.IsValid)
            {
                throw new BindException(ModelState);
            }

            MemoryStream memoryStream = new MemoryStream();

            using (ExcelPackage excel = new ExcelPackage(memoryStream))
            {
                #region CustomerLevel
                var CustomerLevelFilter = ConvertFilterDTOToFilterEntity(CustomerLevel_CustomerLevelFilterDTO);
                CustomerLevelFilter.Skip = 0;
                CustomerLevelFilter.Take = int.MaxValue;
                CustomerLevelFilter      = await CustomerLevelService.ToFilter(CustomerLevelFilter);

                List <CustomerLevel> CustomerLevels = await CustomerLevelService.List(CustomerLevelFilter);

                var CustomerLevelHeaders = new List <string[]>()
                {
                    new string[] {
                        "Id",
                        "Code",
                        "Name",
                        "Color",
                        "PointFrom",
                        "PointTo",
                        "StatusId",
                        "Description",
                        "Used",
                        "RowId",
                    }
                };
                List <object[]> CustomerLevelData = new List <object[]>();
                for (int i = 0; i < CustomerLevels.Count; i++)
                {
                    var CustomerLevel = CustomerLevels[i];
                    CustomerLevelData.Add(new Object[]
                    {
                        CustomerLevel.Id,
                        CustomerLevel.Code,
                        CustomerLevel.Name,
                        CustomerLevel.Color,
                        CustomerLevel.PointFrom,
                        CustomerLevel.PointTo,
                        CustomerLevel.StatusId,
                        CustomerLevel.Description,
                        CustomerLevel.Used,
                        CustomerLevel.RowId,
                    });
                }
                excel.GenerateWorksheet("CustomerLevel", CustomerLevelHeaders, CustomerLevelData);
                #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", "CustomerLevel.xlsx"));
        }