Приложения для обработки прайс-листов, для последующей загрузки в интернет магазина разработанный на OpenCart.
- Windows 7 или выше
- Для сборки и работы приложения необходим установленный Microsoft Office 2007 или выше.
- Среда для разработки Visual Studio 2013/2015 (C# 5.0/.NET 4.5)
- Программа может открывать прайс-листы
- Определять тип прайс-листы
- Выполнять анализ выбранного прайс-листы в зависимости от типа.
- После анализа заполнять шаблон ( который находится вот здесь
ExcelParserForOpenCart/Output/Debug/template.xlsили в папке Release и сохранять обработанный прайс лист под именем, который задаёт пользователь.
- Научить программу определять тип нового прайса, если есть необходимость добавить тип в перечисление
ExcelParserForOpenCart/UI/EnumPrices.cs. Определение происходит по уникальниы меткам или уникальной комбинации этих меток. Определение типа прайса происходит с помощью метода DetermineTypeOfPriceList, который находится в файлеExcelParserForOpenCart/UI/ExcelParser.csОпределение типа происходит по уникальной метке или уникальной комбинации меток, расположенных на листах прайса. - Разработать алгоритм для анализа прайса.
Анализ прайса представляет собой обработку структуры прайса и приведение к списку, содержащему класс:
ExcelParserForOpenCart/UI/OutputPriceLine.cs - Для того, что бы добавить новый анализатор для обработки нового типа прайса необходимо создать новый класс в папке Prices проекта ExcelParserForOpenCart, для удобства был реализован класс с общими методами GeneralMethods.cs, для удобства его можно унаследовать.
- Название нового класса соответствует краткому названию анализируемого прайса.
- После этого можно использовать новый класс в ExcelParser.cs в методе DoWorkOpen
using System.ComponentModel;
using Microsoft.Office.Interop.Excel;
public class НазваниеАнализатора : GeneralMethods
{
public НазваниеАнализатора(object sender, DoWorkEventArgs e)
: base(sender, e)
{
}
public void Analyze(int row, Range range)
{
if (Worker.CancellationPending)
{
E.Cancel = true;
return;
}
// цикл для обработки прайс-листы
for (var i = 7; i < row; i++)
{
if (Worker.CancellationPending)
{
E.Cancel = true;
ResultingPrice.Clear();
break;
}
// выйти из цикла необходимо с помощью оператора break
}
}
}Артикул прайса ключевой атрибут сущности товар в базе данных интернет магазина, в который мы загружаем данные прайсы, он должен быть уникальным и алгоритм его формирования должен быть всегда однозначным, т. е. прайслист будут загружать с определённым периодом, по артиклу будет происходить обновление товара.