예제 #1
0
        private void btnDeleteStop_Click(object sender, EventArgs e)
        {
            ListBox selectedList = lstStajalista;

            if (lstStajalista.SelectedItems.Count == 0)
            {
                selectedList = lstUnutarLinije;
            }
            var          temp         = selectedList.SelectedItem.ToString().Split('-')[1].TrimStart();
            Stajaliste   stop         = db.Stajaliste.First(o => (o.Naziv.Equals(temp)));
            DialogResult dialogResult = MessageBox.Show
                                        (
                "Da li ste sigurni da želite da obrišete stajalište " + stop.Naziv + "?",
                "Brisanje stajališta!",
                MessageBoxButtons.YesNo
                                        );

            if (dialogResult == DialogResult.Yes)
            {
                foreach (var stajalisteLinije in stop.StajalisteLinije.ToList())
                {
                    db.StajalisteLinije.Remove(stajalisteLinije);
                }
                db.Stajaliste.Remove(stop);
                lstStajalista.SelectedItems.Clear();
                lstUnutarLinije.SelectedItems.Clear();
                db.SaveChanges();
                MessageBox.Show("Stajalište " + stop.Naziv + " uspješno obrisano!");
                adminRouteInitiation(true);
                return;
            }
            MessageBox.Show("Nemoguce obrisati Stajalište!");
        }
예제 #2
0
        private void gmap_OnMarkerClick(GMapMarker marker, MouseEventArgs e)
        {
            Stajaliste stajaliste = null;

            pnlDesno.Items.Clear();
            foreach (var x in db.Stajaliste)
            {
                if (x.Naziv.Equals(marker.ToolTipText))
                {
                    stajaliste = x;
                }
            }
            pnlDesno.Items.Add("");
            pnlDesno.Items.Add("");
            pnlDesno.Items.Add("");
            pnlDesno.Items.Add("");
            foreach (var x in db.StajalisteLinije)
            {
                if (x.Stajaliste.Equals(stajaliste.Id))
                {
                    pnlDesno.Items.Add(x.Linija1.Broj);
                }
            }
            pnlDesnoColider_MouseEnter(marker, e);
        }
예제 #3
0
        private void btnOK_Click(object sender, EventArgs e)
        {
            if ("".Equals(lblNaziv.Text) ||
                "".Equals(lblX.Text) ||
                "".Equals(lblY.Text))
            {
                MessageBox.Show("Prvo popunite sva polja!");
                return;
            }
            bool   neMoze1 = false;
            bool   neMoze2 = false;
            double xxx = 0, yyy = 0;

            neMoze1 = !double.TryParse(lblX.Text.Replace(",", "").Replace(".", ","), out xxx);
            neMoze2 = !double.TryParse(lblY.Text.Replace(",", "").Replace(".", ","), out yyy);
            if (xxx < -90 || xxx > 90 ||
                yyy < -180 || yyy > 180 ||
                neMoze1 || neMoze2)
            {
                MessageBox.Show("Greška pri unosu podataka!");
                return;
            }

            if (stop == null)
            {
                stop       = new Stajaliste();
                stop.Naziv = lblNaziv.Text;
                stop.X     = double.Parse(lblX.Text.Replace(",", "").Replace(".", ","));
                stop.Y     = double.Parse(lblY.Text.Replace(",", "").Replace(".", ","));
                if (db.Stajaliste.Count(o => ((o.Naziv.Equals(stop.Naziv)))) != 0)
                {
                    MessageBox.Show("To stajalište već postoji!");
                }
                else
                {
                    db.Stajaliste.Add(stop);
                    db.SaveChanges();
                    parent.adminRouteInitiation(true);
                    parent.Visible = true;
                    Close();
                }
            }
            else
            {
                stop.Naziv = lblNaziv.Text;
                stop.X     = double.Parse(lblX.Text.Replace(",", "").Replace(".", ","));
                stop.Y     = double.Parse(lblY.Text.Replace(",", "").Replace(".", ","));
                db.SaveChanges();

                parent.adminRouteInitiation(true);
                parent.Visible = true;
                Close();
            }
        }
