예제 #1
0
        public void MTTransfer_TransferArrival()
        {
            MTTransfer mtt = new MTTransfer();

            mtt.DayRangeArrivalCars = 10;
            mtt.ArrivalToRailWay    = false;
            mtt.FromPath            = @"D:\xlm_new";
            mtt.DeleteFile          = true;
            int res_transfer = mtt.TransferArrival();
        }
예제 #2
0
        /// <summary>
        /// Поток переноса вагонов по прибытию
        /// </summary>
        private static void TransferArrival()
        {
            service  service  = service.Metrans_TransferArrival;
            DateTime dt_start = DateTime.Now;

            try
            {
                bool   arrivalToRailWay    = true;
                string toTMPDirPath        = @"C:\RailWay\temp_xml";
                bool   deleteFileMT        = true;
                int    dayrangeArrivalCars = 10;
                // считать настройки
                try
                {
                    arrivalToRailWay = bool.Parse(ConfigurationManager.AppSettings["ArrivalToRailWay"].ToString());
                    // Путь к временной папки для записи файлов из host для дальнейшей обработки
                    toTMPDirPath = ConfigurationManager.AppSettings["toTMPDirPathTransferArrival"].ToString();
                    // Признак удалять файлы после переноса
                    deleteFileMT = bool.Parse(ConfigurationManager.AppSettings["DeleteFileTransferArrival"].ToString());
                    // Период для определения незакрытого состава и вагона
                    dayrangeArrivalCars = int.Parse(ConfigurationManager.AppSettings["DayRangeArrivalCars"].ToString());
                }
                catch (Exception ex)
                {
                    ex.ExceptionLog(String.Format("Ошибка выполнения считывания настроек потока {0}, сервиса {1}", service.ToString(), servece_owner), servece_owner, eventID);
                }
                int res_transfer = 0;
                lock (locker_xml_file)
                {
                    MTTransfer mtt = new MTTransfer(service);
                    mtt.DayRangeArrivalCars = dayrangeArrivalCars;
                    mtt.ArrivalToRailWay    = arrivalToRailWay;
                    mtt.FromPath            = toTMPDirPath;
                    mtt.DeleteFile          = deleteFileMT;
                    res_transfer            = mtt.TransferArrival();
                }
                TimeSpan ts = DateTime.Now - dt_start;
                string   mes_service_exec = String.Format("Поток {0} сервиса {1} - время выполнения: {2}:{3}:{4}({5}), код выполнения: res_transfer:{6}.", service.ToString(), servece_owner, ts.Hours, ts.Minutes, ts.Seconds, ts.Milliseconds, res_transfer);
                mes_service_exec.InformationLog(servece_owner, eventID);
                service.ServicesToLog(service.ToString() + " - выполнен.", dt_start, DateTime.Now, res_transfer);
            }
            catch (ThreadAbortException exc)
            {
                String.Format("Поток {0} сервиса {1} - прерван по событию ThreadAbortException={2}", service.ToString(), servece_owner, exc).WarningLog(servece_owner, eventID);
            }
            catch (Exception ex)
            {
                ex.ExceptionLog(String.Format("Ошибка выполнения цикла переноса, потока {0} сервис {1}", service.ToString(), servece_owner), servece_owner, eventID);
                service.ServicesToLog(service.ToString() + " - завершен с ошибкой.", dt_start, DateTime.Now, -1);
            }
        }