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);
 }
Ejemplo n.º 2
0
        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
            }));
        }