/// <summary> /// Поставить состав в прибытие системы RailCars & RailWay /// </summary> /// <param name="id_sostav"></param> /// <returns></returns> public int ArrivalToRailWay(int id_sostav) { try { KIS_RC_Transfer rc_transfer = new KIS_RC_Transfer(); // Перенос в системе RailCars KIS_RW_Transfer rw_transfer = new KIS_RW_Transfer(); // Перенос в системе RailWay //// Определим класс данных состав //MTSostav sost = mtc.Get_MTSostav(id_sostav); //// Определим код станции по справочникам //int? codecs_in = refRW.GetCodeCSStations(int.Parse(sost.CompositionIndex.Substring(9, 4)) * 10); //int? codecs_from = refRW.GetCodeCSStations(int.Parse(sost.CompositionIndex.Substring(0, 4)) * 10); //// Определим класс данных вагоны //List<trWagon> list_wag = new List<trWagon>(); //list_wag = GetListWagonInArrival(mtc.Get_MTListToSostav(id_sostav), codecs_in, mtc.GetMTConsignee(tMTConsignee.AMKR)); //trSostav sostav = new trSostav() //{ // id = sost.IDMTSostav, // codecs_in_station = codecs_in, // codecs_from_station = codecs_from, // //FileName = sost.FileName, // //CompositionIndex = sost.CompositionIndex, // DateTime = sost.DateTime, // //Operation = sost.Operation, // //Create = sost.Create, // //Close = sost.Close, // ParentID = sost.ParentID, // Wagons = list_wag != null ? list_wag.ToArray() : null, //}; trSostav sostav = GetSostav(id_sostav); // Поставим вагоны в систему RailCars int res_arc; try { res_arc = rc_transfer.PutInArrival(sostav); if (res_arc < 0) { LogRW.LogError(String.Format("[MT.ArrivalToRailWay] :Ошибка переноса состава в прибытие системы RailCars, состав: {0}, код ошибки: {1}.", sostav.id, res_arc), this.eventID); } } catch (Exception e) { LogRW.LogError(String.Format("[MT.ArrivalToRailWay] :Ошибка переноса состава в прибытие системы RailCars, состав: {0}. Подробно: (источник: {1}, № {2}, описание: {3})", sostav.id, e.Source, e.HResult, e.Message), this.eventID); res_arc = -1; } // Поставим вагоны в систему RailWay // TODO: Выполнить код постановки вагонов в систему RailWay (прибытие из КР) // .................. // Создаем или изменяем строки в справочнике САП int rec_sap; try { rec_sap = sap_transfer.PutInSapIncomingSupply(sostav); } catch (Exception e) { LogRW.LogError(String.Format("[MT.ArrivalToRailWay] :Ошибка формирования строк справочника SAP входящие поставки, состав: {0}. Подробно: (источник: {1}, № {2}, описание: {3})", sostav.id, e.Source, e.HResult, e.Message), this.eventID); rec_sap = -1; } } catch (AggregateException agex) { agex.Handle(ex => { LogRW.LogError(String.Format("[MT.ArrivalToRailWay]: Общая ошибка переноса состава в прибытие системы RailWay (источник: {0}, № {1}, описание: {2})", ex.Source, ex.HResult, ex.Message), this.eventID); return(true); }); return(-1); } return(0);//TODO: исправить возврат }
private int ArrivalToRailWay(int id_sostav) { try { KIS_RC_Transfer rc_transfer = new KIS_RC_Transfer(); // Перенос в системе RailCars KIS_RW_Transfer rw_transfer = new KIS_RW_Transfer(); // Перенос в системе RailWay MTContent mtc = new MTContent(); ReferenceRailway refRW = new ReferenceRailway(); SAP_Transfer saptr = new SAP_Transfer(); // Определим класс данных состав MTSostav sost = mtc.Get_MTSostav(id_sostav); // Определим код станции по справочникам int?codecs_in = refRW.GetCodeCSStations(int.Parse(sost.CompositionIndex.Substring(9, 4)) * 10); int?codecs_from = refRW.GetCodeCSStations(int.Parse(sost.CompositionIndex.Substring(0, 4)) * 10); // Определим класс данных вагоны List <trWagon> list_wag = new List <trWagon>(); list_wag = GetListWagonInArrival(mtc.Get_MTListToSostav(id_sostav), codecs_in, mtc.GetMTConsignee(tMTConsignee.AMKR)); trSostav sostav = new trSostav() { id = sost.IDMTSostav, codecs_in_station = codecs_in, codecs_from_station = codecs_from, //FileName = sost.FileName, //CompositionIndex = sost.CompositionIndex, DateTime_from = sost.DateTime, //Operation = sost.Operation, //Create = sost.Create, //Close = sost.Close, ParentID = sost.ParentID, Wagons = list_wag != null?list_wag.ToArray() : null, }; // Поставим вагоны в систему RailCars int res_arc; try { //res_arc = rc_transfer.PutInArrival(sostav); res_arc = saptr.PutInSapIncomingSupply(sostav); if (res_arc < 0) { //LogRW.LogError(String.Format("[MT.ArrivalToRailWay] :Ошибка переноса состава в прибытие системы RailCars, состав: {0}, код ошибки: {1}.", sostav.id, res_arc), this.eventID); } } catch (Exception e) { //LogRW.LogError(String.Format("[MT.ArrivalToRailWay] :Ошибка переноса состава в прибытие системы RailCars, состав: {0}. Подробно: (источник: {1}, № {2}, описание: {3})", sostav.id, e.Source, e.HResult, e.Message), this.eventID); res_arc = -1; } // Поставим вагоны в систему RailWay // TODO: Выполнить код постановки вагонов в систему RailWay (прибытие из КР) // .................. } catch (AggregateException agex) { agex.Handle(ex => { //LogRW.LogError(String.Format("[MT.ArrivalToRailWay]: Общая ошибка переноса состава в прибытие системы RailWay (источник: {0}, № {1}, описание: {2})", ex.Source, ex.HResult, ex.Message), this.eventID); return(true); }); return(-1); } return(0);//TODO: исправить возврат }