public void Process(bool inBackGround = true, ProductCsvFilterModel model = null) { if (model == null) { model = new ProductCsvFilterModel() { ModuleName = "CsvExport", ExportNoInCategory = _csvExportNoInCategory } } ; CommonStatistic.TotalRow = ProductService.GetCsvProdutsCount(model); CommonStatistic.StartNew(() => { try { SaveProductsToCsv(model); } catch (Exception ex) { Debug.LogError(ex); CommonStatistic.WriteLog(ex.Message); } CommonStatistic.IsRun = false; }, inBackGround); } }
public void SaveProductsToCsv(ProductCsvFilterModel filterModel) { using (var writer = InitWriter()) { WriteHeader(writer); var products = ProductService.GetCsvProducts(filterModel); if (products == null) { return; } foreach (var product in products) { if (!CommonStatistic.IsRun) { return; } if (_fieldMapping.Contains(ProductFields.Description) && product.Description.Length > MaxCellLength) { CommonStatistic.WriteLog(string.Format(Resource.Admin_ExportCsv_TooLargeDescription, product.Name, product.ArtNo)); CommonStatistic.TotalErrorRow++; continue; } if (_fieldMapping.Contains(ProductFields.BriefDescription) && product.BriefDescription.Length > MaxCellLength) { CommonStatistic.WriteLog(string.Format(Resource.Admin_ExportCsv_TooLargeBriefDescription, product.Name, product.ArtNo)); CommonStatistic.TotalErrorRow++; continue; } WriteItem(writer, product); CommonStatistic.RowPosition++; } } }