aboutsummaryrefslogtreecommitdiff
path: root/src/PriceListTools/AbstractTool.cs
diff options
context:
space:
mode:
authorSerghei Cebotari <51533848+schebotar@users.noreply.github.com>2022-03-24 07:00:37 +0300
committerGitHub <noreply@github.com>2022-03-24 07:00:37 +0300
commit215d68ea95ce44c68e1de235bc18c4dcbe5aaee2 (patch)
tree57353886c323aa86d43d8770f486e362be087593 /src/PriceListTools/AbstractTool.cs
parent031ea7f7ef0c690d93bb7e653e59c7dac6964dbb (diff)
parenteaf3ebaa9489462e3d663c93df7a9bc34011464c (diff)
Merge pull request #18 from schebotar/dev
Dev
Diffstat (limited to 'src/PriceListTools/AbstractTool.cs')
-rw-r--r--src/PriceListTools/AbstractTool.cs51
1 files changed, 33 insertions, 18 deletions
diff --git a/src/PriceListTools/AbstractTool.cs b/src/PriceListTools/AbstractTool.cs
index 256be06..abf4bae 100644
--- a/src/PriceListTools/AbstractTool.cs
+++ b/src/PriceListTools/AbstractTool.cs
@@ -45,13 +45,17 @@ namespace RehauSku.PriceListTools
protected void FillPositionAmountToColumns(KeyValuePair<Position, double> positionAmount, params int[] columns)
{
- int? row = GetPositionRow(TargetFile.SkuCell.EntireColumn, positionAmount.Key.Sku, positionAmount.Key.Group);
+ Range worksheetCells = TargetFile.Sheet.Cells;
+ Range skuColumn = TargetFile.SkuCell.EntireColumn;
+ Range oldSkuColumn = TargetFile.OldSkuCell.EntireColumn;
+
+ int? row = GetPositionRow(skuColumn, positionAmount.Key.Sku, positionAmount.Key.Group);
if (row != null)
{
foreach (int column in columns)
{
- Range cell = TargetFile.Sheet.Cells[row, column];
+ Range cell = worksheetCells[row, column];
cell.AddValue(positionAmount.Value);
}
@@ -61,13 +65,13 @@ namespace RehauSku.PriceListTools
if (TargetFile.OldSkuCell != null)
{
- row = GetPositionRow(TargetFile.OldSkuCell.EntireColumn, positionAmount.Key.Sku, positionAmount.Key.Group);
+ row = GetPositionRow(oldSkuColumn, positionAmount.Key.Sku, positionAmount.Key.Group);
if (row != null)
{
foreach (int column in columns)
{
- Range cell = TargetFile.Sheet.Cells[row, column];
+ Range cell = worksheetCells[row, column];
cell.AddValue(positionAmount.Value);
}
@@ -77,13 +81,13 @@ namespace RehauSku.PriceListTools
}
string sku = positionAmount.Key.Sku.Substring(1, 6);
- row = GetPositionRow(TargetFile.SkuCell.EntireColumn, sku, positionAmount.Key.Group);
+ row = GetPositionRow(skuColumn, sku, positionAmount.Key.Group);
if (row != null)
{
foreach (int column in columns)
{
- Range cell = TargetFile.Sheet.Cells[row, column];
+ Range cell = worksheetCells[row, column];
cell.AddValue(positionAmount.Value);
}
@@ -97,37 +101,43 @@ namespace RehauSku.PriceListTools
protected void FillMissing(KeyValuePair<Position, double> positionAmount, params int[] columns)
{
- int row = TargetFile.Sheet.Cells[TargetFile.Sheet.Rows.Count, TargetFile.SkuCell.Column]
+ Range worksheetCells = TargetFile.Sheet.Cells;
+ Range worksheetRows = TargetFile.Sheet.Rows;
+ int skuColumn = TargetFile.SkuCell.Column;
+ int groupColumn = TargetFile.GroupCell.Column;
+ int nameColumn = TargetFile.NameCell.Column;
+
+ int row = worksheetCells[worksheetRows.Count, skuColumn]
.End[XlDirection.xlUp]
.Row + 1;
- TargetFile.Sheet.Rows[row]
+ worksheetRows[row]
.EntireRow
.Insert(XlInsertShiftDirection.xlShiftDown, XlInsertFormatOrigin.xlFormatFromLeftOrAbove);
- Range previous = TargetFile.Sheet.Rows[row - 1];
- Range current = TargetFile.Sheet.Rows[row];
+ Range previous = worksheetRows[row - 1];
+ Range current = worksheetRows[row];
previous.Copy(current);
current.ClearContents();
- TargetFile.Sheet.Cells[row, TargetFile.GroupCell.Column].Value2 = positionAmount.Key.Group;
- TargetFile.Sheet.Cells[row, TargetFile.NameCell.Column].Value2 = positionAmount.Key.Name;
+ worksheetCells[row, groupColumn].Value2 = positionAmount.Key.Group;
+ worksheetCells[row, nameColumn].Value2 = positionAmount.Key.Name;
if (TargetFile.OldSkuCell != null)
{
- TargetFile.Sheet.Cells[row, TargetFile.SkuCell.Column].Value2 = "Не найден";
- TargetFile.Sheet.Cells[row, TargetFile.OldSkuCell.Column].Value2 = positionAmount.Key.Sku;
+ worksheetCells[row, skuColumn].Value2 = "Не найден";
+ worksheetCells[row, TargetFile.OldSkuCell.Column].Value2 = positionAmount.Key.Sku;
}
else
{
- TargetFile.Sheet.Cells[row, TargetFile.SkuCell.Column].Value2 = positionAmount.Key.Sku;
+ worksheetCells[row, skuColumn].Value2 = positionAmount.Key.Sku;
}
foreach (int column in columns)
{
- Range cell = TargetFile.Sheet.Cells[row, column];
+ Range cell = worksheetCells[row, column];
cell.AddValue(positionAmount.Value);
}
}
@@ -142,13 +152,18 @@ namespace RehauSku.PriceListTools
return null;
}
- int firstFoundRow = found.Row;
+ int firstFoundRow = found.Row;
+
+ if (string.IsNullOrEmpty(group))
+ {
+ return found.Row;
+ }
while (true)
{
foundGroupValue = TargetFile.Sheet.Cells[found.Row, TargetFile.GroupCell.Column].Value2.ToString();
- if (string.IsNullOrEmpty(group) || group.Equals(foundGroupValue))
+ if (group.Equals(foundGroupValue))
{
return found.Row;
}