Exemple #1
0
        /// <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);
        }
Exemple #2
0
 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: исправить возврат
 }