Example #1
0
        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);
        }
    }
Example #2
0
        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++;
                }
            }
        }