コード例 #1
0
        /// <summary>
        /// Поставить все составы из прибытия системы КИС (перечень составов берется из таблицы учета отправки из внутрених станций системы КИС)
        /// </summary>
        /// <returns></returns>
        public int PutOutputSostavToStation()
        {
            IQueryable <Oracle_OutputSostav> list_noClose = oos.GetOutputSostavNoClose();

            if (list_noClose == null | list_noClose.Count() == 0)
            {
                return(0);
            }
            foreach (Oracle_OutputSostav or_os in list_noClose.ToList())
            {
                Oracle_OutputSostav kis_out_sostav = new Oracle_OutputSostav();
                kis_out_sostav = or_os;
                //Закрыть состав
                if (kis_out_sostav.CountWagons != null & kis_out_sostav.CountSetWagons != null & kis_out_sostav.CountWagons == kis_out_sostav.CountSetWagons)
                {
                    kis_out_sostav.Close = DateTime.Now;
                    int res_close = oos.SaveOracle_OutputSostav(kis_out_sostav);
                }

                // Поставим состав на станции АМКР системы RailCars
                int res_put = transfer_rc.PutOutputSostavToStation(ref kis_out_sostav);
                //TODO: ВЫПОЛНИТЬ КОД: Поставим состав на станции АМКР системы RailWay

                //.............................
            }
            return(0); // TODO: исправить возврат
        }
コード例 #2
0
        /// <summary>
        /// Перенос вагонов по  отправке
        /// </summary>
        public void Test_KIS_RC_Transfer_PutOutputSostavToStation()
        {
            Oracle_OutputSostav oros = oos.GetOutputSostav(134);

            KIS_RC_Transfer kisrs = new KIS_RC_Transfer();
            int             res   = kisrs.PutOutputSostavToStation(ref oros);

            Console.WriteLine("Обновлено {0}", res);
        }
コード例 #3
0
        /// <summary>
        /// Получить последнюю дату
        /// </summary>
        /// <returns></returns>
        public DateTime?GetLastDateTime()
        {
            Oracle_OutputSostav ois = GetOutputSostav().OrderByDescending(i => i.DateTime).FirstOrDefault();

            if (ois != null)
            {
                return(ois.DateTime);
            }
            return(null);
        }
コード例 #4
0
        /// <summary>
        /// Добавить или править
        /// </summary>
        /// <param name="Oracle_OutputSostav"></param>
        /// <returns></returns>
        public int SaveOracle_OutputSostav(Oracle_OutputSostav Oracle_OutputSostav)
        {
            Oracle_OutputSostav dbEntry;

            if (Oracle_OutputSostav.ID == 0)
            {
                dbEntry = new Oracle_OutputSostav()
                {
                    ID                = 0,
                    DateTime          = Oracle_OutputSostav.DateTime,
                    DocNum            = Oracle_OutputSostav.DocNum,
                    IDOrcStationFrom  = Oracle_OutputSostav.IDOrcStationFrom,
                    IDOrcStationOn    = Oracle_OutputSostav.IDOrcStationOn,
                    WayNumOn          = Oracle_OutputSostav.WayNumOn,
                    NaprOn            = Oracle_OutputSostav.NaprOn,
                    CountWagons       = Oracle_OutputSostav.CountWagons,
                    CountSetWagons    = Oracle_OutputSostav.CountSetWagons,
                    CountUpdareWagons = Oracle_OutputSostav.CountUpdareWagons,
                    Close             = Oracle_OutputSostav.Close,
                    Status            = Oracle_OutputSostav.Status,
                    Message           = Oracle_OutputSostav.Message
                };
                context.Oracle_OutputSostav.Add(dbEntry);
            }
            else
            {
                //int c = Oracle_OutputSostav.Message.Length;
                dbEntry = context.Oracle_OutputSostav.Find(Oracle_OutputSostav.ID);
                if (dbEntry != null)
                {
                    dbEntry.DateTime          = Oracle_OutputSostav.DateTime;
                    dbEntry.DocNum            = Oracle_OutputSostav.DocNum;
                    dbEntry.IDOrcStationFrom  = Oracle_OutputSostav.IDOrcStationFrom;
                    dbEntry.IDOrcStationOn    = Oracle_OutputSostav.IDOrcStationOn;
                    dbEntry.WayNumOn          = Oracle_OutputSostav.WayNumOn;
                    dbEntry.NaprOn            = Oracle_OutputSostav.NaprOn;
                    dbEntry.CountWagons       = Oracle_OutputSostav.CountWagons;
                    dbEntry.CountSetWagons    = Oracle_OutputSostav.CountSetWagons;
                    dbEntry.CountUpdareWagons = Oracle_OutputSostav.CountUpdareWagons;
                    dbEntry.Close             = Oracle_OutputSostav.Close;
                    dbEntry.Status            = Oracle_OutputSostav.Status;
                    dbEntry.Message           = Oracle_OutputSostav.Message;
                }
            }
            try
            {
                context.SaveChanges();
            }
            catch (Exception e)
            {
                LogRW.LogError(e, "SaveOracle_OutputSostav", eventID);
                return(-1);
            }
            return(dbEntry.ID);
        }
コード例 #5
0
        /// <summary>
        /// Проверить изменения в количестве вагонов в составе
        /// </summary>
        /// <param name="o_os"></param>
        /// <param name="doc"></param>
        protected void CheckChangeExistOutputSostav(Oracle_OutputSostav o_os, int doc)
        {
            int count_vag = vc.GetCountSTPR1OutStVag(doc);

            // Количество вагонов изменено
            if (o_os.CountWagons > 0 & count_vag > 0 & o_os.CountWagons != count_vag)
            {
                // Изменим количество вагонов и отправим на переустановку вагонов
                o_os.CountWagons = count_vag;
                o_os.Status      = (int)statusSting.Update;
                o_os.Close       = null;
                oos.SaveOracle_OutputSostav(o_os);
            }
        }
コード例 #6
0
        /// <summary>
        ///  Удалить
        /// </summary>
        /// <param name="ID"></param>
        /// <returns></returns>
        public Oracle_OutputSostav DeleteOracle_OutputSostav(int ID)
        {
            Oracle_OutputSostav dbEntry = context.Oracle_OutputSostav.Find(ID);

            if (dbEntry != null)
            {
                context.Oracle_OutputSostav.Remove(dbEntry);
                try
                {
                    context.SaveChanges();
                }
                catch (Exception e)
                {
                    LogRW.LogError(e, "DeleteOracle_OutputSostav", eventID);
                    return(null);
                }
            }
            return(dbEntry);
        }
コード例 #7
0
 /// <summary>
 /// Добавить сохранить
 /// </summary>
 /// <param name="Oracle_OutputSostav"></param>
 /// <returns></returns>
 public int SaveOracle_OutputSostav(Oracle_OutputSostav Oracle_OutputSostav)
 {
     return(this.rep_os.SaveOracle_OutputSostav(Oracle_OutputSostav));
 }