예제 #4
0
        private void routesInitiation()
        {
            Random rand = new Random();

            foreach (var linija in db.Linija)
            {
                int r = rand.Next(256);
                int g = rand.Next(256);
                int b = rand.Next(256);
                if (buttons.Exists(x => (x.Text.Equals(linija.Broj) && x.Checked)))
                {
                    if (linija.StajalisteLinije.Count == 0)
                    {
                        continue;
                    }
                    GMapOverlay routesOverlay = new GMapOverlay("Ruta" + linija.Broj);
                    Stajaliste  old           = linija.StajalisteLinije.First().Stajaliste1;;
                    foreach (var stajaliste in linija.StajalisteLinije)
                    {
                        /*MapRoute route =
                         *  GoogleMapProvider.Instance.GetRoute
                         *  (
                         *      new PointLatLng((double)old.X, (double)old.Y),
                         *      new PointLatLng((double)stajaliste.Stajaliste1.X, (double)stajaliste.Stajaliste1.Y),
                         *      false,
                         *      false,
                         *      15
                         *  );
                         * GMapRoute r = new GMapRoute(route.Points, "Ruta " + linija.Broj + stajaliste.Stajaliste + "-" + old.Id);
                         * r.Stroke.Width = 5;
                         * r.Stroke.Color = Color.SeaGreen;
                         * routesOverlay.Routes.Add(r);*/

                        List <PointLatLng> points = new List <PointLatLng>();
                        points.Add(new PointLatLng((double)old.X, (double)old.Y));
                        points.Add(new PointLatLng((double)old.X, (double)old.Y));
                        points.Add(new PointLatLng((double)stajaliste.Stajaliste1.X, (double)stajaliste.Stajaliste1.Y));
                        points.Add(new PointLatLng((double)stajaliste.Stajaliste1.X, (double)stajaliste.Stajaliste1.Y));
                        GMapPolygon polygon = new GMapPolygon(points, "Ruta" + linija.Broj);
                        polygon.Fill   = new SolidBrush(Color.FromArgb(r, g, b));
                        polygon.Stroke = new Pen(Color.FromArgb(r, g, b), 5);
                        routesOverlay.Polygons.Add(polygon);
                        mapMapa.Overlays.Add(routesOverlay);
                        old = stajaliste.Stajaliste1;
                    }
                }
            }
        }
예제 #5
0
        public FormStajaliste(Stajaliste stop, Database db, Javni_prevoz parent)
        {
            InitializeComponent();
            List <String> source = new List <String>();

            foreach (var stajaliste in db.Stajaliste)
            {
                source.Add(stajaliste.Naziv);
            }
            lblNaziv.DataSource = source;
            if (stop == null)
            {
                this.db     = db;
                this.parent = parent;

                lblNaziv.Text = "";
                lblX.Text     = "44.7784200";
                lblY.Text     = "17.1938600";

                Text = "Dodavanje stajališta";
            }
            else
            {
                this.db          = db;
                this.parent      = parent;
                this.stop        = stop;
                lblNaziv.Enabled = false;

                lblNaziv.Text = stop.Naziv;
                x             = (double)stop.X;
                y             = (double)stop.Y;

                lblX.Text = x.ToString("N8", new CultureInfo("en-us"));
                lblY.Text = y.ToString("N8", new CultureInfo("en-us"));
                Text      = "Izmjena stajališta";

                mapMapa.Position = new PointLatLng((double)x, (double)y);
                GMarkerGoogle marker = new GMarkerGoogle(new PointLatLng((double)x, (double)y), GMarkerGoogleType.red);
                markersOverlay.Markers.Add(marker);
                mapMapa.Overlays.Add(markersOverlay);
            }
        }
예제 #6
0
        private void stajalistaInitiation(bool first)
        {
            List <String> preostalaStajalista            = new List <string>();
            List <Tuple <int, String> > linijaStajalista = new List <Tuple <int, String> >();

            var    temp     = comboLinijeURutama.SelectedItem.ToString().Split('-')[0].TrimEnd();
            Linija selected = db.Linija.First(o => (o.Broj.Equals(temp)));

            ListBox selectedList = lstStajalista;

            if (lstStajalista.SelectedItems.Count == 0)
            {
                selectedList = lstUnutarLinije;
            }
            Stajaliste stop = null;

            if (selectedList.SelectedItems.Count != 0)
            {
                var temp1 = selectedList.SelectedItem.ToString().Split('-')[1].TrimStart();
                stop = db.Stajaliste.First(o => (o.Naziv.Equals(temp1)));
            }

            foreach (var stajaliste in db.Stajaliste)
            {
                bool k          = false;
                int  redni_broj = 0;
                foreach (var stajalisteLinije in stajaliste.StajalisteLinije)
                {
                    if ((stajalisteLinije.Linija1 == null) || (stajalisteLinije.Stajaliste1 == null || (selected == null)))
                    {
                        db.StajalisteLinije.Remove(stajalisteLinije);
                        continue;
                    }
                    if (stajalisteLinije.Linija1.Id == (selected.Id))
                    {
                        k          = true;
                        redni_broj = (int)stajalisteLinije.Redni_broj;
                    }
                }
                if (k)
                {
                    linijaStajalista.Add(new Tuple <int, String>(redni_broj, stajaliste.Id + " - " + stajaliste.Naziv));
                }
                else
                {
                    preostalaStajalista.Add(stajaliste.Id + " - " + stajaliste.Naziv);
                }
            }
            linijaStajalista.Sort((x, y) => x.Item1.CompareTo(y.Item1));
            List <String> unutarLinijeStajalista = new List <String>();

            foreach (var x in linijaStajalista)
            {
                unutarLinijeStajalista.Add(x.Item2);
            }
            lstUnutarLinije.DataSource = unutarLinijeStajalista;
            lstStajalista.DataSource   = preostalaStajalista;

            if (first)
            {
                lstStajalista.SelectedItems.Clear();
                lstUnutarLinije.SelectedItems.Clear();
                lstStajalista.SelectedIndex = 0;
            }
            else if ((stop != null) && (selectedList == lstUnutarLinije))
            {
                lstStajalista.SelectedItems.Clear();
                lstUnutarLinije.SelectedItems.Clear();
                lstUnutarLinije.SelectedItems.Add(stop.Id + " - " + stop.Naziv);
            }
        }