public async Task <CustomerFeedbackType> Get(long Id) { CustomerFeedbackType CustomerFeedbackType = await UOW.CustomerFeedbackTypeRepository.Get(Id); if (CustomerFeedbackType == null) { return(null); } return(CustomerFeedbackType); }
public Customer_CustomerFeedbackTypeDTO(CustomerFeedbackType CustomerFeedbackType) { this.Id = CustomerFeedbackType.Id; this.Code = CustomerFeedbackType.Code; this.Name = CustomerFeedbackType.Name; this.Errors = CustomerFeedbackType.Errors; }
public async Task <CustomerFeedbackType> Get(long Id) { CustomerFeedbackType CustomerFeedbackType = await DataContext.CustomerFeedbackType.AsNoTracking() .Where(x => x.Id == Id) .Select(x => new CustomerFeedbackType() { Id = x.Id, Code = x.Code, Name = x.Name, }).FirstOrDefaultAsync(); if (CustomerFeedbackType == null) { return(null); } return(CustomerFeedbackType); }
public async Task <ActionResult> Import(IFormFile file) { if (UnAuthorization) { return(Forbid()); } if (!ModelState.IsValid) { throw new BindException(ModelState); } CustomerFilter CustomerFilter = new CustomerFilter { Skip = 0, Take = int.MaxValue, Selects = CustomerSelect.ALL }; List <Customer> Customers = await CustomerService.List(CustomerFilter); CustomerFeedbackTypeFilter CustomerFeedbackTypeFilter = new CustomerFeedbackTypeFilter { Skip = 0, Take = int.MaxValue, Selects = CustomerFeedbackTypeSelect.ALL }; List <CustomerFeedbackType> CustomerFeedbackTypes = await CustomerFeedbackTypeService.List(CustomerFeedbackTypeFilter); StatusFilter StatusFilter = new StatusFilter { Skip = 0, Take = int.MaxValue, Selects = StatusSelect.ALL }; List <Status> Statuses = await StatusService.List(StatusFilter); List <CustomerFeedback> CustomerFeedbacks = new List <CustomerFeedback>(); using (ExcelPackage excelPackage = new ExcelPackage(file.OpenReadStream())) { ExcelWorksheet worksheet = excelPackage.Workbook.Worksheets.FirstOrDefault(); if (worksheet == null) { return(Ok(CustomerFeedbacks)); } int StartColumn = 1; int StartRow = 1; int IdColumn = 0 + StartColumn; int IsSystemCustomerColumn = 1 + StartColumn; int CustomerIdColumn = 2 + StartColumn; int FullNameColumn = 3 + StartColumn; int EmailColumn = 4 + StartColumn; int PhoneNumberColumn = 5 + StartColumn; int CustomerFeedbackTypeIdColumn = 6 + StartColumn; int TitleColumn = 7 + StartColumn; int SendDateColumn = 8 + StartColumn; int ContentColumn = 9 + StartColumn; int StatusIdColumn = 10 + StartColumn; for (int i = StartRow; i <= worksheet.Dimension.End.Row; i++) { if (string.IsNullOrEmpty(worksheet.Cells[i + StartRow, StartColumn].Value?.ToString())) { break; } string IdValue = worksheet.Cells[i + StartRow, IdColumn].Value?.ToString(); string IsSystemCustomerValue = worksheet.Cells[i + StartRow, IsSystemCustomerColumn].Value?.ToString(); string CustomerIdValue = worksheet.Cells[i + StartRow, CustomerIdColumn].Value?.ToString(); string FullNameValue = worksheet.Cells[i + StartRow, FullNameColumn].Value?.ToString(); string EmailValue = worksheet.Cells[i + StartRow, EmailColumn].Value?.ToString(); string PhoneNumberValue = worksheet.Cells[i + StartRow, PhoneNumberColumn].Value?.ToString(); string CustomerFeedbackTypeIdValue = worksheet.Cells[i + StartRow, CustomerFeedbackTypeIdColumn].Value?.ToString(); string TitleValue = worksheet.Cells[i + StartRow, TitleColumn].Value?.ToString(); string SendDateValue = worksheet.Cells[i + StartRow, SendDateColumn].Value?.ToString(); string ContentValue = worksheet.Cells[i + StartRow, ContentColumn].Value?.ToString(); string StatusIdValue = worksheet.Cells[i + StartRow, StatusIdColumn].Value?.ToString(); CustomerFeedback CustomerFeedback = new CustomerFeedback(); CustomerFeedback.FullName = FullNameValue; CustomerFeedback.Email = EmailValue; CustomerFeedback.PhoneNumber = PhoneNumberValue; CustomerFeedback.Title = TitleValue; CustomerFeedback.SendDate = DateTime.TryParse(SendDateValue, out DateTime SendDate) ? SendDate : DateTime.Now; CustomerFeedback.Content = ContentValue; Customer Customer = Customers.Where(x => x.Id.ToString() == CustomerIdValue).FirstOrDefault(); CustomerFeedback.CustomerId = Customer == null ? 0 : Customer.Id; CustomerFeedback.Customer = Customer; CustomerFeedbackType CustomerFeedbackType = CustomerFeedbackTypes.Where(x => x.Id.ToString() == CustomerFeedbackTypeIdValue).FirstOrDefault(); CustomerFeedback.CustomerFeedbackTypeId = CustomerFeedbackType == null ? 0 : CustomerFeedbackType.Id; CustomerFeedback.CustomerFeedbackType = CustomerFeedbackType; Status Status = Statuses.Where(x => x.Id.ToString() == StatusIdValue).FirstOrDefault(); CustomerFeedback.StatusId = Status == null ? 0 : Status.Id; CustomerFeedback.Status = Status; CustomerFeedbacks.Add(CustomerFeedback); } } CustomerFeedbacks = await CustomerFeedbackService.Import(CustomerFeedbacks); if (CustomerFeedbacks.All(x => x.IsValidated)) { return(Ok(true)); } else { List <string> Errors = new List <string>(); for (int i = 0; i < CustomerFeedbacks.Count; i++) { CustomerFeedback CustomerFeedback = CustomerFeedbacks[i]; if (!CustomerFeedback.IsValidated) { string Error = $"Dòng {i + 2} có lỗi:"; if (CustomerFeedback.Errors.ContainsKey(nameof(CustomerFeedback.Id))) { Error += CustomerFeedback.Errors[nameof(CustomerFeedback.Id)]; } if (CustomerFeedback.Errors.ContainsKey(nameof(CustomerFeedback.IsSystemCustomer))) { Error += CustomerFeedback.Errors[nameof(CustomerFeedback.IsSystemCustomer)]; } if (CustomerFeedback.Errors.ContainsKey(nameof(CustomerFeedback.CustomerId))) { Error += CustomerFeedback.Errors[nameof(CustomerFeedback.CustomerId)]; } if (CustomerFeedback.Errors.ContainsKey(nameof(CustomerFeedback.FullName))) { Error += CustomerFeedback.Errors[nameof(CustomerFeedback.FullName)]; } if (CustomerFeedback.Errors.ContainsKey(nameof(CustomerFeedback.Email))) { Error += CustomerFeedback.Errors[nameof(CustomerFeedback.Email)]; } if (CustomerFeedback.Errors.ContainsKey(nameof(CustomerFeedback.PhoneNumber))) { Error += CustomerFeedback.Errors[nameof(CustomerFeedback.PhoneNumber)]; } if (CustomerFeedback.Errors.ContainsKey(nameof(CustomerFeedback.CustomerFeedbackTypeId))) { Error += CustomerFeedback.Errors[nameof(CustomerFeedback.CustomerFeedbackTypeId)]; } if (CustomerFeedback.Errors.ContainsKey(nameof(CustomerFeedback.Title))) { Error += CustomerFeedback.Errors[nameof(CustomerFeedback.Title)]; } if (CustomerFeedback.Errors.ContainsKey(nameof(CustomerFeedback.SendDate))) { Error += CustomerFeedback.Errors[nameof(CustomerFeedback.SendDate)]; } if (CustomerFeedback.Errors.ContainsKey(nameof(CustomerFeedback.Content))) { Error += CustomerFeedback.Errors[nameof(CustomerFeedback.Content)]; } if (CustomerFeedback.Errors.ContainsKey(nameof(CustomerFeedback.StatusId))) { Error += CustomerFeedback.Errors[nameof(CustomerFeedback.StatusId)]; } Errors.Add(Error); } } return(BadRequest(Errors)); } }