public void DeleteAutobus(autobu autobus)
        {
            using (var db = new AutobuskaStanicaEntities())
            {
                var svePoseduje = db.posedujes.ToList();

                foreach (var poseduje in svePoseduje)             //zbog gerunda -> autobus vise ne pripada stanici, te se sve njegove funkcije u istoj brisu
                {
                    foreach (var linija in poseduje.vozna_linija) //brise se vozna linija na kojoj je autobus bio
                    {
                        if (linija.posedujes == poseduje)
                        {
                            db.Entry(linija).State = System.Data.Entity.EntityState.Deleted;
                        }
                    }
                    if (poseduje.autobus_brtablica.Equals(autobus.brtablica))
                    {
                        db.Entry(poseduje).State = System.Data.Entity.EntityState.Deleted;
                    }
                }

                db.Entry(autobus).State = System.Data.Entity.EntityState.Deleted;
                db.SaveChanges();
            }
        }
        public void DeleteProdavac(radnik radnik)
        {
            var prodavac = get.GetProdavacByJmbg(radnik.jmbg);

            using (var db = new AutobuskaStanicaEntities())
            {
                db.Entry(prodavac).State = System.Data.Entity.EntityState.Deleted;

                db.Entry(radnik).State = System.Data.Entity.EntityState.Deleted;

                db.SaveChanges();
            }
        }
        public void UpdateTipKarte(string idTipa, string penzionerska, string studentska, string decija, string odrasli)
        {
            var tip = get.GetTip_KarteById(idTipa);

            using (var db = new AutobuskaStanicaEntities())
            {
                if (tip.penzionerska != penzionerska)
                {
                    tip.penzionerska = penzionerska;
                }
                if (tip.studentska != studentska)
                {
                    tip.studentska = studentska;
                }
                if (tip.decija != decija)
                {
                    tip.decija = decija;
                }
                if (tip.odrasli != odrasli)
                {
                    tip.odrasli = odrasli;
                }

                db.Entry(tip).State = System.Data.Entity.EntityState.Modified;
                db.SaveChanges();
            }
        }
        public void UpdateAutobus(string brojtablica, int brojmesta, string ispravan, string marka, int kilometri)
        {
            var autobus = get.GetAutobusById(brojtablica);

            using (var db = new AutobuskaStanicaEntities())
            {
                if (autobus.brojmesta != brojmesta)
                {
                    autobus.brojmesta = brojmesta;
                }
                if (autobus.ispravan != ispravan)
                {
                    autobus.ispravan = ispravan;
                }
                if (autobus.marka != marka)
                {
                    autobus.marka = marka;
                }
                if (autobus.kilometri != kilometri)
                {
                    autobus.kilometri = kilometri;
                }

                db.Entry(autobus).State = System.Data.Entity.EntityState.Modified;
                db.SaveChanges();
            }
        }
        public void UpdateKarta(string idKarte, string jednosmerna, string povratna, string mesecna, string idTipa, string idLinije)
        {
            var karta = get.GetKartaById(idKarte);

            using (var db = new AutobuskaStanicaEntities())
            {
                if (karta.jednosmerna != jednosmerna)
                {
                    karta.jednosmerna = jednosmerna;
                }
                if (karta.povratna != povratna)
                {
                    karta.povratna = povratna;
                }
                if (karta.mesecna != mesecna)
                {
                    karta.mesecna = mesecna;
                }
                if (karta.tip_karte_idtipa != idTipa)
                {
                    karta.tip_karte_idtipa = idTipa;
                }
                if (karta.vozna_linija_idlinije != idLinije)
                {
                    karta.vozna_linija_idlinije = idLinije;
                }

                db.Entry(karta).State = System.Data.Entity.EntityState.Modified;
                db.SaveChanges();
            }
        }
        public void DeleteMehanicar(radnik radnik)
        {
            using (var db = new AutobuskaStanicaEntities())
            {
                var mehanicar = db.mehanicars.FirstOrDefault(m => m.jmbg.Equals(radnik.jmbg));
                db.Entry(mehanicar).State = System.Data.Entity.EntityState.Deleted;

                foreach (var poseduje in get.GetAllPoseduje())
                {
                    if (poseduje.mehanicars.Contains(mehanicar))
                    {
                        poseduje.mehanicars.Remove(mehanicar);
                    }
                }
                db.Entry(radnik).State = System.Data.Entity.EntityState.Deleted;

                db.SaveChanges();
            }
        }
        public void DeleteVozac(radnik radnik)
        {
            using (var db = new AutobuskaStanicaEntities())
            {
                var vozac = db.vozacs.FirstOrDefault(v => v.jmbg.Equals(radnik.jmbg));

                foreach (var linije in db.vozna_linija.ToList()) //ukoliko je imao neku liniju, obrisi vozaca (njega) sa te linije
                {
                    if (linije.vozacs.Contains(vozac))
                    {
                        linije.vozacs.Remove(vozac);
                    }
                }
                db.Entry(vozac).State = System.Data.Entity.EntityState.Deleted;

                db.Entry(radnik).State = System.Data.Entity.EntityState.Deleted;
                db.SaveChanges();
            }
        }
        public void DeleteAutobuskaStanica(autobuska_stanica stanica)
        {
            using (var db = new AutobuskaStanicaEntities())
            {
                var svePoseduje = db.posedujes.ToList();
                foreach (var v in svePoseduje)
                {
                    if (v.autobuska_stanica_idstanice == stanica.idstanice)
                    {
                        db.Entry(v).State = System.Data.Entity.EntityState.Deleted;
                    }
                }
                var sviMehanicari = db.mehanicars.ToList();
                var sviVozaci     = db.vozacs.ToList();
                var sviProdavci   = db.prodavacs.ToList();


                var sviRadnici = db.radniks.ToList();
                foreach (var radnik in sviRadnici)
                {
                    if (radnik.autobuska_stanica_idstanice == stanica.idstanice)
                    {
                        //kroz sve mehanicare
                        foreach (var mehanicar in sviMehanicari)
                        {
                            if (mehanicar.jmbg.Equals(radnik.jmbg))
                            {
                                db.Entry(mehanicar).State = System.Data.Entity.EntityState.Deleted;
                            }
                        }

                        //kroz sve vozace
                        foreach (var vozac in sviVozaci)
                        {
                            if (vozac.jmbg.Equals(radnik.jmbg))
                            {
                                db.Entry(vozac).State = System.Data.Entity.EntityState.Deleted;
                            }
                        }

                        //kroz sve prodavce
                        foreach (var prodavac in sviProdavci)
                        {
                            if (prodavac.jmbg.Equals(radnik.jmbg))
                            {
                                db.Entry(prodavac).State = System.Data.Entity.EntityState.Deleted;
                            }
                        }

                        db.Entry(radnik).State = System.Data.Entity.EntityState.Deleted;
                    }
                }

                db.Entry(stanica).State = System.Data.Entity.EntityState.Deleted;

                db.SaveChanges();
            }
        }
        public void UpdateMehanicar(string jmbg, int broj)
        {
            var mehanicar = get.GetMehanicarByJmbg(jmbg);

            using (var db = new AutobuskaStanicaEntities())
            {
                if (mehanicar.brojpopravljenih != broj)
                {
                    mehanicar.brojpopravljenih = broj;
                }

                db.Entry(mehanicar).State = System.Data.Entity.EntityState.Modified;
                db.SaveChanges();
            }
        }
        public void UpdateProdavac(string jmbg, int brojSaltera)
        {
            var prodavac = get.GetProdavacByJmbg(jmbg);

            using (var db = new AutobuskaStanicaEntities())
            {
                if (prodavac.brojsaltera != brojSaltera)
                {
                    prodavac.brojsaltera = brojSaltera;
                }

                db.Entry(prodavac).State = System.Data.Entity.EntityState.Modified;
                db.SaveChanges();
            }
        }
        public void UpdateVozac(string jmbg, int broj)
        {
            var vozac = get.GetVozacByJmbg(jmbg);

            using (var db = new AutobuskaStanicaEntities())
            {
                if (vozac.brojvoznihlinija != broj)
                {
                    vozac.brojvoznihlinija = broj;
                }


                db.Entry(vozac).State = System.Data.Entity.EntityState.Modified;
                db.SaveChanges();
            }
        }
        public void DeletePoseduje(poseduje poseduje)
        {
            using (var db = new AutobuskaStanicaEntities())
            {
                var sviMehanicari = db.mehanicars.ToList();
                foreach (var mehanicar in sviMehanicari)
                {
                    if (mehanicar.posedujes.Contains(poseduje))
                    {
                        mehanicar.posedujes.Remove(poseduje);
                    }
                }

                var sveLinije = db.vozna_linija.ToList();
                foreach (var linija in sveLinije)
                {
                    if (linija.posedujes.Contains(poseduje))
                    {
                        linija.posedujes.Remove(poseduje);
                    }
                }

                var sviAutobusi = db.autobus.ToList();
                foreach (var autobus in sviAutobusi)
                {
                    if (autobus.posedujes.Contains(poseduje))
                    {
                        autobus.posedujes.Remove(poseduje);
                    }
                }

                var sveStanice = db.autobuska_stanica.ToList();
                foreach (var stanica in sveStanice)
                {
                    if (stanica.posedujes.Contains(poseduje))
                    {
                        stanica.posedujes.Remove(poseduje);
                    }
                }
                db.Entry(poseduje).State = System.Data.Entity.EntityState.Deleted;
                db.SaveChanges();
            }
        }
        public void UpdateVoznaLinija(string idLinije, string polaziste, string odrediste, int vreme)
        {
            var linija = get.GetVoznaLinijaById(idLinije);

            using (var db = new AutobuskaStanicaEntities())
            {
                if (linija.polaziste != polaziste)
                {
                    linija.polaziste = polaziste;
                }
                if (linija.odrediste != odrediste)
                {
                    linija.vremeputovanja = vreme;
                }

                db.Entry(linija).State = System.Data.Entity.EntityState.Modified;
                db.SaveChanges();
            }
        }
        public void UpdatePutnik(int idPutnika, string ime, string idKarte)
        {
            var putnik = get.GetPutnikById(idPutnika);

            using (var db = new AutobuskaStanicaEntities())
            {
                if (putnik.ime != ime)
                {
                    putnik.ime = ime;
                }
                if (putnik.karta_idkarte != idKarte)
                {
                    putnik.karta_idkarte = idKarte;
                }

                db.Entry(putnik).State = System.Data.Entity.EntityState.Modified;
                db.SaveChanges();
            }
        }
        public void UpdateAutobuskaStanica(int idStanice, string ime, string grad, string ulica)
        {
            var stanica = get.GetAutobuska_StanicaById(idStanice);

            using (var db = new AutobuskaStanicaEntities())
            {
                if (stanica.ime != ime)
                {
                    stanica.ime = ime;
                }
                if (stanica.grad != grad)
                {
                    stanica.grad = grad;
                }
                if (stanica.ulica != ulica)
                {
                    stanica.ulica = ulica;
                }

                db.Entry(stanica).State = System.Data.Entity.EntityState.Modified;
                db.SaveChanges();
            }
        }
        public void UpdateRadnik(string jmbg, int idStanice, string ime, string prezime)
        {
            var radnik = get.GetRadnikByJmbg(jmbg);

            using (var db = new AutobuskaStanicaEntities())
            {
                if (radnik.autobuska_stanica_idstanice != idStanice)
                {
                    radnik.autobuska_stanica_idstanice = idStanice;
                }
                if (radnik.ime != ime)
                {
                    radnik.ime = ime;
                }
                if (radnik.prezime != prezime)
                {
                    radnik.prezime = prezime;
                }

                db.Entry(radnik).State = System.Data.Entity.EntityState.Modified;
                db.SaveChanges();
            }
        }
        public void DeleteRadnik(radnik radnik)
        {
            using (var db = new AutobuskaStanicaEntities())
            {
                var sviMehanicari = db.mehanicars.ToList();
                var mehanicar     = db.mehanicars.FirstOrDefault(m => m.jmbg.Equals(radnik.jmbg));

                if (sviMehanicari.Contains(mehanicar))
                {
                    DeleteMehanicar(radnik);
                    return;
                }

                var sviProdavci = db.prodavacs.ToList();
                var prodavac    = db.prodavacs.FirstOrDefault(m => m.jmbg.Equals(radnik.jmbg));

                if (sviProdavci.Contains(prodavac))
                {
                    DeleteProdavac(radnik);
                    return;
                }

                var sviVozaci = db.vozacs.ToList();
                var vozac     = db.vozacs.FirstOrDefault(m => m.jmbg.Equals(radnik.jmbg));

                if (sviVozaci.Contains(vozac))
                {
                    DeleteVozac(radnik);
                    return;
                }


                db.Entry(radnik).State = System.Data.Entity.EntityState.Deleted;
                db.SaveChanges();
            }
        }