aboutsummaryrefslogtreecommitdiff
path: root/src/PriceListTools/PriceListSheet.cs
diff options
context:
space:
mode:
authorSergey Chebotar <s.chebotar@gmail.com>2022-01-26 17:41:46 +0300
committerSergey Chebotar <s.chebotar@gmail.com>2022-01-26 17:41:46 +0300
commit4a2ca16d8b4aa34041adb558b2db91709908aff5 (patch)
treecae92d48ebca2cd696a176ed61055a385cf20e93 /src/PriceListTools/PriceListSheet.cs
parentd688578a46e3a3383371c1df952fa2898c828a9a (diff)
Watch only current sheets in files
Diffstat (limited to 'src/PriceListTools/PriceListSheet.cs')
-rw-r--r--src/PriceListTools/PriceListSheet.cs55
1 files changed, 41 insertions, 14 deletions
diff --git a/src/PriceListTools/PriceListSheet.cs b/src/PriceListTools/PriceListSheet.cs
index 8a34c2f..9ac2af1 100644
--- a/src/PriceListTools/PriceListSheet.cs
+++ b/src/PriceListTools/PriceListSheet.cs
@@ -1,5 +1,6 @@
using Microsoft.Office.Interop.Excel;
using System.Collections.Generic;
+using System;
namespace RehauSku.PriceListTools
{
@@ -7,13 +8,22 @@ namespace RehauSku.PriceListTools
{
private const string amountHeader = "Кол-во";
private const string skuHeader = "Актуальный материал";
+ private const string groupHeader = "Программа";
public readonly Worksheet Sheet;
public readonly string Name;
public Dictionary<string, double> SkuAmount { get; private set; }
+
+ Range amountCell { get; set; }
+ Range skuCell { get; set; }
+ Range groupCell { get; set; }
+
public int headerRowNumber { get; private set; }
public int amountColumnNumber { get; private set; }
public int skuColumnNumber { get; private set; }
+ public int groupColumnNumber { get; private set; }
+ public Dictionary<PriceListPosition, Range> Map { get; private set; }
+
public PriceListSheet(Worksheet sheet)
{
@@ -21,28 +31,28 @@ namespace RehauSku.PriceListTools
Name = sheet.Name;
SkuAmount = new Dictionary<string, double>();
- FillSkuAmount();
- }
-
- public bool FillSkuAmount()
- {
- Range amountCell = Sheet.Cells.Find(amountHeader);
- Range skuCell = Sheet.Cells.Find(skuHeader);
+ amountCell = Sheet.Cells.Find(amountHeader);
+ skuCell = Sheet.Cells.Find(skuHeader);
+ groupCell = Sheet.Cells.Find(groupHeader);
- if (amountCell == null || skuCell == null)
+ if (amountCell == null || skuCell == null || groupCell == null)
{
- AddIn.Excel.StatusBar = $"Лист {Name} не распознан";
- return false;
+ throw new ArgumentException($"Лист { Name } не распознан");
}
+ FillSkuAmount();
+ }
+
+ private void FillSkuAmount()
+ {
headerRowNumber = amountCell.Row;
skuColumnNumber = skuCell.Column;
amountColumnNumber = amountCell.Column;
- object[,] amountColumn = Sheet.Columns[amountColumnNumber].Value2;
- object[,] skuColumn = Sheet.Columns[skuColumnNumber].Value2;
+ object[,] amountColumn = Sheet.Columns[amountCell.Column].Value2;
+ object[,] skuColumn = Sheet.Columns[skuCell.Column].Value2;
- for (int row = headerRowNumber + 1; row < amountColumn.GetLength(0); row++)
+ for (int row = amountCell.Row + 1; row < amountColumn.GetLength(0); row++)
{
object amount = amountColumn[row, 1];
object sku = skuColumn[row, 1];
@@ -56,8 +66,25 @@ namespace RehauSku.PriceListTools
SkuAmount.Add(sku.ToString(), (double)amount);
}
}
- return true;
}
+
+ //public void CreateMap()
+ //{
+ // Range amountCell = Sheet.Cells.Find(amountHeader);
+ // Range skuCell = Sheet.Cells.Find(skuHeader);
+ // Range groupCell = Sheet.Cells.Find(groupHeader);
+
+ // headerRowNumber = amountCell.Row;
+ // skuColumnNumber = skuCell.Column;
+ // amountColumnNumber = amountCell.Column;
+ // groupColumnNumber = groupCell.Column;
+
+ // for (int row = headerRowNumber + 1; row < skuCell.Rows.Count; row++)
+ // {
+ // string sku =
+ // }
+
+ //}
}
}