private void ShowBusLine(int index)
 {
     currentDisplayBusLine         = busLines[index];
     UpGrid.DataContext            = currentDisplayBusLine;
     lbBusLineStations.DataContext = currentDisplayBusLine.Stations;
     tbArea.DataContext            = currentDisplayBusLine;
 }
            public int CompareTo(object obj)
            {
                BusLine b = (BusLine)obj;

                return(TravelTimeBetweenStations(FirstStation.BusStationKey, LastStation.BusStationKey).CompareTo
                           (b.TravelTimeBetweenStations(b.FirstStation.BusStationKey, b.LastStation.BusStationKey)));
            }
Exemple #3
0
        public void DeleteLine(BusLine line)
        {
            var lineToDelete = DataSource.ListLines.Where(l => l.Id == line.Id).
                               FirstOrDefault();

            DataSource.ListLines.Remove(lineToDelete);
        }
 public Bus(BusLine busLine, int currentStop = 1) : base(busLine.GetCurrentStop(currentStop).GetLastPoint().location, GlobalVariables.bus_Size, GlobalVariables.BUS_MAX_PERSON, GlobalVariables.bus_Pen)
 {
     _busLine      = busLine;
     _busStopIndex = currentStop;
     _pointIndex   = 0;
     _isVertical   = false;
 }
Exemple #5
0
        public void DeleteLine(BusLine line)
        {
            var lineToDelete = DataSource.ListLines.Where(l => l.BusLineNumber == line.BusLineNumber && l.Area == line.Area).
                               FirstOrDefault();

            DataSource.ListLines.Remove(lineToDelete);
        }
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            BusStation busStation = DataContext as BusStation;

            tbStation.Text = busStation.BusStationKey.ToString();

            List <string> timesList = (from lineId in busStation.LinesThatPass
                                       let trip = bl.GetLineTrip(lineId, busStation.BusStationKey)
                                                  select(lineId + "%" + "קו מספר: " + bl.GetBusLine(lineId).BusLineNumber + " מגיע בשעה - " + trip.Departure.ToString(@"hh\:mm"))).ToList();

            foreach (string line in timesList)
            {
                int    lineId    = int.Parse(line.Split('%')[0]);
                string toDisplay = line.Split('%')[1];

                lbTimeTable.Items.Add(toDisplay);

                string   bus     = toDisplay.Split(' ')[2];
                BusLine  busLine = bl.GetBusLine(lineId);
                DateTime start   = Convert.ToDateTime(toDisplay.Split('-')[1].Trim());
                TimeSpan freq    = new TimeSpan(0, bl.GetLineTrip(busLine.Id, busStation.BusStationKey).Frequency, 0);

                for (TimeSpan iter = start.TimeOfDay.Add(freq); iter < new TimeSpan(24, 0, 0); iter = iter.Add(freq))
                {
                    lbTimeTable.Items.Add("קו מספר: " + bus + " מגיע בשעה - " + iter.ToString(@"hh\:mm"));
                }
            }
        }
        public MainWindow()
        {
            int numberOfStatian;
            int numberLine;

            for (int i = 0; i < 10; i++)
            {
                numberLine      = r.Next(999);
                numberOfStatian = r.Next(2, 10);
                BusLine busLine = new BusLine(numberLine);
                collectionOfbusLines.CollectionOfLines = AddLineFirstly(ref busLine, ref buslinestation, numberOfStatian);
                Console.WriteLine("good the Line insrted to list ");
            }

            for (int i = 0; i < 2; i++)
            {
                numberLine = r.Next(999);
                BusLine busLine1 = new BusLine(numberLine)
                {
                    RouteTheLine = buslinestation
                };
                collectionOfbusLines.CollectionOfLines = busLine1;
            }
            InitializeComponent();
            cbBusLines.ItemsSource       = collectionOfbusLines;
            cbBusLines.DisplayMemberPath = "LineNumber";
            cbBusLines.SelectedIndex     = -1;
            cbBusLines.SelectionChanged += CbBusLines_SelectionChanged;
        }
