コード例 #1
0
ファイル: CsvExport.cs プロジェクト: olegp306/ToyCorp2017
        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);
        }
    }
コード例 #2
0
        protected void btnAction_Click(object sender, EventArgs e)
        {
            if (!String.IsNullOrEmpty(lblError.Text))
            {
                return;
            }

            if (!FileUpload.HasFile)
            {
                return;
            }

            FileUpload.SaveAs(_fullPath);

            if (!File.Exists(_fullPath))
            {
                return;
            }

            if (CommonStatistic.IsRun)
            {
                return;
            }
            CommonStatistic.Init();
            CommonStatistic.CurrentProcess     = Request.Url.PathAndQuery;
            CommonStatistic.CurrentProcessName = Resource.Admin_ImportXLS_CatalogUpload;
            linkCancel.Visible = true;
            MsgErr(true);
            lblRes.Text = string.Empty;

            CommonStatistic.IsRun    = true;
            CommonStatistic.TotalRow = GetRowCount(_fullPath);

            CommonStatistic.StartNew(() =>
            {
                try
                {
                    ImportSubscribers(_fullPath);
                }
                catch (Exception ex)
                {
                    Debug.LogError(ex);
                    CommonStatistic.WriteLog(ex.Message);
                }
                CommonStatistic.IsRun = false;
            });

            //CsvImport.Factory(_fullPath, true).Process();
            pUpload.Visible = false;
            OutDiv.Visible  = true;
        }
コード例 #3
0
ファイル: CsvImport.cs プロジェクト: olegp306/ToyCorp2017
 public void Process(bool inBackGround = true)
 {
     CommonStatistic.StartNew(() =>
     {
         try
         {
             _process();
         }
         catch (Exception ex)
         {
             Debug.LogError(ex);
             CommonStatistic.WriteLog(ex.Message);
         }
         CommonStatistic.IsRun = false;
     }, inBackGround);
 }
コード例 #4
0
ファイル: CsvExport.cs プロジェクト: olegp306/ToyCorp2017
        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++;
                }
            }
        }
コード例 #5
0
ファイル: CsvImport.cs プロジェクト: olegp306/ToyCorp2017
 private static void Log(string message)
 {
     CommonStatistic.WriteLog(message);
 }
コード例 #6
0
ファイル: CsvImport.cs プロジェクト: olegp306/ToyCorp2017
 private static void LogInvalidData(string message)
 {
     CommonStatistic.WriteLog(message);
     CommonStatistic.TotalErrorRow++;
     CommonStatistic.RowPosition++;
 }