/// <summary> /// Получить пакет данных trSostav /// </summary> /// <param name="id_sostav"></param> /// <returns></returns> public trSostav GetSostav(int id_sostav) { // Определим класс данных состав 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)); List <MTSostav> list_mt = mtc.GetOperationMTSostavDestinct(sost.IDMTSostav); trSostav sostav = new trSostav() { id = sost.IDMTSostav, codecs_in_station = codecs_in, codecs_from_station = codecs_from, //FileName = sost.FileName, //CompositionIndex = sost.CompositionIndex, DateTime_on = list_mt.Count > 0 ? list_mt.Last().DateTime : sost.DateTime, DateTime_from = sost.DateTime, //Operation = sost.Operation, //Create = sost.Create, //Close = sost.Close, ParentID = sost.ParentID, Wagons = list_wag != null?list_wag.ToArray() : null, }; return(sostav); }
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: исправить возврат }