示例#1
0
        /// <summary>
        /// Перенести состав в систему IDS
        /// </summary>
        public void MTTransfer_InsertIDSArrivalSostav()
        {
            MTTransfer mtt = new MTTransfer();

            mtt.InsertIDSArrivalSostav(19587);
            mtt.InsertIDSArrivalSostav(19588);
        }
示例#2
0
        public void MTTransfer_TransferApproaches()
        {
            MTTransfer mtt = new MTTransfer();

            mtt.FromPath   = @"D:\txt_new";
            mtt.DeleteFile = true;
            int res_transfer = mtt.TransferApproaches();
        }
示例#3
0
 public void MTTransfer_TransferArrivalAPI()
 {
     MTTransfer mtt = new MTTransfer(service.Test);
     //mtt.DayRangeArrivalCars = 10;
     //mtt.ArrivalToRailWay = false;
     //mtt.FromPath = @"D:\xlm_new";
     //mtt.DeleteFile = true;
     int res_transfer = mtt.TransferArrivalAPI("https://inform.metrans.com.ua", "Arcelor1", "12345678-", "/api/TrainNaturList");
 }
示例#4
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();
        }
示例#5
0
        /// <summary>
        /// Поток переноса вагонов по прибытию
        /// </summary>
        private static void APITransferArrival()
        {
            service  service  = service.Metrans_APITransferArrival;
            DateTime dt_start = DateTime.Now;

            try
            {
                string url_wagons_tracking  = @"https://inform.umtrans.com.ua";
                string user_wagons_tracking = "Arcelor1";
                string psw_wagons_tracking  = "12345678-";
                string api_wagons_tracking  = @"/api/TrainNaturList";
                bool   arrivalToRailWay     = true;
                int    dayrangeArrivalCars  = 10;
                // считать настройки
                try
                {
                    // Прочтем подключение
                    url_wagons_tracking  = ConfigurationManager.AppSettings["WebApiMTURL"].ToString();
                    user_wagons_tracking = ConfigurationManager.AppSettings["WebApiMTUser"].ToString();
                    psw_wagons_tracking  = ConfigurationManager.AppSettings["WebApiMTPSW"].ToString();
                    api_wagons_tracking  = ConfigurationManager.AppSettings["WebApiMTArrivalApi"].ToString();
                    // перенос данных в прибытие
                    arrivalToRailWay = bool.Parse(ConfigurationManager.AppSettings["ArrivalToRailWay"].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;
                res_transfer            = mtt.TransferArrivalAPI(url_wagons_tracking, user_wagons_tracking, psw_wagons_tracking, api_wagons_tracking);
                //}
                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);
            }
        }
示例#6
0
        /// <summary>
        /// Поток переноса информации об вагонах по которым установленно слижение в MT и формирование циклограммы
        /// </summary>
        private static void TransferWT()
        {
            service  service  = service.Metrans_TransferWT;
            DateTime dt_start = DateTime.Now;

            try
            {
                DateTime datetime_start_new_tracking = new DateTime(2019, 01, 01, 0, 0, 0);
                string   url_wagons_tracking         = @"https://inform.umtrans.com.ua";
                string   user_wagons_tracking        = "Arcelor1";
                string   psw_wagons_tracking         = "12345678-";
                string   api_wagons_tracking         = @"/api/WagonsTracking";

                // считать настройки
                try
                {
                    // Если нет перенесем настройки в БД
                    datetime_start_new_tracking = DateTime.Parse(ConfigurationManager.AppSettings["DateTimeStartNewTracking"].ToString());
                    url_wagons_tracking         = ConfigurationManager.AppSettings["WebApiMTURL"].ToString();
                    user_wagons_tracking        = ConfigurationManager.AppSettings["WebApiMTUser"].ToString();
                    psw_wagons_tracking         = ConfigurationManager.AppSettings["WebApiMTPSW"].ToString();
                    api_wagons_tracking         = ConfigurationManager.AppSettings["WebApiMTApi"].ToString();
                }
                catch (Exception ex)
                {
                    ex.ExceptionLog(String.Format("Ошибка выполнения считывания настроек потока {0}, сервиса {1}", service.ToString(), servece_owner), servece_owner, eventID);
                }
                int res_transfer = 0;
                int res_transfer_motion_signals = 0;

                MTTransfer mtt = new MTTransfer(service);
                mtt.DateTimeStartNewTracking = datetime_start_new_tracking;
                mtt.URLWagonsTracking        = url_wagons_tracking;
                mtt.UserWagonsTracking       = user_wagons_tracking;
                mtt.PSWWagonsTracking        = psw_wagons_tracking;
                mtt.APIWagonsTracking        = api_wagons_tracking;
                res_transfer = mtt.TransferWagonsTracking();                     // Перенос данных
                res_transfer_motion_signals = mtt.TransferWagonsMotionSignals(); // TODO: Добавить Формироание циклограмм
                TimeSpan ts = DateTime.Now - dt_start;
                string   mes_service_exec = String.Format("Поток {0} сервиса {1} - время выполнения: {2}:{3}:{4}({5}), код выполнения: res_transfer:{6}, res_transfer_motion_signals:{7}.", service.ToString(), servece_owner, ts.Hours, ts.Minutes, ts.Seconds, ts.Milliseconds, res_transfer, res_transfer_motion_signals);
                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);
            }
        }
