protected void btnImport_Click(object sender, EventArgs e) { DateTime finishTime = Convert.ToDateTime(tbxFinishTime.Text.Trim()); ImportOperationLog il = new ImportOperationLog(); string fileNames = string.Empty; foreach (DirectoryInfo dir in GetImportedDir()) { fileNames += dir.FullName + "__"; } try { ProductImportor importor = new ProductImportor(true); //importor.CheckWithDatabase = true; importor.WebProductImagesPath = Server.MapPath("/ProductImages/original/"); importor.Import(GetImportedDir(), ProductsData_Imported); tbxMsg.CssClass = "success"; tbxMsg.Text = importor.ImportMsg; //保存日志 bizImportlog.Import(fileNames, importor.Result_ProductsSuccessImported, finishTime, tbxFrom.Text , "数据部", importor.ImportMsgForLog); } catch (Exception ex) { tbxMsg.CssClass = "error"; tbxMsg.Text = ex.Message; } }
/// <summary> /// /// </summary> /// <param name="folderName">包含excel和对应产品图片的文件夹</param> /// <param name="amountProductsHasPicture_NotExitsted">可供导入的产品(没有导入过,有图片)</param> /// <param name="amountProductNotHasPicture_OrHasExisted">不合格产品(已导入,或 没图片</param> /// <param name="amountProductExistsInDb_HasExisted">不合格产品(已导入)</param> /// <param name="amountImagesHasNotProduct_OrHasExisted">没有产品信息的图片</param> /// <param name="needCheckDataBase">是否从数据库查询产品是否存在</param> /// <param name="dalProduct">供mock,判断是否存在的方法</param> /// <param name="dalSupplier">供mock,获取供应商的方法.</param> private void CheckSingleFolderTest( string folderName , int amountProductsHasPicture , int amountProductNotHasPicture , int amountProductExistsInDb , int amountImagesHasNotProduct , bool needCheckDataBase , DALProduct dalProduct , DALSupplier dalSupplier) { IList <Product> productsHasPicture, productsNotHasPicture, productsExistedInDB; IList <FileInfo> imagesHasProduct, imagesHasNotProduct; string folderFullPath = Environment.CurrentDirectory + "\\TestFiles\\FormatCheck\\" + folderName + "\\"; ProductImportor checker = new ProductImportor(); checker.BizProduct.DalBase = dalProduct; checker.BizProduct.DalSupplier = dalSupplier; checker.CheckWithDatabase = needCheckDataBase; checker.CheckSingleFolder(folderFullPath , out productsHasPicture , out productsNotHasPicture , out productsExistedInDB , out imagesHasProduct , out imagesHasNotProduct); // Assert.AreEqual("Success", FormatChecker.Check(folderContainsExcelAndImages)); Assert.AreEqual(amountProductsHasPicture, productsHasPicture.Count); Assert.AreEqual(amountProductNotHasPicture, productsNotHasPicture.Count); Assert.AreEqual(amountProductExistsInDb, productsExistedInDB.Count); Assert.AreEqual(amountImagesHasNotProduct, imagesHasNotProduct.Count); DateTime beginSaveResult = DateTime.Now; string saveFolder = Environment.CurrentDirectory + "\\TestFiles\\FormatCheck\\检测结果\\"; string saveFolderOfSupplier; if (productsHasPicture.Count > 0) { saveFolderOfSupplier = productsHasPicture[0].SupplierName; } else if (productsNotHasPicture.Count > 0) { saveFolderOfSupplier = productsNotHasPicture[0].SupplierName; } else { throw new Exception(); } DirectoryInfo dirOfSavedSupplier = new DirectoryInfo(saveFolder + "合格数据\\" + saveFolderOfSupplier + "\\"); if (dirOfSavedSupplier.Exists) { dirOfSavedSupplier.Delete(true); } string supplierName = string.Empty; if (productsExistedInDB.Count > 0) { supplierName = productsExistedInDB[0].SupplierName; } else if (productsHasPicture.Count > 0) { supplierName = productsHasPicture[0].SupplierName; } else if (productsNotHasPicture.Count > 0) { supplierName = productsNotHasPicture[0].SupplierName; } else { return; } supplierName = StringHelper.ReplaceInvalidChaInFileName(supplierName, string.Empty); checker.HandlerCheckResult( supplierName, productsHasPicture , productsNotHasPicture , productsExistedInDB , imagesHasProduct , imagesHasNotProduct , saveFolder); Assert.AreEqual(productsHasPicture.Count, dirOfSavedSupplier.GetImageFiles().ToArray().Length); Console.WriteLine("Time Cost CheckImage:" + (DateTime.Now - beginSaveResult).TotalSeconds); }