Esempio n. 1
0
        public void ExecuteReportTask(ReportTaskInfo info)
        {
            // создаем правильного Доставителя отчетов
            var deliverer = ReportDelivererFabric.Create(info.Delivery);

            // берем все Отчеты для обработки из этого Доставителя
            var reports = deliverer.Deliver();

            // каждый Отчет нам нужно обработать
            foreach (var report in reports)
            {
                // создаем правильный Разбиратель Отчета
                var grabber = ReportGrabberFabric.Create(info.Grabber);

                // получаем данные из Отчета
                var data = grabber.Grab(report);

                // создаем необходимые Исполнители Очтета
                var executors = ReportExecutorFabric.Create(info.Execution);

                // каждый Исполнетель должен выполнить свою задачу при обработке данных Отчета
                foreach (var executor in executors)
                {
                    executor.Execute(data);
                }
            }
        }
Esempio n. 2
0
        public void ExecuteReportTask(ReportTaskInfo info)
        {
            // создаем правильного Доставителя отчетов
            var deliverer = ReportDelivererFabric.Create(info.Delivery);

            // берем все Отчеты для обработки из этого Доставителя
            var reports = deliverer.Deliver();

            // каждый Отчет нам нужно обработать
            foreach (var report in reports)
            {
                // создаем правильный Разбиратель Отчета
                var grabber = ReportGrabberFabric.Create(info.Grabber);

                // получаем данные из Отчета
                var data = grabber.Grab(report);

                // создаем необходимые Исполнители Очтета
                var executors = ReportExecutorFabric.Create(info.Execution);

                // каждый Исполнетель должен выполнить свою задачу при обработке данных Отчета
                foreach (var executor in executors)
                    executor.Execute(data);
            }
        }