From 4a2ca16d8b4aa34041adb558b2db91709908aff5 Mon Sep 17 00:00:00 2001 From: Sergey Chebotar Date: Wed, 26 Jan 2022 17:41:46 +0300 Subject: Watch only current sheets in files --- src/PriceListTools/AbstractPriceListTool.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src/PriceListTools/AbstractPriceListTool.cs') diff --git a/src/PriceListTools/AbstractPriceListTool.cs b/src/PriceListTools/AbstractPriceListTool.cs index 1aef0be..65ddb3f 100644 --- a/src/PriceListTools/AbstractPriceListTool.cs +++ b/src/PriceListTools/AbstractPriceListTool.cs @@ -25,11 +25,11 @@ namespace RehauSku.PriceListTools { NewPriceList = new PriceList(wb); - if (NewPriceList.Sheets.Count == 0) - throw new ArgumentException($"Не найдены листы с артикулами в {wb.Name}"); + //if (NewPriceList.Sheet.Count == 0) + // throw new ArgumentException($"Не найдены листы с артикулами в {wb.Name}"); - if (NewPriceList.OfferSheet == null) - throw new ArgumentException($"Нет листа для коммерческого предложения в {wb.Name}"); + //if (NewPriceList.OfferSheet == null) + // throw new ArgumentException($"Нет листа для коммерческого предложения в {wb.Name}"); } catch (Exception ex) -- cgit v1.2.3 From 55bbd801a5593512921ccd4671a50069896affa0 Mon Sep 17 00:00:00 2001 From: Sergey Chebotar Date: Wed, 26 Jan 2022 18:17:44 +0300 Subject: Remove PriceList class --- src/PriceListTools/AbstractPriceListTool.cs | 6 ------ 1 file changed, 6 deletions(-) (limited to 'src/PriceListTools/AbstractPriceListTool.cs') diff --git a/src/PriceListTools/AbstractPriceListTool.cs b/src/PriceListTools/AbstractPriceListTool.cs index 65ddb3f..3511a13 100644 --- a/src/PriceListTools/AbstractPriceListTool.cs +++ b/src/PriceListTools/AbstractPriceListTool.cs @@ -24,12 +24,6 @@ namespace RehauSku.PriceListTools try { NewPriceList = new PriceList(wb); - - //if (NewPriceList.Sheet.Count == 0) - // throw new ArgumentException($"Не найдены листы с артикулами в {wb.Name}"); - - //if (NewPriceList.OfferSheet == null) - // throw new ArgumentException($"Нет листа для коммерческого предложения в {wb.Name}"); } catch (Exception ex) -- cgit v1.2.3 From 94e0c84ce1e62826d963c0809be1c4d242694444 Mon Sep 17 00:00:00 2001 From: Sergey Chebotar Date: Wed, 26 Jan 2022 18:37:24 +0300 Subject: Move Autofilter method to abstract class --- src/PriceListTools/AbstractPriceListTool.cs | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/PriceListTools/AbstractPriceListTool.cs') diff --git a/src/PriceListTools/AbstractPriceListTool.cs b/src/PriceListTools/AbstractPriceListTool.cs index 3511a13..b1fd70b 100644 --- a/src/PriceListTools/AbstractPriceListTool.cs +++ b/src/PriceListTools/AbstractPriceListTool.cs @@ -17,6 +17,14 @@ namespace RehauSku.PriceListTools sourcePriceLists = new List(); } + protected private void FilterByAmount() + { + AutoFilter filter = NewPriceList.Sheet.AutoFilter; + + filter.Range.AutoFilter(NewPriceList.amountCell.Column, "<>"); + NewPriceList.Sheet.Range["A1"].Activate(); + } + public void OpenNewPrice(string path) { Workbook wb = ExcelApp.Workbooks.Open(path); -- cgit v1.2.3 From 233c91c71b5c68ed7c51f26731b491dac8423771 Mon Sep 17 00:00:00 2001 From: Sergey Chebotar Date: Wed, 26 Jan 2022 19:03:28 +0300 Subject: Exception message on wrong files --- src/PriceListTools/AbstractPriceListTool.cs | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) (limited to 'src/PriceListTools/AbstractPriceListTool.cs') diff --git a/src/PriceListTools/AbstractPriceListTool.cs b/src/PriceListTools/AbstractPriceListTool.cs index b1fd70b..c174f30 100644 --- a/src/PriceListTools/AbstractPriceListTool.cs +++ b/src/PriceListTools/AbstractPriceListTool.cs @@ -36,8 +36,12 @@ namespace RehauSku.PriceListTools catch (Exception ex) { + System.Windows.Forms.MessageBox.Show + (ex.Message, + "Ошибка открытия шаблонного прайс-листа", + System.Windows.Forms.MessageBoxButtons.OK, + System.Windows.Forms.MessageBoxIcon.Information); wb.Close(); - throw ex; } } @@ -52,9 +56,21 @@ namespace RehauSku.PriceListTools foreach (string file in files) { Workbook wb = ExcelApp.Workbooks.Open(file); - PriceList priceList = new PriceList(wb); - sourcePriceLists.Add(priceList); - wb.Close(); + try + { + PriceList priceList = new PriceList(wb); + sourcePriceLists.Add(priceList); + wb.Close(); + } + catch (Exception ex) + { + System.Windows.Forms.MessageBox.Show + (ex.Message, + "Ошибка открытия исходного прайс-листа", + System.Windows.Forms.MessageBoxButtons.OK, + System.Windows.Forms.MessageBoxIcon.Information); + wb.Close(); + } } ExcelApp.ScreenUpdating = true; } -- cgit v1.2.3 From 8e3dff1788905c203509f866921957b027cb2643 Mon Sep 17 00:00:00 2001 From: Sergey Chebotar Date: Thu, 27 Jan 2022 09:59:33 +0300 Subject: Extract PriceList Base Class --- src/PriceListTools/AbstractPriceListTool.cs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'src/PriceListTools/AbstractPriceListTool.cs') diff --git a/src/PriceListTools/AbstractPriceListTool.cs b/src/PriceListTools/AbstractPriceListTool.cs index c174f30..437450c 100644 --- a/src/PriceListTools/AbstractPriceListTool.cs +++ b/src/PriceListTools/AbstractPriceListTool.cs @@ -8,13 +8,13 @@ namespace RehauSku.PriceListTools internal abstract class AbstractPriceListTool { protected private Application ExcelApp; - protected private PriceList NewPriceList; - protected private List sourcePriceLists; + protected private SourceFile NewPriceList; + protected private List sourcePriceLists; public AbstractPriceListTool() { ExcelApp = (Application)ExcelDnaUtil.Application; - sourcePriceLists = new List(); + sourcePriceLists = new List(); } protected private void FilterByAmount() @@ -31,7 +31,7 @@ namespace RehauSku.PriceListTools try { - NewPriceList = new PriceList(wb); + NewPriceList = new SourceFile(wb); } catch (Exception ex) @@ -58,7 +58,7 @@ namespace RehauSku.PriceListTools Workbook wb = ExcelApp.Workbooks.Open(file); try { - PriceList priceList = new PriceList(wb); + SourceFile priceList = new SourceFile(wb); sourcePriceLists.Add(priceList); wb.Close(); } -- cgit v1.2.3 From 72ac236b15603e84f18ec346749186b6cb2c2bdf Mon Sep 17 00:00:00 2001 From: Sergey Chebotar Date: Thu, 27 Jan 2022 10:22:30 +0300 Subject: Refactoring tolls classes --- src/PriceListTools/AbstractPriceListTool.cs | 83 ----------------------------- 1 file changed, 83 deletions(-) delete mode 100644 src/PriceListTools/AbstractPriceListTool.cs (limited to 'src/PriceListTools/AbstractPriceListTool.cs') diff --git a/src/PriceListTools/AbstractPriceListTool.cs b/src/PriceListTools/AbstractPriceListTool.cs deleted file mode 100644 index 437450c..0000000 --- a/src/PriceListTools/AbstractPriceListTool.cs +++ /dev/null @@ -1,83 +0,0 @@ -using ExcelDna.Integration; -using Microsoft.Office.Interop.Excel; -using System; -using System.Collections.Generic; - -namespace RehauSku.PriceListTools -{ - internal abstract class AbstractPriceListTool - { - protected private Application ExcelApp; - protected private SourceFile NewPriceList; - protected private List sourcePriceLists; - - public AbstractPriceListTool() - { - ExcelApp = (Application)ExcelDnaUtil.Application; - sourcePriceLists = new List(); - } - - protected private void FilterByAmount() - { - AutoFilter filter = NewPriceList.Sheet.AutoFilter; - - filter.Range.AutoFilter(NewPriceList.amountCell.Column, "<>"); - NewPriceList.Sheet.Range["A1"].Activate(); - } - - public void OpenNewPrice(string path) - { - Workbook wb = ExcelApp.Workbooks.Open(path); - - try - { - NewPriceList = new SourceFile(wb); - } - - catch (Exception ex) - { - System.Windows.Forms.MessageBox.Show - (ex.Message, - "Ошибка открытия шаблонного прайс-листа", - System.Windows.Forms.MessageBoxButtons.OK, - System.Windows.Forms.MessageBoxIcon.Information); - wb.Close(); - } - } - - public virtual void GetSource() - { - throw new NotImplementedException(); - } - - public virtual void GetSource(string[] files) - { - ExcelApp.ScreenUpdating = false; - foreach (string file in files) - { - Workbook wb = ExcelApp.Workbooks.Open(file); - try - { - SourceFile priceList = new SourceFile(wb); - sourcePriceLists.Add(priceList); - wb.Close(); - } - catch (Exception ex) - { - System.Windows.Forms.MessageBox.Show - (ex.Message, - "Ошибка открытия исходного прайс-листа", - System.Windows.Forms.MessageBoxButtons.OK, - System.Windows.Forms.MessageBoxIcon.Information); - wb.Close(); - } - } - ExcelApp.ScreenUpdating = true; - } - - public virtual void FillPriceList() - { - throw new NotImplementedException(); - } - } -} \ No newline at end of file -- cgit v1.2.3