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); }
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); }
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")); }
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); }
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")); }