Exemple #1
0
 public void AddLineStation(BO.LineStation lineStation)
 {
     dl.AddLineStation(LineStationBoDoAdapter(lineStation));
 }
        void IBL1.AddStationToLine(StationLineBO stationLineBO, int NumberStation1, int NumberStation2, TimeSpan timeSpan, float distance)
        {
            try
            {
                List <LineStation> lineStations  = dl.OneLineFromList(item => item.BusLineID2 == stationLineBO.BusLineID2).ToList();
                List <LineStation> lineStations1 = new List <LineStation>();

                LineStation item = new LineStation();
                foreach (LineStation item1 in lineStations)
                {
                    item = item1;
                    if (item.LocationNumberOnLine >= stationLineBO.LocationNumberOnLine)
                    {
                        ++item.LocationNumberOnLine;
                    }
                    lineStations1.Add(item);
                }

                dl.DeleteLineStation1(stationLineBO.BusLineID2);
                foreach (LineStation item2 in lineStations1)
                {
                    dl.AddLineStation(item2);
                }

                LineStation lineStation1 = new LineStation
                {
                    BusLineID2           = stationLineBO.BusLineID2,
                    StationNumberOnLine  = stationLineBO.StationNumberOnLine,
                    LocationNumberOnLine = stationLineBO.LocationNumberOnLine,
                    ChackDelete2         = stationLineBO.ChackDelete2
                };
                dl.AddLineStation(lineStation1);

                if (dl.ChackExistingConsecutiveStations(item => (item.StationNumber1 == stationLineBO.StationNumberOnLine &&
                                                                 item.StationNumber2 == NumberStation1) || (item.StationNumber1 == NumberStation1 && item.StationNumber2 == stationLineBO.StationNumberOnLine)))
                {
                    ConsecutiveStations consecutiveStations = new ConsecutiveStations
                    {
                        StationNumber1             = NumberStation1,
                        StationNumber2             = stationLineBO.StationNumberOnLine,
                        DistanceBetweenTooStations = stationLineBO.DistanceBetweenTooStations,
                        AverageTime = stationLineBO.AverageTime
                    };
                    dl.AddConsecutiveStations(consecutiveStations);
                }

                if (dl.ChackExistingConsecutiveStations(item => (item.StationNumber1 == stationLineBO.StationNumberOnLine &&
                                                                 item.StationNumber2 == NumberStation2) || (item.StationNumber1 == NumberStation2 && item.StationNumber2 == stationLineBO.StationNumberOnLine)))
                {
                    ConsecutiveStations consecutiveStations = new ConsecutiveStations
                    {
                        StationNumber1             = stationLineBO.StationNumberOnLine,
                        StationNumber2             = NumberStation2,
                        DistanceBetweenTooStations = distance,
                        AverageTime = timeSpan
                    };
                    dl.AddConsecutiveStations(consecutiveStations);
                }
            }
            catch (ExceptionLineStation ex)
            {
                throw new BOExceptionLineStation("Error", ex);
            }
        }