private bool CzyIstniejeWierzcholekPomiedzy(WierzcholekDrogi wierzcholekA, WierzcholekDrogi wierzcholekB)
        {
            Relacja relacja = Punkt <double> .ZwrocRelacje(wierzcholekA.Pozycja, wierzcholekB.Pozycja);

            Punkt <double> punktMniejszy = Punkt <double> .ZwrocPozycjeMniejszego(wierzcholekA.Pozycja, wierzcholekB.Pozycja);

            Punkt <double> punktWiekszy = Punkt <double> .ZwrocPozycjeWiekszego(wierzcholekA.Pozycja, wierzcholekB.Pozycja);

            foreach (WierzcholekDrogi wierzcholek in WierzcholkiDrog)
            {
                if (relacja == Relacja.Pionowe && wierzcholekA.Pozycja.X == wierzcholek.Pozycja.X)
                {
                    if (wierzcholek.Pozycja.Y > punktMniejszy.Y && wierzcholek.Pozycja.Y < punktWiekszy.Y)
                    {
                        return(true);
                    }
                }
                else if (relacja == Relacja.Poziome && wierzcholekA.Pozycja.Y == wierzcholek.Pozycja.Y)
                {
                    if (wierzcholek.Pozycja.X > punktMniejszy.X && wierzcholek.Pozycja.X < punktWiekszy.X)
                    {
                        return(true);
                    }
                }
            }
            return(false);
        }
コード例 #2
0
        public ActionResult DeleteConfirmed(int id)
        {
            Relacja relacja = db.Relacje.Find(id);

            db.Relacje.Remove(relacja);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
コード例 #3
0
 public ActionResult Edit([Bind(Include = "Id,Stacja_poczatkowa,Stacja_koncowa,Stacja_posrednia,Odleglosc")] Relacja relacja)
 {
     if (ModelState.IsValid)
     {
         db.Entry(relacja).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(relacja));
 }
コード例 #4
0
        public ActionResult Create([Bind(Include = "Id,Stacja_poczatkowa,Stacja_koncowa,Stacja_posrednia,Odleglosc")] Relacja relacja)
        {
            if (ModelState.IsValid)
            {
                db.Relacje.Add(relacja);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(relacja));
        }
コード例 #5
0
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Relacja relacja = db.Relacje.Find(id);

            if (relacja == null)
            {
                return(HttpNotFound());
            }
            return(View(relacja));
        }
コード例 #6
0
        public static Punkt <T> ZwrocPozycjeWiekszego(Punkt <T> punktA, Punkt <T> punktB)
        {
            Relacja relacja = ZwrocRelacje(punktA, punktB);

            if (relacja == Relacja.Poziome)
            {
                return((dynamic)punktA.X > punktB.X ? punktA : punktB);
            }
            else if (relacja == Relacja.Pionowe)
            {
                return((dynamic)punktA.Y > punktB.Y ? punktA : punktB);
            }

            throw new Exception("Brak relacji");
        }