Exemplo n.º 1
0
        /// <summary>
        /// Экспортировать события, загрузив их из файла
        /// </summary>
        private void ExportEventsFromFile(Exporter exporter, DateTime date)
        {
            // загрузка таблицы событий из файла
            EventTableLight eventTable   = new EventTableLight();
            EventAdapter    eventAdapter = new EventAdapter();

            eventAdapter.FileName = ServerUtils.BuildEvFileName(Settings.ArcDir, date);

            try
            {
                eventAdapter.Fill(eventTable);
            }
            catch (Exception ex)
            {
                log.WriteAction(string.Format(Localization.UseRussian ?
                                              "Ошибка при загрузке таблицы событий из файла {0}: {1}" :
                                              "Error loading event table from file {0}: {1}", eventAdapter.FileName, ex.Message));
            }

            // добавление событий в очередь экспорта
            if (eventTable.AllEvents.Count > 0)
            {
                foreach (EventTableLight.Event ev in eventTable.AllEvents)
                {
                    exporter.EnqueueEvent(ev);
                }
                log.WriteAction(Localization.UseRussian ? "События добавлены в очередь экспорта" :
                                "Events added to export queue");
            }
            else
            {
                log.WriteAction(Localization.UseRussian ? "Отсутствуют события для экспорта" :
                                "No events to export");
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Loads events from file and adds to the queue.
        /// </summary>
        private void ExportEventsFromFile(DateTime minDT, DateTime maxDT)
        {
            if (minDT.Date != maxDT.Date)
            {
                log.WriteError(Localization.UseRussian ?
                               "Временной диапазон событий должен быть в пределах одних суток" :
                               "The time range of events must be within one day");
                return;
            }

            string fileName = ServerUtils.BuildEvFileName(arcDir, minDT.Date);

            if (!File.Exists(fileName))
            {
                log.WriteError(string.Format(CommonPhrases.NamedFileNotFound, fileName));
                return;
            }

            try
            {
                EventTableLight eventTable   = new EventTableLight();
                EventAdapter    eventAdapter = new EventAdapter {
                    FileName = fileName
                };
                eventAdapter.Fill(eventTable);

                foreach (EventTableLight.Event ev in eventTable.AllEvents)
                {
                    if (minDT <= ev.DateTime && ev.DateTime <= maxDT)
                    {
                        EnqueueEvent(ev);
                    }
                }
            }
            catch (Exception ex)
            {
                log.WriteException(ex, Localization.UseRussian ?
                                   "Ошибка при загрузке событий из файла {0}" :
                                   "Error loading events from file {0}", fileName);
            }
        }