void rozklad(object sender, OpenReadCompletedEventArgs e) { using (var reader = new StreamReader(e.Result)) { string value = reader.ReadToEnd(); string[] response = Regex.Split(value, "<br>"); ile_dodano = 0; for (int i = 0; i < response.Length; i++) { if (response[i] != "" && response[i] != "Morska ") { if (response[i] == "Hipermarket Tesco ") { Przystanek p = new Przystanek() { Name = " " + response[i] + "- Morska", ImagePath = "/Assets/BusS.png", forgroundColor = "Green", fontsize = "20" }; List.Items.Insert(selected + ile_dodano + 1, p); } else { Przystanek p = new Przystanek() { Name = " " + response[i], ImagePath = "/Assets/BusS.png", forgroundColor = "Green", fontsize = "20" }; List.Items.Insert(selected + ile_dodano + 1, p); } ile_dodano++; } } ile.Add(ile_dodano); } }
public ElementTrasy(Linia linia, TimeSpan czasOczekiwania, TimeSpan czasPrzejazdu, Przystanek przystanek) : this() { this.linia = linia; this.czasOczekiwania = czasOczekiwania; this.czasPrzejazdu = czasPrzejazdu; this.przystanek = przystanek; }
public PrymitywnyPasazerDijkstry(int czasWsiadania, int czasWysiadania, Przystanek przystanekPoczatkowy, Przystanek przystanekKoncowy, Graf <TimeSpan> graf, TimeSpan czasStworzenia) : base(czasWsiadania, czasWysiadania, przystanekPoczatkowy, przystanekKoncowy) { this.graf = graf; trasaPasazera = ZnajdzTrase(graf); }
public ElementTrasy(ElementTrasy elem) : this() { linia = elem.linia; czasOczekiwania = elem.czasOczekiwania; czasPrzejazdu = elem.czasPrzejazdu; przystanek = elem.przystanek; }
public PrzyplywPasazerow StworzPrzyplyw(TimeSpan czas, Przystanek przystanek) { var rezultat = new PrzyplywPasazerow(czas, przystanek); przyplywyPasazerow.Add(rezultat); return(rezultat); }
private PrzystanekViewModel() { CurrentPage = PageType.PrzystanekConstants; przystanek = new Przystanek(); GoToMenu = new RelayCommand(() => { przystanek = new Przystanek(); OnPropertyChanged("Przystanek"); CurrentPage = PageType.PrzystanekConstants; OnPropertyChanged("CurrentPage"); MainWindowViewModel.Instance.CurrentPage = PageType.MainPage; MainWindowViewModel.Instance.OnPropertyChanged("CurrentPage"); }); OpenThresholds = new RelayCommand(() => { CurrentPage = PageType.PrzystanekThresholds; OnPropertyChanged("CurrentPage"); }); DodajWpisPasazerowie = new RelayCommand(() => { ProgiPasazerow.Add(new WpisProguPrzystankuViewModel()); OnPropertyChanged("ProgiPasazerow"); }); WyczyscWpisyPasazerowie = new RelayCommand(() => { przystanek.ProgiPasazerow.Clear(); OnPropertyChanged("ProgiPasazerow"); }); UsunWpisPasazerowie = new ParameteredRelayCommand <DataGrid>((dGrid) => { var item = dGrid.SelectedItem; if (item != null && item is WpisProguPrzystankuViewModel) { przystanek.ProgiPasazerow.Remove((WpisProguPrzystankuViewModel)item); OnPropertyChanged("ProgiPasazerow"); } }); DodajWpisAutobusy = new RelayCommand(() => { ProgiAutobusow.Add(new WpisProguPrzystankuViewModel()); OnPropertyChanged("ProgiAutobusow"); }); WyczyscWpisyAutobusy = new RelayCommand(() => { przystanek.ProgiAutobusow.Clear(); OnPropertyChanged("ProgiAutobusow"); }); UsunWpisPasazerowie = new ParameteredRelayCommand <DataGrid>((dGrid) => { var item = dGrid.SelectedItem; if (item != null && item is WpisProguPrzystankuViewModel) { przystanek.ProgiAutobusow.Remove((WpisProguPrzystankuViewModel)item); OnPropertyChanged("ProgiAutobusow"); } }); }
public WpisStatusuLinii(bool czyPrzejazdUwarunkowany, TimeSpan czas, TimeSpan czasStartu, double dostepnaDlugoscZatoki, Przystanek przystanekWpisu, PowodBrakuUwarunkowania powod = PowodBrakuUwarunkowania.LiczbaPasazerow) { this.czyPrzejazdUwarunkowany = czyPrzejazdUwarunkowany; this.czasStartu = czasStartu; this.czas = czas; this.dostepnaDlugoscZatoki = dostepnaDlugoscZatoki; this.powod = powod; this.przystanekWpisu = przystanekWpisu; }
protected virtual void UstawElementyTrasyJakoPrzebyte(Przystanek przystanek) { foreach (var elem in trasaPasazera) { if (!elem.CzyPrzebyty && elem.Przystanek != przystanek) { elem.CzyPrzebyty = true; return; } } }
public Wierzcholek <T> ZnajdzWierzcholekZawierajacyPrzystanek(Przystanek przystanek) { foreach (Wierzcholek <T> wierzcholek in wierzcholki) { if (wierzcholek.przystanek == przystanek) { return(wierzcholek); } } throw new Exception($"Nie odnaleziono przystanku {przystanek.NazwaPrzystanku} w grafie!"); }
private bool CzyTrasaObliczona(Przystanek przystanekStartowy, Przystanek przystanekKoncowy) { foreach (var otrasa in obliczoneTrasy) { if (otrasa[0] == przystanekStartowy && otrasa[otrasa.Count - 1] == przystanekKoncowy) { return(true); } } return(false); }
protected TrasaPasazera CzyTrasaObliczona(Przystanek przystanekStartowy, Przystanek przystanekKoncowy) { foreach (var otrasa in obliczoneTrasy) { if (otrasa[0].Przystanek == przystanekStartowy && otrasa[otrasa.Count - 1].Przystanek == przystanekKoncowy) { return(otrasa); } } return(null); }
public void WygenerujLosowePrzyplywyDlaPrzystanku(Przystanek przystanek, int iloscPrzyplywow, int iloscPasazerow) { for (int i = 0; i < iloscPrzyplywow; i++) { var przyplyw = new PrzyplywPasazerow(WygenerujLosowyCzas(), przystanek); for (int j = 0; j < iloscPasazerow; j++) { przyplyw.DodajPasazera(GeneratorPasazerow.Instancja().WygenerujLosowegoPasazera(przyplyw.czasPrzyplywu)); } przyplywyPasazerow.Add(przyplyw); } }
public PrymitywnyPasazerDijkstry(int czasWsiadania, int czasWysiadania, Przystanek przystanekPoczatkowy, Przystanek przystanekKoncowy, Graf.Graf <TimeSpan> graf) : base(czasWsiadania, czasWysiadania, przystanekPoczatkowy, przystanekKoncowy) { this.graf = graf; trasaPasazera = ZnajdzTrase(graf); graf.ZresetujGraf(TimeSpan.MaxValue); if (trasaPasazera.Count > 1) { przystanekPoczatkowy = trasaPasazera[0]; przystanekKoncowy = trasaPasazera[trasaPasazera.Count - 1]; obecnyPrzystanek = przystanekPoczatkowy; } UsunPierwszyElementTrasy(); // Usuwanie pierwszego elementu dla ulatwienia implementacji logiki porozy. }
void bus(object sender, OpenReadCompletedEventArgs e) { using (var reader = new StreamReader(e.Result)) { List.Items.Clear(); string value = reader.ReadToEnd(); string[] response = Regex.Split(value, "<br>"); int i = 0; while (i < response.Length - 1) { Przystanek p = new Przystanek() { Name = " " + response[i], ImagePath = "/Assets/add.png", forgroundColor = "White", fontsize = "35" }; List.Items.Add(p); i++; } } }
public Pasazer WygenerujLosowegoPasazera(TimeSpan czas) { Przystanek pPoczatkowy = siecPrzystankow.ToList()[rand.Next(siecPrzystankow.Count())]; Przystanek pKoncowy; do { pKoncowy = siecPrzystankow.ToList()[rand.Next(siecPrzystankow.Count())]; } while (pKoncowy == pPoczatkowy); var rng = rand.Next(100); if (rng < 33) { return(new PasazerDijkstry(rand.Next(2, 11), rand.Next(2, 11), pPoczatkowy, pKoncowy, siecPrzystankow, linie, czas)); } if (rng < 66) { return(new PasazerWygodnicki(rand.Next(2, 11), rand.Next(2, 11), pPoczatkowy, pKoncowy, siecPrzystankow, linie, czas)); } return(new PasazerKrotkodystansowy(rand.Next(2, 11), rand.Next(2, 11), pPoczatkowy, pKoncowy, siecPrzystankow, linie, czas)); }
public PasazerKrotkodystansowy(int czasWsiadania, int czasWysiadania, Przystanek przystanekPoczatkowy, Przystanek przystanekKoncowy, Graf <ulong> graf, TimeSpan czasOstatniegoStworzeniaTrasy) : base(czasWsiadania, czasWysiadania, przystanekPoczatkowy, przystanekKoncowy, czasOstatniegoStworzeniaTrasy) { this.graf = graf; var temp = CzyTrasaObliczona(przystanekPoczatkowy, przystanekKoncowy); if (temp == null) { trasaPasazera = ZnajdzTrase(graf); if (trasaPasazera != null) { obliczoneTrasy.Add(trasaPasazera); } this.czasOstatniegoStworzeniaTrasy = czasOstatniegoStworzeniaTrasy; } else { trasaPasazera = new TrasaPasazera(temp, temp.CzasWaznosci); } }
public override void UsunPrzystanek(Przystanek przystanek) { siecPrzystankow.Remove(przystanek); }
public override void Wysiadz(Przystanek przystanek) { wybranaLinia = null; obecnyPrzystanek = przystanek; OczekiwanaLinia(TimeSpan.Zero); }
public Pasazer WygenerujPasazera(Type typPasazera, int czasWsiadania, int czasWysiadania, Przystanek pPoczatkowy, Przystanek pKoncowy, TimeSpan czas) { if (typPasazera == typeof(PasazerDijkstry)) { return(new PasazerDijkstry(czasWsiadania, czasWysiadania, pPoczatkowy, pKoncowy, siecPrzystankow, linie, czas)); } else if (typPasazera == typeof(PasazerKrotkodystansowy)) { return(new PasazerKrotkodystansowy(czasWsiadania, czasWysiadania, pPoczatkowy, pKoncowy, siecPrzystankow, linie, czas)); } else if (typPasazera == typeof(PasazerWygodnicki)) { return(new PasazerWygodnicki(czasWsiadania, czasWysiadania, pPoczatkowy, pKoncowy, siecPrzystankow, linie, czas)); } else { throw new ArgumentException("Generator pasazerów nie obsługuje danego typu pasażera"); } }
public Wierzcholek(Przystanek przystanek, IEnumerable <Krawedz <T> > krawedzie) : this(przystanek) { foreach (var krawedz in krawedzie) { this.krawedzie.Add(krawedz); } }
public PasazerLosowy(int czasWsiadania, int czasWysiadania, Przystanek przystanekPoczatkowy, Przystanek przystanekKoncowy) : base(czasWsiadania, czasWysiadania, przystanekPoczatkowy, przystanekKoncowy) { }
public Wierzcholek(Przystanek przystanek) { this.przystanek = przystanek; krawedzie = new List <Krawedz <T> >(); czyOdwiedzony = false; }
public override void Wysiadz(Przystanek przystanek) { obecnyPrzystanek = przystanek; UsunPrzebytePrzystanki(); }
public PasazerDijkstryBazowy(int czasWsiadania, int czasWysiadania, Przystanek przystanekPoczatkowy, Przystanek przystanekKoncowy, TimeSpan czasOstatniegoStworzeniaTrasy) : base(czasWsiadania, czasWysiadania, przystanekPoczatkowy, przystanekKoncowy) { this.czasOstatniegoStworzeniaTrasy = czasOstatniegoStworzeniaTrasy; }
public PasazerWygodnicki(int czasWsiadania, int czasWysiadania, Przystanek przystanekPoczatkowy, Przystanek przystanekKoncowy, IEnumerable <Przystanek> siecPrzystankow, IEnumerable <Linia> linie, TimeSpan czasOstatniegoStworzeniaTrasy) : this(czasWsiadania, czasWysiadania, przystanekPoczatkowy, przystanekKoncowy, new Graf <byte>(siecPrzystankow, linie, byte.MaxValue), czasOstatniegoStworzeniaTrasy) { }
public PasazerKrotkodystansowy(int czasWsiadania, int czasWysiadania, Przystanek przystanekPoczatkowy, Przystanek przystanekKoncowy, IEnumerable <Przystanek> siecPrzystankow, IEnumerable <Linia> linie, TimeSpan czasOstatniegoStworzeniaTrasy) : this(czasWsiadania, czasWysiadania, przystanekPoczatkowy, przystanekKoncowy, new Graf <ulong>(siecPrzystankow, linie, ulong.MaxValue), czasOstatniegoStworzeniaTrasy) { }
private void List_SelectionChanged(object sender, SelectionChangedEventArgs e) { Przystanek rozp = new Przystanek(); try { rozp = (Przystanek)List.SelectedItem; } catch { rozp.ImagePath = "asdsadasda"; } if (List.SelectedIndex != -1) //dzieki temu mozemy odznaczyc zaznaczony element umozliwia to zwijanie i rozwijanie tego samego elementu { if (rozp.ImagePath == "/Assets/add.png" || rozp.ImagePath == "/Assets/sub.png") { check = false; for (int i = 0; i < l.Count; i++) //sprawdzenie czy wybrany element jest rozwiniety { if (l[i] == List.SelectedIndex) //jestli jest rozwiniety zwiniecie go { for (int k = 1; k <= ile[i]; k++) { List.Items.RemoveAt(l[i] + 1); } // List.Items.RemoveAt(l[i] + 1); //usuniecie z listy jednego elemenut l.Remove(l[i]); // usuniecie z listy rozwinietych elementow check = true; for (int j = 0; j < l.Count; j++) { if (l[j] > List.SelectedIndex) { l[j] = l[j] - ile[i]; // przesuniecie indeksów elementow } } ile.Remove(ile[i]); //element opodzialn za ddanie + na poczatku int index1 = List.SelectedIndex; Przystanek widok2 = new Przystanek(); Przystanek widok3 = new Przystanek(); widok2 = (Przystanek)List.SelectedItem; widok2 = (Przystanek)List.SelectedItem; widok3.Name = ""; for (int k = 0; k < widok2.Name.Length; k++) { widok3.Name += widok2.Name[k]; } widok2.ImagePath = "/Assets/add.png"; widok2.Name = widok3.Name; List.Items.Insert(index1 + 1, widok2); List.Items.RemoveAt(index1); // koniec elementu List.SelectedIndex = -1; } } if (check == false) { //nowe Przystanek autobus = new Przystanek(); autobus = (Przystanek)List.SelectedItem; string autobus1 = autobus.Name; if (autobus.Name[1] == 'X') { autobus1 = autobus.Name[1].ToString(); } else { autobus1 = autobus.Name[1].ToString() + autobus.Name[2].ToString() + autobus.Name[3].ToString(); } //koniec //element odpowiedzialny za wstawienie - int index = List.SelectedIndex; Przystanek widok = (Przystanek)List.SelectedItem; Przystanek widok1 = new Przystanek(); widok1.Name = ""; for (int i = 0; i < widok.Name.Length; i++) { widok1.Name += widok.Name[i]; } widok.ImagePath = "/Assets/sub.png"; widok.Name = widok1.Name; //koniec elementu //nowe selected = List.SelectedIndex; if (jakiprzystanek == "AMWOBLUZE") { var webClient = new WebClient(); webClient.OpenReadAsync(new Uri("http://hein.bluequeen.tk/select2.php?a='" + autobus1 + "'")); webClient.OpenReadCompleted += new OpenReadCompletedEventHandler(rozklad); } if (jakiprzystanek == "AMWOKSYWIE") { var webClient = new WebClient(); webClient.OpenReadAsync(new Uri("http://hein.bluequeen.tk/select4.php?a='" + autobus1 + "'")); webClient.OpenReadCompleted += new OpenReadCompletedEventHandler(rozklad); } if (jakiprzystanek == "OKSOBLUZE") { var webClient = new WebClient(); webClient.OpenReadAsync(new Uri("http://hein.bluequeen.tk/select6.php?a='" + autobus1 + "'")); webClient.OpenReadCompleted += new OpenReadCompletedEventHandler(rozklad); } if (jakiprzystanek == "OKSOKSYWIE") { var webClient = new WebClient(); webClient.OpenReadAsync(new Uri("http://hein.bluequeen.tk/select8.php?a='" + autobus1 + "'")); webClient.OpenReadCompleted += new OpenReadCompletedEventHandler(rozklad); } //koniec l.Add(List.SelectedIndex); for (int i = 0; i < l.Count; i++) //przesuniecie indeksow elementow { if (l[i] > List.SelectedIndex) { l[i] = l[i] + ile_dodano; } } //dokonczenie elementu odpowiedzialnego za wsawienie - List.Items.Insert(index + 1, widok); List.Items.RemoveAt(index); //koniec elmentu List.SelectedIndex = -1; } } else { List.SelectedIndex = -1; } } }
public override void Wysiadz(Przystanek przystanek) { UstawElementyTrasyJakoPrzebyte(przystanek); }
public static SynchronicznyZarzadTransportu OdczytajPlik(string sciezkaPliku) { SynchronicznyZarzadTransportu zt; using (var sr = File.OpenText(sciezkaPliku)) { zt = new SynchronicznyZarzadTransportu(sr.ReadLine()); zt.DodajPrzystanek(sr.ReadLine().Split('|').Where(p => p != "").Select(s => Przystanek.OdczytajPlik(s, zt))); zt.DodajLinie(sr.ReadLine().Split('|').Where(l => l != "").Select(l => Linia.OdczytajPlik(l, zt))); zt.DodajFirme(sr.ReadLine().Split('|').Where(f => f != "").Select(f => FirmaLosowa.OdczytajPlik(f))); } return(zt); }
public override void DodajPrzystanek(Przystanek przystanek) { siecPrzystankow.Add(przystanek); }