Exemple #8
0
 int IDAL.AddBusLine(BusLine line)
 {
     line.BusLineID1 = NumbersAreRunning.BusLineID;
     NumbersAreRunning.BusLineID++;
     DataSource.BusLines.Add(line.Clone());
     return(line.BusLineID1);
 }
        public ActionResult DeleteConfirmed(long id)
        {
            BusLine busLine = db.BusLines.Find(id);

            db.BusLines.Remove(busLine);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Exemple #10
0
        public AddLineWindow()
        {
            InitializeComponent();

            cbArea.ItemsSource = Enum.GetValues(typeof(BO.Areas));

            busLine     = new BusLine();
            DataContext = busLine;
        }
Exemple #11
0
 public void AddLine(BusLine line)
 {
     if (DataSource.ListLines.FirstOrDefault(l => l.BusLineNumber == line.BusLineNumber && l.Area == line.Area) != null)
     {
         throw new ArgumentException("Duplicate BusLine");
     }
     line.Id = DataSource.LineId++;
     DataSource.ListLines.Add(line.Clone());
 }
        private void DeleteLineButton_Click(object sender, RoutedEventArgs e)
        {
            BusStation Station = (BusStation)DataContext;
            BusLine    busLine = (BusLine)lbBusLines.SelectedItem;

            busLine.AllStationsOfLine = busLine.AllStationsOfLine.Where(s => s != Station.BusStationKey);
            bl.UpdateBusLine(busLine);
            MessageBox.Show("Line " + busLine.BusLineNumber + " in the " + busLine.Area + " region, was deleted from " + Station.BusStationKey);
            Close();
        }
Exemple #13
0
        private void BusLinesDg_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            BusLine       selectedStation = BusLinesDg.SelectedItem as BusLine;
            List <string> StationsInLine  = new List <string>();

            foreach (int item in selectedStation.AllStationsOfLine)
            {
                StationsInLine.Add("תחנה" + item + " : " + bl.GetBusStation(item).StationName);
            }
            StationsListBox.ItemsSource = StationsInLine;
        }
 public ActionResult Edit([Bind(Include = "id,name,address,phone,email")] BusLine busLine)
 {
     if (ModelState.IsValid)
     {
         busLine.updated_at      = DateTime.Now;
         db.Entry(busLine).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(busLine));
 }
        private void AddLineButton_Click(object sender, RoutedEventArgs e)
        {
            BusLine           busLine    = bl.GetBusLine(int.Parse(tbLineNumber.Text), bl.AreasAdapter((BO.Areas)cbAreaSelect.SelectedValue));
            BusStation        busStation = (BusStation)DataContext;
            IEnumerable <int> toAdd      = new int[] { busStation.BusStationKey };

            busLine.AllStationsOfLine = busLine.AllStationsOfLine.Concat(toAdd);
            bl.UpdateBusLine(busLine);
            //UpdateLayout();?
            Close();
        }
Exemple #16
0
 private void showStationsForLine(BusLine line)
 {
     if (line != null)
     {
         List <string> StationsInLine = new List <string>();
         foreach (int item in line.AllStationsOfLine)
         {
             StationsInLine.Add("תחנה" + item + " : " + bl.GetBusStation(item).StationName);
         }
         StationsListBox.ItemsSource = StationsInLine;
     }
 }
Exemple #17
0
        public AddBusLineWindow()
        {
            bl = BlFactory.GetBL();
            InitializeComponent();

            myLine = new BusLine();
            lineDetailsGrid.DataContext = myLine;
            newLineTrip = new LineTrip();
            addLineTripGrid.DataContext = newLineTrip;
            listLineTrips = new List <LineTrip>();

            areaComboBox.ItemsSource = Enum.GetValues(typeof(Areas));
        }
Exemple #18
0
        public BusLine GetLine(int lineId, Areas area)
        {
            BusLine tempLine = DataSource.ListLines.Find(l => l.BusLineNumber == lineId && l.Area == area);

            if (tempLine != null)
            {
                return(tempLine.Clone());
            }
            else
            {
                throw new InexistantLineException(lineId, area, $"There is no line {lineId} in {area}");
            }
        }
Exemple #19
0
        public BusLine GetLine(int lineId, Areas area)
        {
            BusLine tempLine = DataSource.ListLines.Find(l => l.BusLineNumber == lineId && l.Area == area);

            if (tempLine != null)
            {
                return(tempLine.Clone());
            }
            else
            {
                throw new ArgumentException("There is no line with this number and area" + lineId + area);
            }
        }
        public ActionResult Create([Bind(Include = "name,address,phone,email")] BusLine busLine)
        {
            if (ModelState.IsValid)
            {
                busLine.created_at = DateTime.Now;
                busLine.updated_at = DateTime.Now;
                db.BusLines.Add(busLine);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(busLine));
        }
