Менеджеры сохраняют информацию о продажах за день в CSV файле стандартного формата. Файл помещается в папку на сервере. На сервере приложение, запущенное как служба Windows отслеживает изменения в папке и, при появлении в ней новых файлов, выполняет их разбор и загрузку информации из них в базу данных. Файлы загружаются на сервер не менее одного раза в день. Имя файла состоит из фамилии менеджера и даты в следующем формате.
SeconName_DDMMYYYY.csv, например Ivanov_19112012.csv
CSV файл имеет следующую структуру
Дата,Клиент,Товар,Сумма
Данные из этих столбцов должны быть загружены в базу. Структуру БД продумать и реализовать самостоятельно.
Требования к приложению
-
возможность запускать экземпляр приложения и из консоли, и как службу Windows
-
должна присутствовать возможность обработки двух и более файлов одновременно. Для этого можно использовать стандартные средства C# для работы с потоками (Threads, TPL).
-
работа с базой данных должна происходить только с использованием ORM (можно выбирать любую понравившуюся), прямая работа с БД не допускается.
-
N-уровневая архитектура приложения
-
Использование исключений
-
Управление ресурсами и использование интерфейса IDisposable
-
Использование конфигурации или ресурсов для храниения настроек приложения/службы