public IActionResult Dodaj(int NekretninaID) { //ovo je kada biramo iz Uredi ili Detalji Nekretnine Nekretnina x = db.Nekretnine.Find(NekretninaID); Oglas postojiLi = db.Oglas.Where(i => i.NekretninaID == NekretninaID).FirstOrDefault(); if (postojiLi != null) { TempData["WarningMessage"] = "Nekretnina je već objavljena!"; return(Redirect("/Nekretnina/Prikazi")); } else { OglasiDodajVM model = new OglasiDodajVM { NekretninaID = x.NekretninaID, Nekretnine = db.Nekretnine.Where(i => i.NekretninaID == NekretninaID).Select(k => new Microsoft.AspNetCore.Mvc.Rendering.SelectListItem { Value = k.NekretninaID.ToString(), Text = k.Naziv }).ToList(), Aktivan = true, DatumObjave = DateTime.Now, UposlenikKorisnickoIme = HttpContext.GetLogiraniKorisnik().KorisnickoIme, vrstaOglasa = db.VrsteOglasa.Select(i => new Microsoft.AspNetCore.Mvc.Rendering.SelectListItem { Value = i.VrstaOglasaID.ToString(), Text = i.Naziv }).ToList() }; return(View(model)); } }
public static void updateNekretninaDuze(int id, NekrIznDuzeAddUpdate n) { try { ISession s = DataLayer.GetSession(); Nekretnina nek = s.Query <Nekretnina>().Where(a => a.Id == id).FirstOrDefault(); NekretninaIznajmljivanjeDuze nd = (NekretninaIznajmljivanjeDuze)nek; nd.GradLokacija = n.GradLokacija; nd.Ulica = n.Ulica; nd.Broj = n.Broj; nd.BrojParcele = n.BrojParcele; nd.KatastarskaOpstina = n.KatastarskaOpstina; nd.Tip = n.Tip; nd.Kvadratura = n.Kvadratura; nd.DatumIzgradnje = n.DatumIzgradnje; nd.Cena = n.Cena; nd.SpratBrSpratova = n.SpratBrSpratova; nd.Opis = n.Opis; nd.IdUgovora = n.IdUgovora; nd.MaxMeseci = n.MaxMeseci; nd.FizickaLicaFirme = n.FizickaLicaFirme; nd.Vlasnik = s.Load <Klijent>(n.Vlasnik); nd.ZaduzenAgent = s.Load <Agent>(n.ZaduzenAgent); s.Update(nd); s.Flush(); s.Close(); } catch (Exception exc) { } }
private void btnDodajFoto_Click(object sender, EventArgs e) { if (listView1.SelectedItems.Count == 0) { MessageBox.Show("Odaberite nekretninu!"); return; } int nekId = Int32.Parse(listView1.SelectedItems[0].SubItems[0].Text); try { if (ofdDodajSlike.ShowDialog() == DialogResult.OK) { ISession s = DataLayer.GetSession(); Nekretnina n = s.Load <Nekretnina>(nekId); string path = ofdDodajSlike.FileName; byte[] slika = Encoding.ASCII.GetBytes(path); Fotografija f = new Fotografija() { Sadrzaj = slika, PripadaNekretnini = n }; s.Save(f); s.Flush(); s.Close(); } } catch (Exception ec) { MessageBox.Show(ec.Message); } }
public checkNekretnina(Nekretnina n, BitmapImage slika1) { InitializeComponent(); imgSlika.Source = slika1; txtOpis.Text = n.Opis; nekretnina = n; }
private void btnFotografije_Click(object sender, EventArgs e) { if (listView1.SelectedItems.Count == 0) { MessageBox.Show("Odaberite nekretninu!"); return; } int nekId = Int32.Parse(listView1.SelectedItems[0].SubItems[0].Text); try { ISession s = DataLayer.GetSession(); Nekretnina n = s.Load <Nekretnina>(nekId); if (n.Fotografije.Count == 0) { s.Close(); MessageBox.Show("Nema fotografija za prikaz!"); return; } NekretninaFotografije nf = new NekretninaFotografije(n); nf.Show(); s.Close(); } catch (Exception ec) { MessageBox.Show(ec.Message); } }
public static void updateNekretninaProdaja(int id, NekretninaProdajaAddUpdate n) { try { ISession s = DataLayer.GetSession(); Nekretnina nek = s.Query <Nekretnina>().Where(a => a.Id == id).FirstOrDefault(); NekretninaProdaja np = (NekretninaProdaja)nek; np.GradLokacija = n.GradLokacija; np.Ulica = n.Ulica; np.Broj = n.Broj; np.BrojParcele = n.BrojParcele; np.KatastarskaOpstina = n.KatastarskaOpstina; np.Tip = n.Tip; np.Kvadratura = n.Kvadratura; np.DatumIzgradnje = n.DatumIzgradnje; np.Cena = n.Cena; np.SpratBrSpratova = n.SpratBrSpratova; np.Opis = n.Opis; np.IdUgovora = n.IdUgovora; np.Vlasnik = s.Load <Klijent>(n.Vlasnik); np.ZaduzenAgent = s.Load <Agent>(n.ZaduzenAgent); s.Update(np); s.Flush(); s.Close(); } catch (Exception exc) { } }
public static void updateNekretninaKrace(int id, NekrIznKraceAddUpdate n) { try { ISession s = DataLayer.GetSession(); Nekretnina nek = s.Query <Nekretnina>().Where(a => a.Id == id).FirstOrDefault(); NekretninaIznajmljivanjeKrace nk = (NekretninaIznajmljivanjeKrace)nek; nk.GradLokacija = n.GradLokacija; nk.Ulica = n.Ulica; nk.Broj = n.Broj; nk.BrojParcele = n.BrojParcele; nk.KatastarskaOpstina = n.KatastarskaOpstina; nk.Tip = n.Tip; nk.Kvadratura = n.Kvadratura; nk.DatumIzgradnje = n.DatumIzgradnje; nk.Cena = n.Cena; nk.SpratBrSpratova = n.SpratBrSpratova; nk.Opis = n.Opis; nk.IdUgovora = n.IdUgovora; nk.DatumOd = n.DatumOd; nk.DatumDo = n.DatumDo; nk.Godina = n.Godina; nk.Vlasnik = s.Load <Klijent>(n.Vlasnik); nk.ZaduzenAgent = s.Load <Agent>(n.ZaduzenAgent); s.Update(nk); s.Flush(); s.Close(); } catch (Exception exc) { } }
public IActionResult Detalji(int NekretninaID) { Nekretnina x = db.Nekretnine .Include(g => g.Kategorija) .Include(t => t.Lokacija) .Include(k => k.Lokacija.Grad) .Include(t => t.Lokacija.Grad.Drzava) .Where(x => x.NekretninaID == NekretninaID).FirstOrDefault(); NekretninaDodajVm model = new NekretninaDodajVm { NekretninaID = NekretninaID, Naziv = x.Naziv, Opis = x.Opis, Kvadratura = x.Kvadratura, Cijena = x.Cijena, BrojSoba = x.BrojSoba, LokacijaID = x.LokacijaID, GradID = x.Lokacija.Grad.GradID, DrzavaID = x.Lokacija.Grad.Drzava.DrzavaID, KategorijeID = x.KategorijaID, Kategorije = db.Kategorije.Select(k => new SelectListItem { Value = k.KategorijaID.ToString(), Text = k.KategorijaNaziv }).ToList(), Lokacija = db.Lokacije.Select(k => new SelectListItem { Value = k.LokacijaID.ToString(), Text = k.Naziv }).ToList(), Grad = db.Gradovi.Select(k => new SelectListItem { Value = k.GradID.ToString(), Text = k.Naziv }).ToList(), Drzava = db.Drzave.Select(k => new SelectListItem { Value = k.DrzavaID.ToString(), Text = k.Naziv }).ToList(), Karakteristike = db.NekretninaKarakteristike .Where(i => i.NekretninaID == NekretninaID) .Select(k => new SelectListItem { Value = k.Karakteristike.KarakteristikeID.ToString(), Text = k.Karakteristike.Naziv }).ToList(), Slike = db.Slike.Where(k => k.NekretninaID == NekretninaID).ToList() }; return(View(model)); }
public IActionResult Create([Bind("Sifra,Vrsta,Lokacija,Kvadratura,ZKCist,PristupniPut,BrojSoba,ZaduzeniAgent")] Nekretnina nekretnina) { if (ModelState.IsValid) { nekretnine.Add(nekretnina); return(RedirectToAction(nameof(Index))); } return(View(nekretnina)); }
public IActionResult Obrisi(int NekretninaID) { Nekretnina zaBrisanje = db.Nekretnine.Find(NekretninaID); Oglas oglas = db.Oglas.Where(i => i.NekretninaID == zaBrisanje.NekretninaID).FirstOrDefault(); var obilasci = db.Obilasci.Where(i => i.NekretninaID == zaBrisanje.NekretninaID).ToList(); var noti = db.Notifikacije.ToList(); Ugovor ugovore = db.Ugovori.Where(i => i.NekretninaID == zaBrisanje.NekretninaID).FirstOrDefault(); Uplata uplata = db.Uplate.Where(i => i.NekretninaID == zaBrisanje.NekretninaID).FirstOrDefault(); if (zaBrisanje != null) { if (ugovore != null || uplata != null) { TempData["warningMessage"] = "Ovu nekretninu je nemoguće obrisati!"; return(RedirectToAction("Prikazi")); } else { if (obilasci != null) { //prodji kroz sve notifikacije sa tim obilaskom i obriši ih foreach (var o in obilasci) { foreach (var n in noti) { if (n.ObilazakID == o.ObilazakID) { db.Notifikacije.Remove(n); db.SaveChanges(); } } } //prodji kroz sve obilaske te nekretnine i obriši ih foreach (var o in obilasci) { db.Obilasci.Remove(o); db.SaveChanges(); } } if (oglas != null) { db.Remove(oglas); db.SaveChanges(); } db.Remove(zaBrisanje); db.SaveChanges(); } } return(RedirectToAction("Prikazi")); }
private void btnProdato_Click(object sender, EventArgs e) { if (listView1.SelectedItems.Count == 0) { MessageBox.Show("Odaberite nekretninu!"); return; } string str = listView1.SelectedItems[0].SubItems[6].Text; if (str.Equals("iznajmljivanje")) { MessageBox.Show("Nekretnina nije na prodaju!"); return; } int nekrId = Int32.Parse(listView1.SelectedItems[0].SubItems[0].Text); try { ISession s = DataLayer.GetSession(); Nekretnina n = s.Load <Nekretnina>(nekrId); IList <Ugovor> u = s.QueryOver <Ugovor>() .Where(ug => ug.PripadaNekretnini.Id == nekrId) .List <Ugovor>(); int vlId = n.Vlasnik.Id; if (u.Count == 0) { MessageBox.Show("Ne mozete prodati nekretninu bez ugovora!"); return; } s.Delete(n); s.Flush(); Klijent k = s.Load <Klijent>(vlId); if (k.NekretnineVlasnik.Count == 0) { k.Prodavac = "Ne"; s.Update(k); } s.Flush(); s.Close(); } catch (Exception ec) { MessageBox.Show(ec.Message); } this.PopulateInfos(); }
public IHttpActionResult Post(Nekretnina nekretnina) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } _repository.Add(nekretnina); nekretnina = _repository.GetById(nekretnina.Id); //ovo su dodela za id return(CreatedAtRoute("DefaultApi", new { id = nekretnina.Id }, nekretnina)); }
private void btnUcitajNekretninu_Click(object sender, EventArgs e) { try { ISession sesija = DataLayer.GetSession(); Nekretnina nova = sesija.Load <PoslovnaNekretnina>(4); MessageBox.Show(nova.Ime_ulice);//Koch Haven }catch (Exception ec) { MessageBox.Show(ec.Message); } }
public async Task <IHttpActionResult> GetNekretnina(int id) { Nekretnina nekretnina = await db.Nekretnina.FindAsync(id); if (nekretnina == null) { return(NotFound()); } return(Ok(nekretnina)); }
public void popuni(Nekretnina n) { txtLokacija.Text = n.Lokacija; txtOpis.Text = n.Opis; cbbTipNekretnine.SelectedItem = n.TipNekretnine; tbxCijena.Text = n.Cijena.ToString(); cbbKlijenti.SelectedItem = n.klijent; cbxRezervisanost.IsChecked = n.DaLiJeRezervisana; slike = n.Slike; if (slike.Count > 0) imgNekretnine.Source = slike[0]; }
public void Update(Nekretnina nekretnina) { db.Entry(nekretnina).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { throw; } }
public NekretninaFotografije(Nekretnina nekr) : this() { n = nekr; btnPrethodna.Visible = false; if (n.Fotografije.Count == 1) { btnSledeca.Visible = false; } byte[] blob = n.Fotografije[index].Sadrzaj; string path = Encoding.ASCII.GetString(blob); pictureBox1.Image = Image.FromFile(path); }
public static void SaveNekretnina(Nekretnina n) { try { ISession s = DataLayer.GetSession(); s.Save(n); s.Flush(); s.Close(); } catch (Exception ec) { MessageBox.Show(ec.Message); } }
private void btnNoviUgovor_Click(object sender, EventArgs e) { try { ISession s = DataLayer.GetSession(); ProdajniUgovor ugovor = new ProdajniUgovor() { ImePrezimeNotara = "Slavica Djukic", AdresaNotara = "Bulevar Nemanjica BB", Datum = DateTime.Now, NaknadaAgencija = 500, BonusAgent = 40, Cena = 30000, NaknadaNotar = 150 }; Nekretnina nekretnina = s.Load <Nekretnina>(6); Klijent prodavac = s.Load <Klijent>(3); PravniZastupnik zastupnikProdavac = s.Load <PravniZastupnik>(4); Klijent kupac = s.Load <Klijent>(7); PravniZastupnik zastupnikKupac = s.Load <PravniZastupnik>(6); ugovor.PripadaNekretnini = nekretnina; ugovor.Vlasnik = prodavac; ugovor.ZastupnikVlasnik = zastupnikProdavac; ugovor.ZastupnikKupacIznajmljivac = zastupnikKupac; ugovor.KupacIznajmljivac = kupac; nekretnina.Ugovor = ugovor; prodavac.PotpisaniProdavac.Add(ugovor); kupac.PotpisaniKupac.Add(ugovor); zastupnikProdavac.AngazovaoProdavac.Add(ugovor); zastupnikKupac.AngazovaoKupac.Add(ugovor); s.Save(ugovor); s.Flush(); MessageBox.Show("Uspesno dodat novi ugovor!"); s.Close(); } catch (Exception ec) { MessageBox.Show(ec.Message); } }
public static void removeNekretnina(int id) { try { ISession s = DataLayer.GetSession(); Nekretnina n = s.Load <Nekretnina>(id); s.Delete(n); s.Flush(); s.Close(); } catch (Exception exc) { } }
private void btnVezaManytoOne_Click(object sender, EventArgs e) { try { ISession s = DataLayer.GetSession(); //Ucitavaju se podaci o prodavnici za zadatim brojem Nekretnina n = s.Load <Nekretnina>(7); MessageBox.Show(n.Prodavac.ID.ToString()); MessageBox.Show(n.Kvart.Gradska_zona); MessageBox.Show(n.Starost().ToString()); s.Close(); } catch (Exception ec) { MessageBox.Show(ec.Message); } }
private void nekretnineListView_ItemActivate_1(object sender, EventArgs e) { dijeloviNekretnineListView.Items.Clear(); for (int i = 0; i < nekretnineListView.Items.Count; i++) { if (nekretnineListView.Items[i].Selected == true) { foreach (Nekretnina n in nekretnine) { if (n.Naziv == nekretnineListView.Items[i].Text) { try { odabranaNekretnina = n; ListViewItem temp = new ListViewItem(); DAO dao = new DAO("localhost", "ikzavrsni", "root", "root"); int idNekretnine = dao.VratiIdNekretnine(n.Naziv, n.Adresa, n.Grad); dijeloviNekretnina = dao.PretraziDioNekretnine(idNekretnine); foreach (DioNekretnine dn in dijeloviNekretnina) { temp = dijeloviNekretnineListView.Items.Add(dn.Naziv); temp.SubItems.Add(dn.Status); temp.SubItems.Add(dn.IznosNajma.ToString()); } return; } catch (Exception izuzetak) { toolStripStatusLabel1.Text = izuzetak.Message; } } } } } }
public async Task <List <Nekretnina> > GetPreporuceneNekretnine(int nekretninaId) { List <Nekretnina> _preporuceneNekretnine = new List <Nekretnina>(); Nekretnina posmatranaNekretnina = new Nekretnina(); posmatranaNekretnina = await _nekretninaService.GetById <Nekretnina>(nekretninaId); NekretninaSearchRequest nekretninaSearchRequest = new NekretninaSearchRequest(); nekretninaSearchRequest.GradId = posmatranaNekretnina.GradId; OcjenaSearchRequest ocjenaSearchRequest = new OcjenaSearchRequest(); List <Nekretnina> nekretnine = await _nekretninaService.Get <List <Model.Models.Nekretnina> >(nekretninaSearchRequest); foreach (var nekretnina in nekretnine) { if (nekretnina.NekretninaId != nekretninaId) { ocjenaSearchRequest.NekretninaId = nekretnina.NekretninaId; List <Ocjena> ocjeneNekretnine = await _ocjeneService.Get <List <Ocjena> >(ocjenaSearchRequest); double prosjekOcjena = 0; foreach (var o in ocjeneNekretnine) { prosjekOcjena += o.Ocjena1; } prosjekOcjena = prosjekOcjena / ocjeneNekretnine.Count; if (prosjekOcjena >= 2.5 && nekretnina.NekretninaId != nekretninaId) { _preporuceneNekretnine.Add(nekretnina); } } } return(_preporuceneNekretnine); }
private void spasiNekretninu_Click(object sender, EventArgs e) { try { DAO dao = new DAO("localhost", "ikzavrsni", "root", "root"); n = new Nekretnina(nazivTextBox.Text, adresaTextBox.Text, lokacijaTextBox.Text, gradTextBox.Text, biljeskeRichTextBox.Text); Bitmap slika = (Bitmap)slikaNekretninePictureBox.Image; n.Slika = slika; if (brojKvadrataNumericUpDown.Text != "") { n.BrojKvadrata = Convert.ToInt32(brojKvadrataNumericUpDown.Text); } if (godinaIzgradnjeNumericUpdown.Text != "") { n.GodinaIzgradnje = Convert.ToInt32(godinaIzgradnjeNumericUpdown.Text); } if (nabavnaCijenaNumericUpDown.Text != "") { n.NabavnaCijena = Convert.ToDouble(nabavnaCijenaNumericUpDown.Text); } dao.UnesiNekretninu(n); dao.ZatvoriKonekciju(); statusStrip1.BackColor = Color.White; toolStripStatusLabel1.ForeColor = Color.Green; toolStripStatusLabel1.Text = "Podaci su spašeni."; } catch (Exception) { statusStrip1.BackColor = Color.White; toolStripStatusLabel1.ForeColor = Color.Red; toolStripStatusLabel1.Text = "Podaci nisu spašeni!"; } }
public IHttpActionResult Put(int id, Nekretnina nekretnina) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != nekretnina.Id) { return(BadRequest()); } try { _repository.Update(nekretnina); } catch { throw; } return(Ok(nekretnina)); }
private void btnObrisi_Click(object sender, EventArgs e) { if (listView1.SelectedItems.Count == 0) { MessageBox.Show("Odaberite nekretninu!"); return; } int nekrId = Int32.Parse(listView1.SelectedItems[0].SubItems[0].Text); try { ISession s = DataLayer.GetSession(); Nekretnina n = s.Load <Nekretnina>(nekrId); int vlId = n.Vlasnik.Id; s.Delete(n); s.Flush(); Klijent k = s.Load <Klijent>(vlId); if (k.NekretnineVlasnik.Count == 0) { k.Prodavac = "Ne"; s.Update(k); } s.Flush(); s.Close(); } catch (Exception ec) { MessageBox.Show(ec.Message); } this.PopulateInfos(); }
private void dioZaIznajmljivanjeTabPage_Enter(object sender, EventArgs e, Nekretnina n) { }
public IzmjenaNekretnine(Nekretnina nekretnina) { InitializeComponent(); n = nekretnina; }
public void Delete(Nekretnina nekretnina) { db.Nekretnina.Remove(nekretnina); db.SaveChanges(); }
private void btnOK_Click(object sender, RoutedEventArgs e) { if (validirajLokacije() == true && validirajCijenu() == true) { List<Nekretnina.EnumTipNekretnine> l = Enum.GetValues(typeof(Nekretnina.EnumTipNekretnine)).Cast<Nekretnina.EnumTipNekretnine>().ToList(); Nekretnina.EnumTipNekretnine e1 = l[cbbTipNekretnine.SelectedIndex]; if (tbxCijena.Text == "") tbxCijena.Text = "0.0"; decimal dec = Convert.ToDecimal(tbxCijena.Text); Nekretnina n = new Nekretnina(txtLokacija.Text, txtOpis.Text, e1, dec, 0, cbxRezervisanost.IsChecked == true, null); n.Slike = slike; n.klijent = cbbKlijenti.SelectedItem as Klijent; nekretnine.Add(n); DAO.NekretninaDAO daon = new DAO.NekretninaDAO(); daon.Create(n); foreach (BitmapImage i in slike) { SlikeNekretnina sn = new SlikeNekretnina(n, i); DAO.SlikeNekretninaDAO daosn = new DAO.SlikeNekretninaDAO(); daosn.Create(sn); } this.Close(); } else pocrveni(borLokacija); }
public IActionResult Uredi(int NekretninaID) { if (NekretninaID == 0) { return(StatusCode(400)); } Nekretnina x = db.Nekretnine .Include(g => g.Kategorija) .Include(t => t.Lokacija) .Include(k => k.Lokacija.Grad) .Include(t => t.Lokacija.Grad.Drzava) .Include(t => t.Slike) .Where(x => x.NekretninaID == NekretninaID).FirstOrDefault(); if (x == null) { return(StatusCode(404)); } var selected = db.NekretninaKarakteristike.Where(i => i.NekretninaID == x.NekretninaID).Select(i => i.KarakteristikeID).ToList(); NekretninaDodajVm model = new NekretninaDodajVm { NekretninaID = NekretninaID, Naziv = x.Naziv, Opis = x.Opis, Kvadratura = x.Kvadratura, Cijena = x.Cijena, BrojSoba = x.BrojSoba, LokacijaID = x.LokacijaID, GradID = x.Lokacija.Grad.GradID, DrzavaID = x.Lokacija.Grad.Drzava.DrzavaID, KategorijeID = x.KategorijaID, Kategorije = db.Kategorije.Select(k => new SelectListItem { Value = k.KategorijaID.ToString(), Text = k.KategorijaNaziv }).ToList(), Lokacija = db.Lokacije.Select(k => new SelectListItem { Value = k.LokacijaID.ToString(), Text = k.Naziv }).ToList(), Grad = db.Gradovi.Select(k => new SelectListItem { Value = k.GradID.ToString(), Text = k.Naziv }).ToList(), Drzava = db.Drzave.Select(k => new SelectListItem { Value = k.DrzavaID.ToString(), Text = k.Naziv }).ToList(), Karakteristike = db.Karakteristike .Select(k => new SelectListItem { Value = k.KarakteristikeID.ToString(), Text = k.Naziv, Selected = selected.Contains(k.KarakteristikeID) }).ToList(), Slike = db.Slike.Where(k => k.NekretninaID == NekretninaID).ToList() }; return(View("Dodaj", model)); }
public UnosDijelaNekretnine(Nekretnina n) { InitializeComponent(); nekretnina = n; }
public IActionResult Snimi(NekretninaDodajVm input) { Nekretnina x; if (input.NekretninaID == 0) { //ako je dodavanje x = new Nekretnina(); //db.Nekretnine.Add(x); if (!ModelState.IsValid) { return(Redirect("Dodaj")); } List <Slike> fileDetails = new List <Slike>(); foreach (var slike in Request.Form.Files) { if (slike != null && slike.Length > 0) { var fileName = Path.GetFileName(slike.FileName); Slike fileDetail = new Slike() { MyImage = fileName, Ekstenzija = Path.GetExtension(fileName), SlikeID = Guid.NewGuid() }; fileDetails.Add(fileDetail); string uploadsFolder = Path.Combine(host.WebRootPath, "img"); var path = Path.Combine(uploadsFolder, fileDetail.SlikeID + fileDetail.Ekstenzija); slike.CopyTo(new FileStream(path, FileMode.Create)); } } x.Slike = fileDetails; db.Nekretnine.Add(x); //db.SaveChanges(); } else { //ako je uređivanje x = db.Nekretnine .Include(i => i.Lokacija) .Include(i => i.Lokacija.Grad) .Include(i => i.Lokacija.Grad.Drzava) .Where(i => i.NekretninaID == input.NekretninaID) .FirstOrDefault(); if (!ModelState.IsValid) { return(Redirect("Uredi?NekretninaID=" + input.NekretninaID)); } List <Slike> fileDetails = new List <Slike>(); foreach (var slike in Request.Form.Files) { if (slike != null && slike.Length > 0) { var fileName = Path.GetFileName(slike.FileName); Slike fileDetail = new Slike() { MyImage = fileName, Ekstenzija = Path.GetExtension(fileName), SlikeID = Guid.NewGuid(), NekretninaID = input.NekretninaID //nekretnina za koju se mijenja slika }; fileDetails.Add(fileDetail); string uploadsFolder = Path.Combine(host.WebRootPath, "img"); var path = Path.Combine(uploadsFolder, fileDetail.SlikeID + fileDetail.Ekstenzija); slike.CopyTo(new FileStream(path, FileMode.Create)); db.Entry(fileDetail).State = EntityState.Added; //db.Slike.Add(fileDetail); } } db.Entry(x).State = EntityState.Modified; db.SaveChanges(); } x.NekretninaID = input.NekretninaID; x.KategorijaID = input.KategorijeID; x.LokacijaID = input.LokacijaID; x.BrojSoba = input.BrojSoba ?? 0; x.Cijena = input.Cijena ?? 0; x.Kvadratura = input.Kvadratura ?? 0; x.Naziv = input.Naziv; x.Opis = input.Opis; db.SaveChanges(); Lokacija y = db.Lokacije.Find(input.LokacijaID); y.GradID = input.GradID; db.SaveChanges(); Grad z = db.Gradovi.Find(y.GradID); z.DrzavaID = input.DrzavaID; db.SaveChanges(); var nekretninaKarakteristike = db.NekretninaKarakteristike .Include(i => i.Karakteristike) .Include(i => i.Nekretnina) .Where(i => i.NekretninaID == input.NekretninaID) .Select(i => i.KarakteristikeID) .ToList(); var inputedKarakteristike = input.KarakteristikeID.ToList(); if (input.NekretninaID != 0 && inputedKarakteristike != null) { //prvo obrisati višak var visakNekretnina = nekretninaKarakteristike.Except(inputedKarakteristike); foreach (var brisi in visakNekretnina) { var zaBrisanje = db.NekretninaKarakteristike.Where(i => i.KarakteristikeID == brisi && i.NekretninaID == input.NekretninaID).FirstOrDefault(); db.Remove(zaBrisanje); } db.SaveChanges(); //sada proci kroz sve inpute i provjeravati da li su karakteristike vec unesene, ako nisu unijeti ih, ako jesu - nista,neka ih foreach (var k in inputedKarakteristike) { if (!nekretninaKarakteristike.Contains(k)) { NekretninaKarakteristike nova = new NekretninaKarakteristike { NekretninaID = input.NekretninaID, KarakteristikeID = k }; db.NekretninaKarakteristike.Add(nova); } } db.SaveChanges(); } else { foreach (var k in inputedKarakteristike) { NekretninaKarakteristike nova = new NekretninaKarakteristike { NekretninaID = x.NekretninaID, KarakteristikeID = k }; db.NekretninaKarakteristike.Add(nova); } db.SaveChanges(); } TempData["WarningMessage"] = "Uspješno ste snimili nekretninu"; return(Redirect("/Nekretnina/Prikazi")); }