示例#1
0
        /// <summary>
        /// Поставить все составы прибывшие на АМКР по системе КИС (перечень составов берется из таблицы учета прибытия составов на АМКР системы RailWay)
        /// </summary>
        /// <returns></returns>
        public int PutCarsToStations(int mode)
        {
            IQueryable <Oracle_ArrivalSostav> list_noClose = oas.Get_ArrivalSostavNoClose();

            if (list_noClose == null | list_noClose.Count() == 0)
            {
                return(0);
            }
            foreach (Oracle_ArrivalSostav or_as in list_noClose.ToList())
            {
                Oracle_ArrivalSostav kis_sostav = new Oracle_ArrivalSostav();
                kis_sostav = or_as;
                // Поставим состав на станции АМКР системы RailCars
                int res_put = transfer_rc.PutCarsToStation(ref kis_sostav, mode);
                //TODO: ВКЛЮЧИТЬ КОД: Обновление составов на станции АМКР системы RailCars
                int res_upd = transfer_rc.UpdateCarsToStation(ref kis_sostav, mode);
                //TODO: ВЫПОЛНИТЬ КОД: Поставим состав на станции АМКР системы RailWay
                //.............................

                //Закрыть состав
                if (kis_sostav.CountWagons != null & kis_sostav.CountNatHIist != null & kis_sostav.CountSetWagons != null & kis_sostav.CountSetNatHIist != null
                    & kis_sostav.CountWagons == kis_sostav.CountNatHIist & kis_sostav.CountWagons == kis_sostav.CountSetWagons & kis_sostav.CountWagons == kis_sostav.CountSetNatHIist)
                {
                    kis_sostav.Close = DateTime.Now;
                    int res_close = oas.SaveOracle_ArrivalSostav(kis_sostav);

                    if (mode == 0)
                    {
                        int res_del_arr = transfer_rc.DeleteInArrival(kis_sostav.NaturNum, kis_sostav.DateTime);
                        //TODO: ВЫПОЛНИТЬ КОД: Убрать с прибытия с УЗ на станции АМКР в системе RailWay
                    }
                }
            }
            return(0); // TODO: исправить возврат
        }
示例#2
0
        /// <summary>
        /// Закрыть строку
        /// </summary>
        /// <param name="IDOrcSostav"></param>
        /// <returns></returns>
        public int CloseArrivalSostav(int IDOrcSostav)
        {
            Oracle_ArrivalSostav ors = Get_ArrivalSostav(IDOrcSostav);

            ors.Close = DateTime.Now;
            return(SaveOracle_ArrivalSostav(ors));
        }
示例#3
0
        /// <summary>
        /// Вернуть последнее время по которому перенесли состав
        /// </summary>
        /// <returns></returns>
        public DateTime?GetLastDateTime()
        {
            Oracle_ArrivalSostav oas = Get_ArrivalSostav().OrderByDescending(a => a.DateTime).FirstOrDefault();

            if (oas != null)
            {
                return(oas.DateTime);
            }
            return(null);
        }
示例#4
0
        public void Test_KIS_RC_Transfer_PutCarsToStation_UpdateCarsToStation()
        {
            KIS_RC_Transfer      transfer_rc = new KIS_RC_Transfer();
            Oracle_ArrivalSostav oras        = oas.Get_ArrivalSostav(4777);
            //52928280
            int res_put = transfer_rc.PutCarsToStation(ref oras, 1);
            //TODO: ВКЛЮЧИТЬ КОД: Обновление составов на станции АМКР системы RailCars
            int res_upd = transfer_rc.UpdateCarsToStation(ref oras, 1);

            //Console.WriteLine("Обновлено {0},{1}", res_put, res_upd);
        }
示例#5
0
        public void Test_KIS_RC_Transfer_SetListWagon()
        {
            Oracle_ArrivalSostav oras    = oas.Get_ArrivalSostav(1364);
            List <PromVagon>     list_pv = pc.GetVagon(oras.NaturNum, oras.IDOrcStation, oras.Day, oras.Month, oras.Year, oras.Napr == 2 ? true : false).ToList();
            List <PromNatHist>   list_nh = pc.GetNatHist(oras.NaturNum, oras.IDOrcStation, oras.Day, oras.Month, oras.Year, oras.Napr == 2 ? true : false).ToList();

            KIS_RC_Transfer kisrs = new KIS_RC_Transfer();
            int             res   = kisrs.SetListWagon(ref oras, list_pv, list_nh);

            Console.WriteLine("Обновлено {0}", res);
        }
示例#6
0
        /// <summary>
        /// Удалить
        /// </summary>
        /// <param name="IDOrcSostav"></param>
        /// <returns></returns>
        public Oracle_ArrivalSostav DeleteOracle_ArrivalSostav(int IDOrcSostav)
        {
            Oracle_ArrivalSostav dbEntry = context.Oracle_ArrivalSostav.Find(IDOrcSostav);

            if (dbEntry != null)
            {
                context.Oracle_ArrivalSostav.Remove(dbEntry);
                try
                {
                    context.SaveChanges();
                }
                catch (Exception e)
                {
                    LogRW.LogError(e, "DeleteOracle_ArrivalSostav", eventID);
                    return(null);
                }
            }
            return(dbEntry);
        }