Exemple #21
0
 public void AddLine(BusLine line)
 {
     if (DataSource.ListLines.FirstOrDefault(l => l.Id == line.Id) != null)
     {
         throw new DuplicateLineException
                   (line.BusLineNumber, line.Area, $"Duplicate line {line.BusLineNumber} in {line.Area}");
     }
     if (line.Id == 0)
     {
         line.Id = DataSource.LineId++;
     }
     DataSource.ListLines.Add(line.Clone());
 }
 public BusLine(BusLine myLine)
 {
     BusLineNum = myLine.BusLineNum;
     for (int i = 0; i < myLine.Stations.Count(); i++)
     {
         AddStation(3, myLine.Stations[i].BusStationKey);
     }
     TotalTime = 0;
     foreach (BusLineStation item in Stations)
     {
         TotalTime += item.TravelTime;
     }
 }
Exemple #23
0
 private void DeleteLine_Click(object sender, RoutedEventArgs e)
 {
     try
     {
         BusLine selectedStation = BusLinesDg.SelectedItem as BusLine;
         bl.DeleteBusLine(selectedStation);
         MessageBox.Show("הקו נמחק בהצלחה");
         Refresh();
     }
     catch (Exception ex)
     {
         MessageBox.Show("An error occured " + ex);
     }
 }
        public ActionResult Edit(long?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            BusLine busLine = db.BusLines.Find(id);

            if (busLine == null)
            {
                return(HttpNotFound());
            }
            return(View(busLine));
        }
Exemple #25
0
        public TimeSpan CalculateDistance(LineTrip trip)
        {
            double      totalDist = 0;
            int         ID = GetLine(trip.LineIdTrip).Id;
            BusLine     line = GetLine(trip.LineIdTrip);
            LineStation stop1, stop2 = GetLineStation(ID, line.FirstStationKey);

            for (int i = 2; i <= GetLineStation(ID, trip.StationKey).RankInLine; i++)
            {
                stop1      = stop2;
                stop2      = GetLineStation(ID, GetAllLineStationsBy(s => s.LineId == ID && s.RankInLine == i).First().StationKey);
                totalDist += GetFollowingStations(GetStation(stop1.StationKey), GetStation(stop2.StationKey)).AverageJourneyTime;
            }
            return(TimeSpan.FromMinutes(totalDist));
        }
Exemple #26
0
        public HttpResponseMessage RegisterBusLine(string line)
        {
            try
            {
                _busLine = new BusLine(line);

                _busLineAppService.Add(_busLine);
            }
            catch (Exception ex)
            {
                return(Request.CreateResponse(HttpStatusCode.InternalServerError, ex));
            }

            return(Request.CreateResponse(HttpStatusCode.OK, _busLine));
        }
Exemple #27
0
 private void DeleteLine_Click(object sender, RoutedEventArgs e)
 {
     try
     {
         BusLine selectedStation = BusLinesDg.SelectedItem as BusLine;
         bl.DeleteBusLine(selectedStation);
         MessageBox.Show("הקו נמחק בהצלחה");
         BusLinesDg.ItemsSource    = bl.GetAllBusLines();
         BusStationsDg.ItemsSource = bl.GetAllBusStations();
     }
     catch (InexistantLineException ex)
     {
         MessageBox.Show(ex.Message, "אירעה שגיאה", MessageBoxButton.OK, MessageBoxImage.Error);
     }
 }
 /// <summary>
 /// ctor of the window that get BO.bus
 /// </summary>
 /// <param name="busLine">bus that sending from the win that call this win</param>
 public LineInfo(BusLine busLine)
 {
     InitializeComponent();
     try
     {
         bl = BLFactory.GetBL();
     }
     catch (BO.MissingData ex) // create BO failed
     {
         MessageBox.Show(ex.Message);
     }
     curBusLine          = busLine;
     AreasCB.ItemsSource = Enum.GetValues(typeof(BO.Areas));
     UpdateData();
 }
                static BusLineBO func(BusLine item)
                {
                    BusLineBO busLineBO1 = new BusLineBO
                    {
                        BusLineID1   = item.BusLineID1,
                        LineNumber   = item.LineNumber,
                        AreaBusUrban = (BO.Area1)(DO.Area1)(int) item.AreaBusUrban,
                        GetAvailable = (BO.Available)(DO.Available)(int) item.GetAvailable,
                        FirstStation = item.FirstStation,
                        LastStation  = item.LastStation,
                        GetUrban     = (BO.Urban)(DO.Urban)(int) item.GetUrban
                    };

                    return(busLineBO1);
                }
Exemple #30
0
 public static int AddBusLine(BusLine model)
 {
     using (var entity = new BusEntities())
     {
         var id = 0;
         try
         {
             entity.AddToBusLine(model);
             entity.SaveChanges();
             id = model.ID;
         }
         catch { }
         return(id);
     }
 }
Exemple #31
0
 public BusLineConnection(BusLine line)
 {
     _line = line;
     _line.Attach(_localState);
 }