aboutsummaryrefslogtreecommitdiff
path: root/src/Models/TargetPriceList.cs
blob: 163d429fb6eda3bdb69bd6bcf135502a537d96d6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
using Microsoft.Office.Interop.Excel;
using System;
using System.IO;
using System.Linq;

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} не является прайс-листом");
            }
        }
    }
}