From 4f448f203471a19a1444555a895f503515ad2fda Mon Sep 17 00:00:00 2001 From: Sergey Chebotar Date: Wed, 22 Mar 2023 08:36:13 +0300 Subject: Add basic test --- src/Controllers/CombineTool.cs | 57 ----------- src/Controllers/ConvertTool.cs | 30 ------ src/Controllers/ExportTool.cs | 101 ------------------- src/Controllers/MergeTool.cs | 46 --------- src/Controllers/RibbonController.cs | 139 -------------------------- src/Controllers/ToolBase.cs | 190 ------------------------------------ 6 files changed, 563 deletions(-) delete mode 100644 src/Controllers/CombineTool.cs delete mode 100644 src/Controllers/ConvertTool.cs delete mode 100644 src/Controllers/ExportTool.cs delete mode 100644 src/Controllers/MergeTool.cs delete mode 100644 src/Controllers/RibbonController.cs delete mode 100644 src/Controllers/ToolBase.cs (limited to 'src/Controllers') diff --git a/src/Controllers/CombineTool.cs b/src/Controllers/CombineTool.cs deleted file mode 100644 index 4d84d44..0000000 --- a/src/Controllers/CombineTool.cs +++ /dev/null @@ -1,57 +0,0 @@ -using Microsoft.Office.Interop.Excel; -using RhSolutions.Models; -using System; -using System.Collections.Generic; -using System.Linq; -using Dialog = RhSolutions.Models.Dialog; -using Range = Microsoft.Office.Interop.Excel.Range; - -namespace RhSolutions.Controllers -{ - internal class CombineTool : ToolBase - { - private List SourceFiles { get; set; } - - public CombineTool() - { - string[] files = Dialog.GetMultiplyFiles(); - - if (files != null) - { - SourceFiles = SourcePriceList.GetSourceLists(files); - } - - else - { - throw new Exception("Не выбраны файлы"); - } - } - - public override void FillTarget() - { - using (ProgressBar = new ProgressBar("Заполняю строки...", SourceFiles.Sum(file => file.PositionAmount.Count))) - using (ResultBar = new ResultBar()) - { - foreach (SourcePriceList source in SourceFiles) - { - TargetFile.Sheet.Columns[TargetFile.AmountCell.Column] - .EntireColumn - .Insert(XlInsertShiftDirection.xlShiftToRight, XlInsertFormatOrigin.xlFormatFromRightOrBelow); - - Range newColumnHeader = TargetFile.Sheet.Cells[TargetFile.AmountCell.Row, TargetFile.AmountCell.Column - 1]; - newColumnHeader.Value2 = $"{source.Name}"; - newColumnHeader.WrapText = true; - - foreach (var kvp in source.PositionAmount) - { - FillPositionAmountToColumns(kvp, TargetFile.AmountCell.Column - 1, TargetFile.AmountCell.Column); - ProgressBar.Update(); - } - } - - FilterByAmount(); - ResultBar.Update(); - } - } - } -} diff --git a/src/Controllers/ConvertTool.cs b/src/Controllers/ConvertTool.cs deleted file mode 100644 index 5b2cd4d..0000000 --- a/src/Controllers/ConvertTool.cs +++ /dev/null @@ -1,30 +0,0 @@ -using RhSolutions.Models; - -namespace RhSolutions.Controllers -{ - internal class ConvertTool : ToolBase - { - private SourcePriceList Current { get; set; } - - public ConvertTool() - { - Current = new SourcePriceList(ExcelApp.ActiveWorkbook); - } - - public override void FillTarget() - { - using (ProgressBar = new ProgressBar("Заполняю строки...", Current.PositionAmount.Count)) - using (ResultBar = new ResultBar()) - { - foreach (var kvp in Current.PositionAmount) - { - FillPositionAmountToColumns(kvp, TargetFile.AmountCell.Column); - ProgressBar.Update(); - } - - FilterByAmount(); - ResultBar.Update(); - } - } - } -} \ No newline at end of file diff --git a/src/Controllers/ExportTool.cs b/src/Controllers/ExportTool.cs deleted file mode 100644 index e2bbde4..0000000 --- a/src/Controllers/ExportTool.cs +++ /dev/null @@ -1,101 +0,0 @@ -using Microsoft.Office.Interop.Excel; -using System; -using System.Collections.Generic; -using RhSolutions.Models; -using System.Linq; -using Range = Microsoft.Office.Interop.Excel.Range; - -namespace RhSolutions.Controllers -{ - internal class ExportTool : ToolBase - { - private Dictionary PositionAmount; - private readonly Range Selection; - - public ExportTool() - { - Selection = ExcelApp.Selection; - GetSelected(); - - if (PositionAmount.Count == 0) - { - throw new Exception("В выделенном диапазоне не найдены позиции для экспорта"); - } - } - - public override void FillTarget() - { - using (ProgressBar = new ProgressBar("Заполняю строки...", PositionAmount.Count)) - using (ResultBar = new ResultBar()) - { - foreach (var kvp in PositionAmount) - { - FillPositionAmountToColumns(kvp, TargetFile.AmountCell.Column); - ProgressBar.Update(); - } - - FilterByAmount(); - ResultBar.Update(); - } - } - - private void GetSelected() - { - object[,] cells = Selection.Value2; - PositionAmount = new Dictionary(); - - int rowsCount = Selection.Rows.Count; - - for (int row = 1; row <= rowsCount; row++) - { - if (cells[row, 1] == null || cells[row, 2] == null) - continue; - - string sku = null; - double? amount = null; - - for (int column = 1; column <= 2; column++) - { - object current = cells[row, column]; - - if (Sku.TryParse(current.ToString(), out var rauSku)) - { - sku = rauSku.FirstOrDefault().ToString() ?? null; - } - - else if (current.GetType() == typeof(string) - && double.TryParse(current.ToString(), out _)) - { - amount = double.Parse((string)current); - } - - else if (current.GetType() == typeof(double)) - { - amount = (double)current; - } - } - - if (sku == null || amount == null) - { - continue; - } - - Product position = new Product - { - ProductSku = sku - }; - - if (PositionAmount.ContainsKey(position)) - { - PositionAmount[position] += amount.Value; - } - - else - { - PositionAmount.Add(position, amount.Value); - } - } - } - } -} - diff --git a/src/Controllers/MergeTool.cs b/src/Controllers/MergeTool.cs deleted file mode 100644 index dec8ff7..0000000 --- a/src/Controllers/MergeTool.cs +++ /dev/null @@ -1,46 +0,0 @@ -using RhSolutions.Models; -using System; -using System.Collections.Generic; -using System.Linq; - -namespace RhSolutions.Controllers -{ - internal class MergeTool : ToolBase - { - private List SourceFiles { get; set; } - - public MergeTool() - { - string[] files = Dialog.GetMultiplyFiles(); - - if (files != null) - { - SourceFiles = SourcePriceList.GetSourceLists(files); - } - - else - { - throw new Exception("Не выбраны файлы"); - } - } - - public override void FillTarget() - { - using (ProgressBar = new ProgressBar("Заполняю строки...", SourceFiles.Sum(x => x.PositionAmount.Count))) - using (ResultBar = new ResultBar()) - { - foreach (SourcePriceList source in SourceFiles) - { - foreach (var kvp in source.PositionAmount) - { - FillPositionAmountToColumns(kvp, TargetFile.AmountCell.Column); - ProgressBar.Update(); - } - } - - FilterByAmount(); - ResultBar.Update(); - } - } - } -} diff --git a/src/Controllers/RibbonController.cs b/src/Controllers/RibbonController.cs deleted file mode 100644 index 148daca..0000000 --- a/src/Controllers/RibbonController.cs +++ /dev/null @@ -1,139 +0,0 @@ -using ExcelDna.Integration.CustomUI; -using Microsoft.Office.Interop.Excel; -using RhSolutions.AddIn; -using RhSolutions.Services; -using System; -using System.IO; -using System.Reflection; -using System.Runtime.InteropServices; -using System.Windows.Forms; -using Range = Microsoft.Office.Interop.Excel.Range; - -namespace RhSolutions.Controllers -{ - [ComVisible(true)] - public class RibbonController : ExcelRibbon - { - private static IRibbonUI ribbonUi; - - public override string GetCustomUI(string RibbonID) - { - return @" - - - - - -