示例#7
0
        /// <summary>
        /// Добавить или править
        /// </summary>
        /// <param name="TypeValue"></param>
        /// <returns></returns>
        public int SaveOracle_ArrivalSostav(Oracle_ArrivalSostav oracle_ArrivalSostav)
        {
            Oracle_ArrivalSostav dbEntry;

            if (oracle_ArrivalSostav.IDOrcSostav == 0)
            {
                dbEntry = new Oracle_ArrivalSostav()
                {
                    IDOrcSostav        = oracle_ArrivalSostav.IDOrcSostav,
                    DateTime           = oracle_ArrivalSostav.DateTime,
                    Day                = oracle_ArrivalSostav.Day,
                    Month              = oracle_ArrivalSostav.Month,
                    Year               = oracle_ArrivalSostav.Year,
                    Hour               = oracle_ArrivalSostav.Hour,
                    Minute             = oracle_ArrivalSostav.Minute,
                    NaturNum           = oracle_ArrivalSostav.NaturNum,
                    IDOrcStation       = oracle_ArrivalSostav.IDOrcStation,
                    WayNum             = oracle_ArrivalSostav.WayNum,
                    Napr               = oracle_ArrivalSostav.Napr,
                    CountWagons        = oracle_ArrivalSostav.CountWagons,
                    CountNatHIist      = oracle_ArrivalSostav.CountNatHIist,
                    CountSetWagons     = oracle_ArrivalSostav.CountSetWagons,
                    CountSetNatHIist   = oracle_ArrivalSostav.CountSetNatHIist,
                    Close              = oracle_ArrivalSostav.Close,
                    Status             = oracle_ArrivalSostav.Status,
                    ListWagons         = oracle_ArrivalSostav.ListWagons,
                    ListNoSetWagons    = oracle_ArrivalSostav.ListNoSetWagons,
                    ListNoUpdateWagons = oracle_ArrivalSostav.ListNoUpdateWagons,
                    Message            = oracle_ArrivalSostav.Message
                };
                context.Oracle_ArrivalSostav.Add(dbEntry);
            }
            else
            {
                dbEntry = context.Oracle_ArrivalSostav.Find(oracle_ArrivalSostav.IDOrcSostav);
                if (dbEntry != null)
                {
                    //dbEntry.IDOrcSostav = oracle_ArrivalSostav.IDOrcSostav;
                    dbEntry.DateTime           = oracle_ArrivalSostav.DateTime;
                    dbEntry.Day                = oracle_ArrivalSostav.Day;
                    dbEntry.Month              = oracle_ArrivalSostav.Month;
                    dbEntry.Year               = oracle_ArrivalSostav.Year;
                    dbEntry.Hour               = oracle_ArrivalSostav.Hour;
                    dbEntry.Minute             = oracle_ArrivalSostav.Minute;
                    dbEntry.NaturNum           = oracle_ArrivalSostav.NaturNum;
                    dbEntry.IDOrcStation       = oracle_ArrivalSostav.IDOrcStation;
                    dbEntry.WayNum             = oracle_ArrivalSostav.WayNum;
                    dbEntry.Napr               = oracle_ArrivalSostav.Napr;
                    dbEntry.CountWagons        = oracle_ArrivalSostav.CountWagons;
                    dbEntry.CountNatHIist      = oracle_ArrivalSostav.CountNatHIist;
                    dbEntry.CountSetWagons     = oracle_ArrivalSostav.CountSetWagons;
                    dbEntry.CountSetNatHIist   = oracle_ArrivalSostav.CountSetNatHIist;
                    dbEntry.Close              = oracle_ArrivalSostav.Close;
                    dbEntry.Status             = oracle_ArrivalSostav.Status;
                    dbEntry.ListWagons         = oracle_ArrivalSostav.ListWagons;
                    dbEntry.ListNoSetWagons    = oracle_ArrivalSostav.ListNoSetWagons;
                    dbEntry.ListNoUpdateWagons = oracle_ArrivalSostav.ListNoUpdateWagons;
                    dbEntry.Message            = oracle_ArrivalSostav.Message;
                }
            }
            try
            {
                context.SaveChanges();
            }
            catch (Exception e)
            {
                LogRW.LogError(e, "SaveOracle_ArrivalSostav", eventID);
                //LogRW.LogError(String.Format("SaveOracle_ArrivalSostav IDOrcSostav:{0},NaturNum:{1},DateTime:{2},CountWagons:{3},CountSetWagons:{4},ListWagons:{5},ListNoSetWagons:{6},ListNoUpdateWagons:{7},WayNum:{8},Napr;{9}",
                //    oracle_ArrivalSostav.IDOrcSostav,
                //    oracle_ArrivalSostav.NaturNum,
                //    oracle_ArrivalSostav.DateTime,
                //    oracle_ArrivalSostav.CountWagons,
                //    oracle_ArrivalSostav.CountSetWagons,
                //    oracle_ArrivalSostav.ListWagons,
                //    oracle_ArrivalSostav.ListNoSetWagons,
                //    oracle_ArrivalSostav.ListNoUpdateWagons,
                //    oracle_ArrivalSostav.WayNum,
                //    oracle_ArrivalSostav.Napr)
                //, eventID);
                return(-1);
            }
            return(dbEntry.IDOrcSostav);
        }
示例#8
0
 /// <summary>
 /// Сохранить добавить состав
 /// </summary>
 /// <param name="Oracle_ArrivalSostav"></param>
 /// <returns></returns>
 public int SaveOracle_ArrivalSostav(Oracle_ArrivalSostav Oracle_ArrivalSostav)
 {
     return(rep_as.SaveOracle_ArrivalSostav(Oracle_ArrivalSostav));
 }