Ejemplo n.º 1
0
        public async Task <ActionResult <int> > Count([FromBody] CustomerFeedback_CustomerFeedbackFilterDTO CustomerFeedback_CustomerFeedbackFilterDTO)
        {
            if (UnAuthorization)
            {
                return(Forbid());
            }
            if (!ModelState.IsValid)
            {
                throw new BindException(ModelState);
            }

            CustomerFeedbackFilter CustomerFeedbackFilter = ConvertFilterDTOToFilterEntity(CustomerFeedback_CustomerFeedbackFilterDTO);

            CustomerFeedbackFilter = await CustomerFeedbackService.ToFilter(CustomerFeedbackFilter);

            int count = await CustomerFeedbackService.Count(CustomerFeedbackFilter);

            return(count);
        }
Ejemplo n.º 2
0
        private CustomerFeedbackFilter ConvertFilterDTOToFilterEntity(CustomerFeedback_CustomerFeedbackFilterDTO CustomerFeedback_CustomerFeedbackFilterDTO)
        {
            CustomerFeedbackFilter CustomerFeedbackFilter = new CustomerFeedbackFilter();

            CustomerFeedbackFilter.Selects   = CustomerFeedbackSelect.ALL;
            CustomerFeedbackFilter.Skip      = CustomerFeedback_CustomerFeedbackFilterDTO.Skip;
            CustomerFeedbackFilter.Take      = CustomerFeedback_CustomerFeedbackFilterDTO.Take;
            CustomerFeedbackFilter.OrderBy   = CustomerFeedback_CustomerFeedbackFilterDTO.OrderBy;
            CustomerFeedbackFilter.OrderType = CustomerFeedback_CustomerFeedbackFilterDTO.OrderType;

            CustomerFeedbackFilter.Id                     = CustomerFeedback_CustomerFeedbackFilterDTO.Id;
            CustomerFeedbackFilter.CustomerId             = CustomerFeedback_CustomerFeedbackFilterDTO.CustomerId;
            CustomerFeedbackFilter.FullName               = CustomerFeedback_CustomerFeedbackFilterDTO.FullName;
            CustomerFeedbackFilter.Email                  = CustomerFeedback_CustomerFeedbackFilterDTO.Email;
            CustomerFeedbackFilter.PhoneNumber            = CustomerFeedback_CustomerFeedbackFilterDTO.PhoneNumber;
            CustomerFeedbackFilter.CustomerFeedbackTypeId = CustomerFeedback_CustomerFeedbackFilterDTO.CustomerFeedbackTypeId;
            CustomerFeedbackFilter.Title                  = CustomerFeedback_CustomerFeedbackFilterDTO.Title;
            CustomerFeedbackFilter.SendDate               = CustomerFeedback_CustomerFeedbackFilterDTO.SendDate;
            CustomerFeedbackFilter.Content                = CustomerFeedback_CustomerFeedbackFilterDTO.Content;
            CustomerFeedbackFilter.StatusId               = CustomerFeedback_CustomerFeedbackFilterDTO.StatusId;
            CustomerFeedbackFilter.CreatedAt              = CustomerFeedback_CustomerFeedbackFilterDTO.CreatedAt;
            CustomerFeedbackFilter.UpdatedAt              = CustomerFeedback_CustomerFeedbackFilterDTO.UpdatedAt;
            return(CustomerFeedbackFilter);
        }
Ejemplo n.º 3
0
        public async Task <ActionResult> ExportTemplate([FromBody] CustomerFeedback_CustomerFeedbackFilterDTO CustomerFeedback_CustomerFeedbackFilterDTO)
        {
            if (UnAuthorization)
            {
                return(Forbid());
            }
            if (!ModelState.IsValid)
            {
                throw new BindException(ModelState);
            }

            string path = "Templates/CustomerFeedback_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", "CustomerFeedback.xlsx"));
        }
Ejemplo n.º 4
0
        public async Task <ActionResult <List <CustomerFeedback_CustomerFeedbackDTO> > > List([FromBody] CustomerFeedback_CustomerFeedbackFilterDTO CustomerFeedback_CustomerFeedbackFilterDTO)
        {
            if (UnAuthorization)
            {
                return(Forbid());
            }
            if (!ModelState.IsValid)
            {
                throw new BindException(ModelState);
            }

            CustomerFeedbackFilter CustomerFeedbackFilter = ConvertFilterDTOToFilterEntity(CustomerFeedback_CustomerFeedbackFilterDTO);

            CustomerFeedbackFilter = await CustomerFeedbackService.ToFilter(CustomerFeedbackFilter);

            List <CustomerFeedback> CustomerFeedbacks = await CustomerFeedbackService.List(CustomerFeedbackFilter);

            List <CustomerFeedback_CustomerFeedbackDTO> CustomerFeedback_CustomerFeedbackDTOs = CustomerFeedbacks
                                                                                                .Select(c => new CustomerFeedback_CustomerFeedbackDTO(c)).ToList();

            return(CustomerFeedback_CustomerFeedbackDTOs);
        }
