42 lines
1.4 KiB
C#
42 lines
1.4 KiB
C#
using Microsoft.Office.Interop.Excel;
|
||
using System;
|
||
using System.IO;
|
||
using System.Linq;
|
||
using Range = Microsoft.Office.Interop.Excel.Range;
|
||
|
||
namespace RhSolutions.Models
|
||
{
|
||
internal class TargetPriceList : PriceListBase
|
||
{
|
||
public Range OldSkuCell { get; private set; }
|
||
|
||
public TargetPriceList(Workbook workbook)
|
||
{
|
||
if (workbook == null)
|
||
{
|
||
throw new ArgumentException("Невозможно открыть книгу шаблонного файла. " +
|
||
"Возможно открыт файл с именем, совпадающим с именем шаблонного файла.");
|
||
}
|
||
|
||
Sheet = workbook.ActiveSheet;
|
||
Name = Path.GetFileNameWithoutExtension(workbook.FullName);
|
||
|
||
Range[] cells = new[]
|
||
{
|
||
AmountCell = Sheet.Cells.Find(PriceListHeaders.Amount),
|
||
SkuCell = Sheet.Cells.Find(PriceListHeaders.Sku),
|
||
GroupCell = Sheet.Cells.Find(PriceListHeaders.Group),
|
||
NameCell = Sheet.Cells.Find(PriceListHeaders.Name)
|
||
};
|
||
|
||
OldSkuCell = Sheet.Cells.Find(PriceListHeaders.OldSku);
|
||
|
||
if (cells.Any(x => x == null))
|
||
{
|
||
throw new ArgumentException($"Шаблон {Name} не является прайс-листом");
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|