private CatPartnerImportModel GetSaleManInfo(CatPartnerImportModel item, List <SysUser> salemans, List <SysOffice> offices, List <API.Common.Globals.CommonData> services) { if (item.PartnerGroup.Contains(DataEnums.CustomerPartner)) { if (string.IsNullOrEmpty(item.SaleManName)) { item.SaleManNameError = stringLocalizer[CatalogueLanguageSub.MSG_PARTNER_SALEMAN_EMPTY]; item.IsValid = false; } else { var salePersonId = salemans.FirstOrDefault(i => i.Username == item.SaleManName && i.Active == true)?.Id; if (string.IsNullOrEmpty(salePersonId)) { item.SaleManNameError = string.Format(stringLocalizer[CatalogueLanguageSub.MSG_PARTNER_SALEMAN_NOT_FOUND], item.SaleManName); item.IsValid = false; } else { if (string.IsNullOrEmpty(item.OfficeSalemanDefault)) { item.OfficeSalemanDefaultError = stringLocalizer[CatalogueLanguageSub.MSG_PARTNER_SALEMAN_DEFAULT_OFFICE_NOT_ALLOW_EMPTY]; item.IsValid = false; } else if (string.IsNullOrEmpty(item.ServiceSalemanDefault)) { item.ServiceSalemanDefaultError = stringLocalizer[CatalogueLanguageSub.MSG_PARTNER_SALEMAN_DEFAULT_SERVICE_NOT_ALLOW_EMPTY]; item.IsValid = false; } else { var office = offices.FirstOrDefault(x => x.Code.ToLower() == item.OfficeSalemanDefault.ToLower()); var service = services.FirstOrDefault(x => x.DisplayName == item.ServiceSalemanDefault)?.Value; if (office == null) { item.OfficeSalemanDefaultError = string.Format(stringLocalizer[CatalogueLanguageSub.MSG_PARTNER_SALEMAN_DEFAULT_OFFICE_NOT_FOUND], item.OfficeSalemanDefault); item.IsValid = false; } else if (service == null) { item.ServiceSalemanDefaultError = string.Format(stringLocalizer[CatalogueLanguageSub.MSG_PARTNER_SALEMAN_DEFAULT_SERVICE_NOT_FOUND], item.ServiceSalemanDefaultError); item.IsValid = false; } else { item.OfficeId = office.Id; item.CompanyId = office.Buid; item.SalePersonId = salePersonId; item.ServiceId = service; } } } } } return(item); }
public IActionResult UploadFile(IFormFile uploadedFile) { var file = new FileHelper().UploadExcel(uploadedFile); if (file != null) { ExcelWorksheet worksheet = file.Workbook.Worksheets[1]; int rowCount = worksheet.Dimension.Rows; int colCount = worksheet.Dimension.Columns; if (rowCount < 2) { return(BadRequest(new ResultHandle { Status = false, Message = stringLocalizer[LanguageSub.NOT_FOUND_DATA_EXCEL].Value })); } List <CatPartnerImportModel> list = new List <CatPartnerImportModel>(); for (int row = 2; row <= rowCount; row++) { var partner = new CatPartnerImportModel { IsValid = true, ShortName = worksheet.Cells[row, 1].Value?.ToString().Trim(), PartnerNameEn = worksheet.Cells[row, 2].Value?.ToString().Trim(), PartnerNameVn = worksheet.Cells[row, 3].Value?.ToString().Trim(), TaxCode = worksheet.Cells[row, 4].Value?.ToString().Trim(), PartnerGroup = worksheet.Cells[row, 5].Value?.ToString().Trim(), ContactPerson = worksheet.Cells[row, 6].Value?.ToString().Trim(), Tel = worksheet.Cells[row, 7].Value?.ToString().Trim(), AddressEn = worksheet.Cells[row, 8].Value?.ToString().Trim(), AddressVn = worksheet.Cells[row, 9].Value?.ToString().Trim(), CityBilling = worksheet.Cells[row, 10].Value?.ToString().Trim(), CountryBilling = worksheet.Cells[row, 11].Value?.ToString().Trim(), ZipCode = worksheet.Cells[row, 12].Value?.ToString().Trim(), AddressShippingEn = worksheet.Cells[row, 13].Value?.ToString().Trim(), AddressShippingVn = worksheet.Cells[row, 14].Value?.ToString().Trim(), CityShipping = worksheet.Cells[row, 15].Value?.ToString().Trim(), CountryShipping = worksheet.Cells[row, 16].Value?.ToString().Trim(), ZipCodeShipping = worksheet.Cells[row, 17].Value?.ToString().Trim(), Email = worksheet.Cells[row, 18].Value?.ToString().Trim(), SaleManName = worksheet.Cells[row, 19].Value?.ToString().Trim(), Profile = worksheet.Cells[row, 20].Value?.ToString().Trim(), BankAccountNo = worksheet.Cells[row, 21].Value?.ToString().Trim(), BankAccountName = worksheet.Cells[row, 22].Value?.ToString().Trim(), SwiftCode = worksheet.Cells[row, 23].Value?.ToString().Trim(), BankAccountAddress = worksheet.Cells[row, 24].Value?.ToString().Trim(), Note = worksheet.Cells[row, 25].Value?.ToString().Trim(), ServiceSalemanDefault = worksheet.Cells[row, 26].Value?.ToString(), OfficeSalemanDefault = worksheet.Cells[row, 27].Value?.ToString(), PaymentTerm = worksheet.Cells[row, 28].Value?.ToString(), EffectDate = worksheet.Cells[row, 29].Value?.ToString() }; list.Add(partner); } var data = catPartnerService.CheckValidImport(list); var totalValidRows = data.Count(x => x.IsValid == true); var results = new { data, totalValidRows }; return(Ok(results)); } return(BadRequest(new ResultHandle { Status = false, Message = stringLocalizer[LanguageSub.FILE_NOT_FOUND].Value })); }