/// <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: исправить возврат }
/// <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); }
/// <summary> /// Получить последнюю дату /// </summary> /// <returns></returns> public DateTime?GetLastDateTime() { Oracle_OutputSostav ois = GetOutputSostav().OrderByDescending(i => i.DateTime).FirstOrDefault(); if (ois != null) { return(ois.DateTime); } return(null); }
/// <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); }
/// <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); } }
/// <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); }
/// <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)); }