public void Read_Code_Station() { // Arrange - create the mock repository Mock <IReferenceRailwayRepository> mock_rr = new Mock <IReferenceRailwayRepository>(); mock_rr.Setup(m => m.Code_Station).Returns(new Code_Station[] { new Code_Station { IDStation = 1, Station = "Station1", Code = 40000, CodeCS = 400000, IDInternalRailroad = 1 }, new Code_Station { IDStation = 2, Station = "Station2", Code = 50000, CodeCS = 500000, IDInternalRailroad = 1 }, new Code_Station { IDStation = 3, Station = "Station3", Code = 50001, CodeCS = 500010, IDInternalRailroad = 2 } }.AsQueryable()); // Arrange - create the controller ReferenceRailway target = new ReferenceRailway(mock_rr.Object); // Act Code_Station cs1 = target.GetStations(1); Code_Station cs3 = target.GetStations(3); Code_Station cs4 = target.GetStations(4); List <Code_Station> list = target.GetStations().ToList(); // Assert Assert.AreEqual(1, cs1.IDStation); Assert.AreEqual(3, cs3.IDStation); Assert.AreEqual(3, list.Count()); Assert.AreEqual(null, cs4); }
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: исправить возврат }