/// <summary> /// Создать и сохранить строку Oracle_OutputSostav /// </summary> /// <param name="out_sostav"></param> /// <param name="status"></param> /// <returns></returns> protected int SaveOutputSostav(NumVagStpr1OutStDoc out_sostav, statusSting status) { try { return(oos.SaveOracle_OutputSostav(new Oracle_OutputSostav() { ID = 0, DateTime = out_sostav.DATE_OUT_ST, DocNum = out_sostav.ID_DOC, IDOrcStationFrom = out_sostav.K_STAN != null ? (int)out_sostav.K_STAN : 0, IDOrcStationOn = out_sostav.ST_OUT_ST != null ? (int)out_sostav.ST_OUT_ST : 0, WayNumOn = out_sostav.N_PUT_OUT_ST != null ? (int)out_sostav.N_PUT_OUT_ST : 0, NaprOn = out_sostav.NAPR_OUT_ST != null ? (int)out_sostav.NAPR_OUT_ST : 0, CountWagons = null, CountSetWagons = null, CountUpdareWagons = null, Close = null, Status = (int)status, Message = null })); } catch (Exception e) { LogRW.LogError(String.Format("[KISTransfer.SaveOutputSostav]: Ошибка выполнения переноса информации о составе (копирование по отправке из внутрених станций) из базы данных КИС в таблицу учета прибытия составов на АМКР (источник: {0}, № {1}, описание: {2})", e.Source, e.HResult, e.Message), this.eventID); return(-1); } }
/// <summary> /// Удалить ранее перенесеные составы /// </summary> /// <param name="list"></param> /// <returns></returns> protected int DeleteArrivalSostav(List <Oracle_ArrivalSostav> list) { if (list == null | list.Count == 0) { return(0); } int delete = 0; int errors = 0; foreach (Oracle_ArrivalSostav or_as in list) { // Удалим вагоны из системы RailCars transfer_rc.DeleteVagonsToNaturList(or_as.NaturNum, or_as.DateTime); // TODO: Сделать код удаления вагонов из RailWay or_as.Close = DateTime.Now; or_as.Status = (int)statusSting.Delete; int res = oas.SaveOracle_ArrivalSostav(or_as); if (res > 0) { delete++; } if (res < 1) { LogRW.LogError(String.Format("[KISTransfer.DeleteArrivalSostav] :Ошибка удаления данных из таблицы учета прибытия составов на АМКР, IDOrcSostav: {0}", or_as.IDOrcSostav), this.eventID); errors++; } } LogRW.LogWarning(String.Format("Определено удаленных ранее прибывших составов в системе КИС {0}, удалено из таблицы учета прибытия составов на АМКР {1}, ошибок удаления {2}", list.Count(), delete, errors), this.eventID); return(delete); }
/// <summary> /// Добавить новые составы появившиеся после переноса /// </summary> /// <param name="list"></param> protected int InsertArrivalSostav(List <PromSostav> list) { if (list == null | list.Count == 0) { return(0); } int insers = 0; int errors = 0; foreach (PromSostav ps in list) { int res = SaveArrivalSostav(ps, statusSting.Insert); if (res > 0) { insers++; } if (res < 1) { LogRW.LogError(String.Format("[KISTransfer.InsertArrivalSostav] :Ошибка добавления данных в таблицу учета прибытия составов на АМКР, натурный лист: {0}, дата:{1}-{2}-{3} {4}:{5}", ps.N_NATUR, ps.D_DD, ps.D_MM, ps.D_YY, ps.T_HH, ps.T_MI), this.eventID); errors++; } } LogRW.LogWarning(String.Format("Определено добавленных прибывших составов в системе КИС {0}, добавлено таблицу учета прибытия составов на АМКР {1}, ошибок добавления {2}", list.Count(), insers, errors), this.eventID); return(insers); }
/// <summary> /// Удалить вагоны пренадлежащие документу по отправке на станцию /// </summary> /// <param name="doc"></param> /// <returns></returns> public int DeleteVagonsToDocOutput(int doc) { int delete = 0; try { IQueryable <VAGON_OPERATIONS> list = GetVagonsOperationsToDocOutputSostav(doc).OrderBy(o => o.num_vag_on_way); if (list == null) { return(0); } foreach (VAGON_OPERATIONS vag in list.ToList()) { int res = DeleteChainVagons(vag.id_oper, (int)vag.num_vagon, vag.IDSostav); if (res > 0) { delete++; } } } catch (Exception e) { LogRW.LogError(e, String.Format("DeleteVagonsToDocOutput(doc:{0})", doc), eventID); return(-1); } return(delete); }
/// <summary> /// смищение(выравнивание) вагонов на пути с начальным номером /// </summary> /// <param name="way"></param> /// <param name="start_num"></param> public int OffSetCars(int way, int start_num) { try { int result = 0; List <VAGON_OPERATIONS> list = new List <VAGON_OPERATIONS>(); list = GetWagonsOfWay(way).Where(o => o.lock_id_way == null).OrderBy(o => o.num_vag_on_way).ToList(); foreach (VAGON_OPERATIONS wag in list) { if (wag.num_vag_on_way != start_num) { wag.num_vag_on_way = start_num; int res = SaveVagonsOperations(wag); if (res > 0) { result++; } if (res < 0) { LogRW.LogError(String.Format("[OffSetCars]: Ошибка выравнивания позиции вагона №{0}, id_oper {1}", wag.num_vagon, wag.id_oper), eventID); } } start_num++; } return(result); } catch (Exception e) { LogRW.LogError(String.Format("[Maneuvers.OffSetCars]: Ошибка, источник: {0}, № {1}, описание: {2}", e.Source, e.HResult, e.Message), this.eventID); return(-1); } }
/// <summary> /// Получить тип операции над составом /// </summary> /// <param name="file"></param> /// <returns></returns> protected int GetOperationToXml(string file) { try { XDocument doc = XDocument.Load(file); foreach (XElement element in doc.Element("NewDataSet").Elements("Table")) { string opr = (string)element.Element("Operation"); if (String.IsNullOrEmpty(opr)) { return((int)tMTOperation.not); } if (opr.Trim().ToUpper() == "ПРИБ") { return((int)tMTOperation.coming); } if (opr.Trim().ToUpper() == "ТСП") { return((int)tMTOperation.tsp); } } } catch (Exception e) { LogRW.LogError(String.Format("[MT.GetOperationToXml]: Ошибка определения операции файл:{0}. Подробно: (Источник:{1}, Код:{2}, Описание:{3})", file, e.Source, e.HResult, e.Message), this.eventID); } return((int)tMTOperation.not); }
/// <summary> /// Добавить или править /// </summary> /// <param name="ReferenceCountry"></param> /// <returns></returns> public int SaveReferenceCountry(ReferenceCountry ReferenceCountry) { ReferenceCountry dbEntry; if (ReferenceCountry.IDCountry == 0) { dbEntry = new ReferenceCountry() { IDCountry = 0, Country = ReferenceCountry.Country, Code = ReferenceCountry.Code }; context.ReferenceCountry.Add(dbEntry); } else { dbEntry = context.ReferenceCountry.Find(ReferenceCountry.IDCountry); if (dbEntry != null) { dbEntry.Country = ReferenceCountry.Country; dbEntry.Code = ReferenceCountry.Code; } } try { context.SaveChanges(); } catch (Exception e) { LogRW.LogError(e, "SaveReferenceCountry", eventID); return(-1); } return(dbEntry.IDCountry); }
private int dayControllingDelete; // кол. дней период присутствия информации в прибытии и отправке. public CopyingInlandKIS() { try { Settings set = new Settings(); set.Get_Project(this.className, this.classDescription, true); // Проверим наличие проекта this.activeCopyOutput = (bool)set.GetBoolSettingConfigurationManager("activeCopyOutput", this.className, true); this.activeCopyInput = (bool)set.GetBoolSettingConfigurationManager("activeCopyInput", this.className, true); this.activeDelete = (bool)set.GetBoolSettingConfigurationManager("activeDelete", this.className, true); this.dayControllingCopyOutput_double = (int)set.GetIntSettingConfigurationManager("dayControllingCopyOutput_double", this.className, true); this.dayControllingCopyOutput_ins = (int)set.GetIntSettingConfigurationManager("dayControllingCopyOutput_ins", this.className, true); this.dayControllingCopyOutput_close = (int)set.GetIntSettingConfigurationManager("dayControllingCopyOutput_close", this.className, true); this.dayControllingCopyInput_del = (int)set.GetIntSettingConfigurationManager("dayControllingCopyInput_del", this.className, true); this.dayControllingCopyInput_ins = (int)set.GetIntSettingConfigurationManager("dayControllingCopyInput_ins", this.className, true); this.dayControllingDelete = (int)set.GetIntSettingConfigurationManager("dayControllingDelete", this.className, true); } catch (Exception e) { error_settings = true; LogRW.LogError(String.Format("[CopyingInlandKIS]: Ошибка выполнения инициализации classa {0} (источник: {1}, № {2}, описание: {3})", this.className, e.Source, e.HResult, e.Message), this.eventID); } }
/// <summary> /// Получить список файлов составов /// </summary> /// <param name="files"></param> /// <returns></returns> protected List <FileSostav> GetFileSostav(string[] files) { List <FileSostav> listfs = new List <FileSostav>(); foreach (string file in files) { try { if (!String.IsNullOrEmpty(file)) { FileInfo fi = new FileInfo(file); string index = fi.Name.Substring(5, 13); DateTime date = DateTime.Parse(fi.Name.Substring(19, 4) + "-" + fi.Name.Substring(23, 2) + "-" + fi.Name.Substring(25, 2) + " " + fi.Name.Substring(27, 2) + ":" + fi.Name.Substring(29, 2) + ":00"); int operation = GetOperationToXml(file); // Добавим строку listfs.Add(new FileSostav() { Index = index, Date = date, Operation = operation, File = file }); } } catch (Exception e) { LogRW.LogError(String.Format("[MT.GetFileSostav] :Ошибка формирования строки списка файлов состава List<FileSostav>, файл:{0}. Подробно: (Источник:{1}, Код:{2}, Описание:{3})", file, e.Source, e.HResult, e.Message), this.eventID); } } return(listfs); }
public void OnTimer(object sender, System.Timers.ElapsedEventArgs args) { try { if (!runTimer) { DateTime dt_start = DateTime.Now; LogRW.LogInformation(String.Format("Сервис {0} - активен", this.ServiceName), this.eventID); ArrivalMT amt = new ArrivalMT(); amt.Transfer(); ArrivalKIS akis = new ArrivalKIS(); akis.Transfer(); SynchronizeKIS skis = new SynchronizeKIS(); skis.Synchronize(); CopyingInlandKIS cikis = new CopyingInlandKIS(); cikis.Copy(); TimeSpan ts = DateTime.Now - dt_start; LogRW.LogInformation(String.Format("Сервис {0} - время выполнения: {1} мин {2} сек {3} мсек", this.ServiceName, ts.Minutes, ts.Seconds, ts.Milliseconds), this.eventID); } else { LogRW.LogWarning(String.Format("Сервис {0} - занят", this.ServiceName), this.eventID); } } catch (Exception e) { LogRW.LogError(String.Format("[RWServiceArrival.OnTimer] : Общая ошибка выполнения сервиса {0} (источник: {1}, № {2}, описание: {3})", this.ServiceName, e.Source, e.HResult, e.Message), this.eventID); } finally { runTimer = false; //LogRW.LogInformation(String.Format("Сервис {0} - не активен", this.ServiceName), this.eventID); } }
public int Synchronize() { if (error_settings) { LogRW.LogWarning("Выполнение метода SynchronizeKIS.Synchronize() - отменено, ошибка нет данных Settings.", this.eventID); } if (!this.activeWagons) { LogRW.LogWarning(String.Format("Синхронизация справочника вагонов classa:{0} - отключена. (Settings:activeSynchronizeWagons).", this.className), this.eventID); return(0); } KIS_Transfer kist = new KIS_Transfer(); LogRW.LogInformation(String.Format("Сервис синхронизации справочников между системами КИС и RailWay :{0} - запущен", this.className), this.eventID); try { if (activeWagons) { int res_swagons = kist.SynchronizeWagons(this.dayControllingWagons); } } catch (Exception e) { LogRW.LogError(String.Format("[SynchronizeKIS.Synchronize]: Общая ошибка синхронизации справочников между системами КИС и RailWay (источник: {0}, № {1}, описание: {2})", e.Source, e.HResult, e.Message), this.eventID); } return(0); // TODO: исправить возврат }
/// <summary> /// Добавить или править /// </summary> /// <param name="TUPIKI"></param> /// <returns></returns> public int SaveTUPIKI(TUPIKI tupiki) { TUPIKI dbEntry; if (tupiki.id_tupik == 0) { dbEntry = new TUPIKI() { id_tupik = 0, id_ora = tupiki.id_ora, name = tupiki.name }; context.TUPIKI.Add(dbEntry); } else { dbEntry = context.TUPIKI.Find(tupiki.id_tupik); if (dbEntry != null) { dbEntry.id_ora = tupiki.id_ora; dbEntry.name = tupiki.name; } } try { context.SaveChanges(); } catch (Exception e) { LogRW.LogError(e, "SaveTUPIKI", eventID); return(-1); } return(dbEntry.id_tupik); }
/// <summary> /// Сохранить состав из КИС /// </summary> /// <param name="ps"></param> /// <returns></returns> protected int SaveArrivalSostav(PromSostav ps, statusSting status) { try { DateTime DT = DateTime.Parse(ps.D_DD.ToString() + "-" + ps.D_MM.ToString() + "-" + ps.D_YY.ToString() + " " + ps.T_HH.ToString() + ":" + ps.T_MI.ToString() + ":00", CultureInfo.CreateSpecificCulture("ru-RU")); return(oas.SaveOracle_ArrivalSostav(new Oracle_ArrivalSostav() { IDOrcSostav = 0, DateTime = DT, Day = (int)ps.D_DD, Month = (int)ps.D_MM, Year = (int)ps.D_YY, Hour = (int)ps.T_HH, Minute = (int)ps.T_MI, NaturNum = ps.N_NATUR, IDOrcStation = (int)ps.K_ST, WayNum = ps.N_PUT, Napr = ps.NAPR, CountWagons = null, CountNatHIist = null, CountSetWagons = null, CountSetNatHIist = null, Close = null, Status = (int)status, ListWagons = null, ListNoSetWagons = null, ListNoUpdateWagons = null, })); } catch (Exception e) { LogRW.LogError(String.Format("[KISTransfer.SaveArrivalSostav]: Ошибка выполнения переноса информации о составе из базы данных КИС в таблицу учета прибытия составов на АМКР (источник: {0}, № {1}, описание: {2})", e.Source, e.HResult, e.Message), this.eventID); return(-1); } }
/// <summary> /// Конструктор /// </summary> public ArrivalMT() { try { Settings set = new Settings(); set.Get_Project(this.className, this.classDescription, true); // Проверим наличие проекта // Получим настройки подключения connect_SFTP = new connectSFTP() { Host = set.GetStringSettingConfigurationManager("Host", this.className, true), Port = (int)set.GetIntSettingConfigurationManager("Port", this.className, true), User = set.GetStringSettingConfigurationManager("User", this.className, true), PSW = set.GetStringSettingConfigurationManager("PSW", this.className, true) }; this.fromPathHost = set.GetStringSettingConfigurationManager("fromPathsHost", this.className, true); this.FileFiltrHost = set.GetStringSettingConfigurationManager("FileFiltrHost", this.className, true); this.toDirPath = set.GetStringSettingConfigurationManager("toDirPath", this.className, true); this.toTMPDirPath = set.GetStringSettingConfigurationManager("toTMPDirPath", this.className, true); this.DeleteFile = (bool)set.GetBoolSettingConfigurationManager("DeleteFile", this.className, true); this.RewriteFile = (bool)set.GetBoolSettingConfigurationManager("RewriteFile", this.className, true); this.dayMonitoringTrains = (int)set.GetIntSettingConfigurationManager("dayMonitoringTrains", this.className, true); } catch (Exception e) { error_settings = true; LogRW.LogError(String.Format("[ArrivalMT.ArrivalMT] : Ошибка выполнения инициализации classa {0} (источник: {1}, № {2}, описание: {3})", this.className, e.Source, e.HResult, e.Message), this.eventID); } }
/// <summary> /// сделать маневр по вагонам стоящим на указаном пути /// </summary> /// <param name="way"></param> /// <returns></returns> public int ManeuverCars(int way, Side side_station) { int result = 0; // Получить вагоны и отгрупировать их по путям отправки List <IGrouping <int?, VAGON_OPERATIONS> > group_list = new List <IGrouping <int?, VAGON_OPERATIONS> >(); group_list = rc_vo.GetWagonsOfWay(way).Where(o => o.lock_id_way != null).GroupBy(o => o.lock_id_way).ToList(); //var group_list = rc_vo.GetWagonsOfWay(way).Where(o => o.lock_id_way != null).GroupBy(o => o.lock_id_way).ToList(); try { foreach (IGrouping <int?, VAGON_OPERATIONS> group_wag in group_list) { List <VAGON_OPERATIONS> list_wag = new List <VAGON_OPERATIONS>(); list_wag = group_wag.OrderBy(o => o.lock_order).ToList(); int res = ManeuverCars(list_wag, side_station); if (res > 0) { result += res; } } rc_vo.OffSetCars(way, 1); return(result); } catch (Exception e) { LogRW.LogError(String.Format("[Maneuvers.ManeuverCars(2)]: Ошибка, источник: {0}, № {1}, описание: {2}", e.Source, e.HResult, e.Message), this.eventID); return((int)errorManeuvers.global); } }
/// <summary> /// удалить строку состава отсутсвующего после переноса /// </summary> /// <param name="list"></param> /// <returns></returns> protected int DeleteOutputSostav(List <Oracle_OutputSostav> list) { if (list == null | list.Count == 0) { return(0); } int delete = 0; int errors = 0; foreach (Oracle_OutputSostav or_os in list) { // Удалим вагоны из системы RailCars transfer_rc.DeleteVagonsToDocOutput(or_os.DocNum); // TODO: Сделать код удаления вагонов из RailWay or_os.Close = DateTime.Now; or_os.Status = (int)statusSting.Delete; int res = oos.SaveOracle_OutputSostav(or_os); if (res > 0) { delete++; } if (res < 1) { LogRW.LogError(String.Format("[KISTransfer.DeleteOutputSostav] :Ошибка удаления данных из таблицы учета прибытия составов (копирование по отправке из внутрених станций), ID: {0}", or_os.ID), this.eventID); errors++; } } LogRW.LogWarning(String.Format("Определено для удаленния прибывших составов (копирование по отправке из внутрених станций) {0}, удалено {1}, ошибок удаления {2}", list.Count(), delete, errors), this.eventID); return(delete); }
/// <summary> /// Сделать маневр по группе вагонов /// </summary> /// <param name="list"></param> /// <param name="side_station"></param> /// <returns></returns> public int ManeuverCars(List <VAGON_OPERATIONS> list, Side side_station) { if (list.Count() == 0) { return((int)errorManeuvers.no_list_wagon_operations); } int result = 0; try { var group_site = list.GroupBy(o => o.lock_side); foreach (var group_wag in group_site.ToList()) { List <VAGON_OPERATIONS> list_wag = new List <VAGON_OPERATIONS>(); list_wag = list.OrderByDescending(o => o.lock_order).ToList(); //TODO: Включить если ненадо учитывать правило следования вагонов //list_wag = group_wag.Key == (int)side_station ? list.OrderByDescending(o => o.lock_order).ToList() : list.OrderBy(o => o.lock_order).ToList(); foreach (VAGON_OPERATIONS wag in list_wag) { int res = ManeuverCar(wag, side_station); if (res > 0) { result++; } } } return(result); } catch (Exception e) { LogRW.LogError(String.Format("[Maneuvers.ManeuverCars(1)]: Ошибка, источник: {0}, № {1}, описание: {2}", e.Source, e.HResult, e.Message), this.eventID); return((int)errorManeuvers.global); } }
/// <summary> /// Добавить новые составы появившиеся после переноса /// </summary> /// <param name="list"></param> protected int InsertOutputSostav(List <NumVagStpr1OutStDoc> list) { if (list == null | list.Count == 0) { return(0); } int insers = 0; int errors = 0; foreach (NumVagStpr1OutStDoc out_s in list) { int res = SaveOutputSostav(out_s, statusSting.Insert); if (res > 0) { insers++; } if (res < 1) { LogRW.LogError(String.Format("[KISTransfer.InsertOutputSostav] :Ошибка добавления данных в таблицу учета прибытия составов (копирование по отправке из внутрених станций), номер документа: {0}", out_s.ID_DOC), this.eventID); errors++; } } LogRW.LogWarning(String.Format("Определено для добавленных новых составов (копирование по отправке из внутрених станций) {0}, добавлено {1}, ошибок добавления {2}", list.Count(), insers, errors), this.eventID); return(insers); }
/// <summary> /// Добавить или править /// </summary> /// <param name="WAYS"></param> /// <returns></returns> public int SaveVAGONS(VAGONS VAGONS) { VAGONS dbEntry; if (VAGONS.id_vag == 0) { dbEntry = new VAGONS() { id_vag = VAGONS.id_vag, num = VAGONS.num, id_ora = VAGONS.id_ora, id_owner = VAGONS.id_owner, id_stat = VAGONS.id_stat, is_locom = VAGONS.is_locom, locom_seria = VAGONS.locom_seria, rod = VAGONS.rod, st_otpr = VAGONS.st_otpr, date_ar = VAGONS.date_ar, date_end = VAGONS.date_end, date_in = VAGONS.date_in, IDSostav = VAGONS.IDSostav, Natur = VAGONS.Natur, Transit = VAGONS.Transit }; context_edit.VAGONS.Add(dbEntry); } else { dbEntry = context_edit.VAGONS.Find(VAGONS.id_vag); if (dbEntry != null) { //dbEntry.id_vag = VAGONS.id_vag; dbEntry.num = VAGONS.num; dbEntry.id_ora = VAGONS.id_ora; dbEntry.id_owner = VAGONS.id_owner; dbEntry.id_stat = VAGONS.id_stat; dbEntry.is_locom = VAGONS.is_locom; dbEntry.locom_seria = VAGONS.locom_seria; dbEntry.rod = VAGONS.rod; dbEntry.st_otpr = VAGONS.st_otpr; dbEntry.date_ar = VAGONS.date_ar; dbEntry.date_end = VAGONS.date_end; dbEntry.date_in = VAGONS.date_in; dbEntry.IDSostav = VAGONS.IDSostav; dbEntry.Natur = VAGONS.Natur; dbEntry.Transit = VAGONS.Transit; } } try { context_edit.SaveChanges(); } catch (Exception e) { LogRW.LogError(e, "SaveVAGONS", eventID); return(-1); } return(dbEntry.id_vag); }
/// <summary> /// Зачистить список вагонов в закладках прибытие и ожидают зачисления /// </summary> /// <param name="day"></param> /// <returns></returns> public int ClearArrivingWagons(int day) { //TODO: ВЫПОЛНИТЬ чистку в системе RailWay int res_ca = transfer_rc.ClearArrivingWagons(new int[] { 1, 3, 9, 10, 11, 14, 18, 19, 21, 22, 25, 26 }, day); int res_cp = transfer_rc.ClearPendingWagons(new int[] { 1, 3, 9, 10, 11, 14, 18, 19, 21, 22, 25, 26 }, day); LogRW.LogWarning(String.Format("Очищено – закладка прибытие: {0} строк, закладка ожидают зачисления: {1} строк.", res_ca, res_cp), this.eventID); return(res_ca + res_cp); }
/// <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> /// <returns></returns> public IQueryable<SHOPS> GetShops() { try { return rep_sh.SHOPS; } catch (Exception e) { LogRW.LogError(e, "GetShops", eventID); return null; } }
/// <summary> /// Получить перечень всех цехов /// </summary> /// <returns></returns> public IQueryable <PromCex> GetCex() { try { return(rep_pcx.PromCex); } catch (Exception e) { LogRW.LogError(e, "GetCex", eventID); return(null); } }
/// <summary> /// Показать все составы /// </summary> /// <returns></returns> public IQueryable <Oracle_OutputSostav> GetOutputSostav() { try { return(rep_os.Oracle_OutputSostav); } catch (Exception e) { LogRW.LogError(e, "GetOutputSostav", eventID); return(null); } }
public int DeleteOracle_RulesCopy(int id_station_on, int id_station_from, typeOracleRules tp) { try { return(rep_rc.db.ExecuteSqlCommand("DELETE FROM RailWay.Oracle_RulesCopy WHERE IDStationOn=" + id_station_on.ToString() + " AND IDStationFrom = " + id_station_from.ToString() + " AND TypeCopy = " + ((int)tp).ToString())); } catch (Exception e) { LogRW.LogError(e, "DeleteRulesCopy(2)", eventID); return(-1); } }
/// <summary> /// Получить список всех правил /// </summary> /// <returns></returns> public IQueryable <Oracle_RulesCopy> GetRulesCopy() { try { return(this.rep_rc.Oracle_RulesCopy); } catch (Exception e) { LogRW.LogError(e, "GetRulesCopy", eventID); return(null); } }
/// <summary> /// Удалить вагоны пренадлежащие натурному листу с датой /// </summary> /// <param name="natur_list"></param> /// <param name="dt_amkr"></param> /// <returns></returns> public int DeleteVagonsToNaturList(int natur_list, DateTime dt_amkr) { try { return(rep_vo.db.ExecuteSqlCommand("DELETE FROM dbo.VAGON_OPERATIONS WHERE n_natur=" + natur_list.ToString() + " AND Convert(char(19),dt_amkr) ='" + dt_amkr.ToString("yyyy-MM-dd HH:mm:ss") + "'")); } catch (Exception e) { LogRW.LogError(e, "DeleteVagonsToNaturList", eventID); return(-1); } }
/// <summary> /// Удалить вагон пренадлежащий составу перенесеному по данным металлург транс /// </summary> /// <param name="id_sostav"></param> /// <param name="num_vag"></param> /// <returns></returns> public int DeleteVagonsToInsertMT(int id_sostav, int num_vag) { try { return(rep_vo.db.ExecuteSqlCommand("DELETE FROM dbo.VAGON_OPERATIONS WHERE id_stat in (33,35) AND IDSostav = " + id_sostav.ToString() + " AND num_vagon = " + num_vag.ToString())); } catch (Exception e) { LogRW.LogError(e, "DeleteVagonsToInsertMT(2)", eventID); return(-1); } }
/// <summary> /// Удалить вагоны пренадлежащие составу перенесеному по данным металлург транс /// </summary> /// <param name="id_sostav"></param> /// <returns></returns> public int DeleteVagonsToInsertMT(int id_sostav) { try { return(rep_vo.db.ExecuteSqlCommand("DELETE FROM dbo.VAGON_OPERATIONS WHERE IDSostav=" + id_sostav.ToString())); } catch (Exception e) { LogRW.LogError(e, "DeleteVagonsToInsertMT(1)", eventID); return(-1); } }
/// <summary> /// Получить все вагоны /// </summary> /// <returns></returns> public IQueryable <VAGON_OPERATIONS> GetVagonsOperations() { try { return(rep_vo.VAGON_OPERATIONS); } catch (Exception e) { LogRW.LogError(e, "GetVagonsOperations", eventID); return(null); } }