IEnumerable <StationLineBO> IBL1.ReturnLineStationList(int LineNumber)
 {
     try
     {
         IEnumerable <LineStation>   stationLines   = dl.OneLineFromList(item => item.BusLineID2 == LineNumber);
         IEnumerable <StationLineBO> stationLineBOs = from line in stationLines
                                                      orderby line.LocationNumberOnLine
                                                      let p = ReturnStationLine(LineNumber, line.StationNumberOnLine)
                                                              select p;
         List <StationLineBO> stationLineBOs1 = new List <StationLineBO>();
         foreach (StationLineBO item in stationLineBOs)
         {
             stationLineBOs1.Add(item);
         }
         for (int i = 0; i < stationLineBOs1.Count - 1; i++)
         {
             ConsecutiveStations consecutiveStations1 = dl.ReturnConsecutiveStation(stationLineBOs1[i].StationNumberOnLine, stationLineBOs1[i + 1].StationNumberOnLine);
             stationLineBOs1[i].DistanceBetweenTooStations = consecutiveStations1.DistanceBetweenTooStations;
             stationLineBOs1[i].AverageTime = consecutiveStations1.AverageTime;
         }
         stationLineBOs = stationLineBOs1;
         return(stationLineBOs);
     }
     catch (ExceptionLineStation ex)
     {
         throw new BOExceptionLineStation("Error", ex);
     }
     catch (ExceptionConsecutiveStations ex)
     {
         throw new BOExceptionConsecutiveStations("Error", ex);
     }
 }
Ejemplo n.º 2
0
        ConsecutiveStations IDAL.ReturnConsecutiveStation(int stationNumber1, int stationNumber2)
        {
            ConsecutiveStations item = null;

            if (DataSource.ConsecutiveStations.Exists(consecutiveStations1 => consecutiveStations1.StationNumber1 == stationNumber1 && consecutiveStations1.StationNumber2 == stationNumber2))
            {
                item = DataSource.ConsecutiveStations.Find(consecutiveStations1 => consecutiveStations1.StationNumber1 == stationNumber1 && consecutiveStations1.StationNumber2 == stationNumber2);
            }
            return(item.Clone() ?? throw new ExceptionConsecutiveStations(stationNumber1, stationNumber2, "There are no two such stations on the list!!!"));;
        }
Ejemplo n.º 3
0
 void IDAL.AddConsecutiveStations(ConsecutiveStations consecutiveStations)
 {
     if (DataSource.ConsecutiveStations.Exists(consecutiveStations1 => consecutiveStations1.StationNumber1 == consecutiveStations.StationNumber1 && consecutiveStations1.StationNumber2 == consecutiveStations.StationNumber2))
     {
         throw new ExceptionConsecutiveStations(consecutiveStations.StationNumber1, consecutiveStations.StationNumber2, "There are already two such stations on the list!!!");
     }
     else
     {
         DataSource.ConsecutiveStations.Add(consecutiveStations.Clone());
     }
 }
Ejemplo n.º 4
0
 void IDAL.DeleteConsecutiveStations(int stationNumber1, int stationNumber2)
 {
     if (DataSource.ConsecutiveStations.Exists(consecutiveStations1 => consecutiveStations1.StationNumber1 == stationNumber1 && consecutiveStations1.StationNumber2 == stationNumber2))
     {
         ConsecutiveStations item = DataSource.ConsecutiveStations.Find(consecutiveStations1 => consecutiveStations1.StationNumber1 == stationNumber1 && consecutiveStations1.StationNumber2 == stationNumber2);
         _ = DataSource.ConsecutiveStations.Remove(item);
     }
     else
     {
         throw new ExceptionConsecutiveStations(stationNumber1, stationNumber2, "There are no two such stations on the list!!!");
     }
 }
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            ConsecutiveStations consecutiveStations = new ConsecutiveStations(bl);

            consecutiveStations.Show();
        }
        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);
            }
        }
Ejemplo n.º 7
0
        void IDAL.UpdatingConsecutiveStations(ConsecutiveStations consecutiveStations)
        {
            int index = DataSource.ConsecutiveStations.FindIndex(consecutiveStations1 => consecutiveStations1.StationNumber1 == consecutiveStations.StationNumber1 && consecutiveStations1.StationNumber2 == consecutiveStations.StationNumber2);

            DataSource.ConsecutiveStations[index] = index == -1 ? throw new ExceptionConsecutiveStations(consecutiveStations.StationNumber1, consecutiveStations.StationNumber2, "The consecutiveStations not exist in the compny!!!") : consecutiveStations.Clone();
        }