Ejemplo n.º 5
0
        public async Task <ActionResult> Export([FromBody] CustomerFeedback_CustomerFeedbackFilterDTO CustomerFeedback_CustomerFeedbackFilterDTO)
        {
            if (UnAuthorization)
            {
                return(Forbid());
            }
            if (!ModelState.IsValid)
            {
                throw new BindException(ModelState);
            }

            MemoryStream memoryStream = new MemoryStream();

            using (ExcelPackage excel = new ExcelPackage(memoryStream))
            {
                #region CustomerFeedback
                var CustomerFeedbackFilter = ConvertFilterDTOToFilterEntity(CustomerFeedback_CustomerFeedbackFilterDTO);
                CustomerFeedbackFilter.Skip = 0;
                CustomerFeedbackFilter.Take = int.MaxValue;
                CustomerFeedbackFilter      = await CustomerFeedbackService.ToFilter(CustomerFeedbackFilter);

                List <CustomerFeedback> CustomerFeedbacks = await CustomerFeedbackService.List(CustomerFeedbackFilter);

                var CustomerFeedbackHeaders = new List <string[]>()
                {
                    new string[] {
                        "Id",
                        "IsSystemCustomer",
                        "CustomerId",
                        "FullName",
                        "Email",
                        "PhoneNumber",
                        "CustomerFeedbackTypeId",
                        "Title",
                        "SendDate",
                        "Content",
                        "StatusId",
                    }
                };
                List <object[]> CustomerFeedbackData = new List <object[]>();
                for (int i = 0; i < CustomerFeedbacks.Count; i++)
                {
                    var CustomerFeedback = CustomerFeedbacks[i];
                    CustomerFeedbackData.Add(new Object[]
                    {
                        CustomerFeedback.Id,
                        CustomerFeedback.IsSystemCustomer,
                        CustomerFeedback.CustomerId,
                        CustomerFeedback.FullName,
                        CustomerFeedback.Email,
                        CustomerFeedback.PhoneNumber,
                        CustomerFeedback.CustomerFeedbackTypeId,
                        CustomerFeedback.Title,
                        CustomerFeedback.SendDate,
                        CustomerFeedback.Content,
                        CustomerFeedback.StatusId,
                    });
                }
                excel.GenerateWorksheet("CustomerFeedback", CustomerFeedbackHeaders, CustomerFeedbackData);
                #endregion

                #region Customer
                var CustomerFilter = new CustomerFilter();
                CustomerFilter.Selects   = CustomerSelect.ALL;
                CustomerFilter.OrderBy   = CustomerOrder.Id;
                CustomerFilter.OrderType = OrderType.ASC;
                CustomerFilter.Skip      = 0;
                CustomerFilter.Take      = int.MaxValue;
                List <Customer> Customers = await CustomerService.List(CustomerFilter);

                var CustomerHeaders = new List <string[]>()
                {
                    new string[] {
                        "Id",
                        "Code",
                        "Name",
                        "Phone",
                        "Address",
                        "NationId",
                        "ProvinceId",
                        "DistrictId",
                        "WardId",
                        "CustomerTypeId",
                        "Birthday",
                        "Email",
                        "ProfessionId",
                        "CustomerResourceId",
                        "SexId",
                        "StatusId",
                        "CompanyId",
                        "ParentCompanyId",
                        "TaxCode",
                        "Fax",
                        "Website",
                        "NumberOfEmployee",
                        "BusinessTypeId",
                        "Investment",
                        "RevenueAnnual",
                        "IsSupplier",
                        "Descreption",
                        "Used",
                        "RowId",
                    }
                };
                List <object[]> CustomerData = new List <object[]>();
                for (int i = 0; i < Customers.Count; i++)
                {
                    var Customer = Customers[i];
                    CustomerData.Add(new Object[]
                    {
                        Customer.Id,
                        Customer.Code,
                        Customer.Name,
                        Customer.Phone,
                        Customer.Address,
                        Customer.NationId,
                        Customer.ProvinceId,
                        Customer.DistrictId,
                        Customer.WardId,
                        Customer.CustomerTypeId,
                        Customer.Birthday,
                        Customer.Email,
                        Customer.ProfessionId,
                        Customer.CustomerResourceId,
                        Customer.SexId,
                        Customer.StatusId,
                        Customer.CompanyId,
                        Customer.ParentCompanyId,
                        Customer.TaxCode,
                        Customer.Fax,
                        Customer.Website,
                        Customer.NumberOfEmployee,
                        Customer.BusinessTypeId,
                        Customer.Investment,
                        Customer.RevenueAnnual,
                        Customer.IsSupplier,
                        Customer.Descreption,
                        Customer.Used,
                        Customer.RowId,
                    });
                }
                excel.GenerateWorksheet("Customer", CustomerHeaders, CustomerData);
                #endregion
                #region CustomerFeedbackType
                var CustomerFeedbackTypeFilter = new CustomerFeedbackTypeFilter();
                CustomerFeedbackTypeFilter.Selects   = CustomerFeedbackTypeSelect.ALL;
                CustomerFeedbackTypeFilter.OrderBy   = CustomerFeedbackTypeOrder.Id;
                CustomerFeedbackTypeFilter.OrderType = OrderType.ASC;
                CustomerFeedbackTypeFilter.Skip      = 0;
                CustomerFeedbackTypeFilter.Take      = int.MaxValue;
                List <CustomerFeedbackType> CustomerFeedbackTypes = await CustomerFeedbackTypeService.List(CustomerFeedbackTypeFilter);

                var CustomerFeedbackTypeHeaders = new List <string[]>()
                {
                    new string[] {
                        "Id",
                        "Code",
                        "Name",
                    }
                };
                List <object[]> CustomerFeedbackTypeData = new List <object[]>();
                for (int i = 0; i < CustomerFeedbackTypes.Count; i++)
                {
                    var CustomerFeedbackType = CustomerFeedbackTypes[i];
                    CustomerFeedbackTypeData.Add(new Object[]
                    {
                        CustomerFeedbackType.Id,
                        CustomerFeedbackType.Code,
                        CustomerFeedbackType.Name,
                    });
                }
                excel.GenerateWorksheet("CustomerFeedbackType", CustomerFeedbackTypeHeaders, CustomerFeedbackTypeData);
                #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", "CustomerFeedback.xlsx"));
        }