示例#7
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);
            }
        }
示例#8
0
        /// <summary>
        /// Переписать в прибытие системы ИДС составы и вагоны старт с id_arrived
        /// </summary>
        public void MTTransfer_RewriteIDSArrivalSostav()
        {
            MTTransfer mtt = new MTTransfer();

            long id_arrived_start = 3124;

            EFMT.Concrete.EFArrivalSostav  ef_as     = new EFMT.Concrete.EFArrivalSostav(new EFMT.Concrete.EFDbContext());
            EFIDS.Concrete.EFArrivalSostav ef_ids_as = new EFIDS.Concrete.EFArrivalSostav(new EFIDS.Concrete.EFDbContext());
            EFIDS.Concrete.EFArrivalCars   ef_ids_ac = new EFIDS.Concrete.EFArrivalCars(new EFIDS.Concrete.EFDbContext());


            List <EFMT.Entities.ArrivalSostav> list = ef_as.Context.Where(s => s.id_arrived >= id_arrived_start && s.close == null).OrderBy(c => c.id_arrived).ToList();

            // Удалим сотавы и вагоны
            foreach (EFMT.Entities.ArrivalSostav mt_sost in list)
            {
                EFIDS.Entities.ArrivalSostav ids_st = ef_ids_as.Context.Where(s => s.id_sostav == mt_sost.id).FirstOrDefault();
                if (ids_st != null)
                {
                    List <EFIDS.Entities.ArrivalCars> list_ids_car = ef_ids_ac.Context.Where(c => c.id_arrival == ids_st.id).ToList();

                    List <long> list_id_car = list_ids_car.Select(c => c.id).ToList();

                    ef_ids_ac.Delete(list_id_car);
                    int res_del_cars = ef_ids_ac.Save();
                    ef_ids_as.Delete(ids_st.id);
                    int res_del_sost = ef_ids_as.Save();
                    Console.WriteLine("Удалил вагоны {0}, удалил состав {1}", res_del_cars, res_del_sost);
                }
                else
                {
                    Console.WriteLine("Состава {0}, нет в системе ИДС", mt_sost.id);
                }
            }

            // Перезапишим составы и вагоны
            foreach (EFMT.Entities.ArrivalSostav mt_sost in list)
            {
                int res_rew = mtt.InsertIDSArrivalSostav(mt_sost.id);
                Console.WriteLine("Состав {0}, перезаписан в системе ИДС, результат {1}", mt_sost.id, res_rew);
            }
        }
示例#9
0
 public void MTTransfer_TransferWagonsMotionSignalsOfNum()
 {
     MTTransfer mtt    = new MTTransfer();
     int        result = mtt.TransferWagonsMotionSignals(63664585);
 }
示例#10
0
        public void MTTransfer_TransferWagonsMotionSignals()
        {
            MTTransfer mtt = new MTTransfer();

            mtt.TransferWagonsMotionSignals();
        }