public NekretninaOglas PopuniNekretninuOglas(NekretninaOglasViewModel nekretninaOglasViewModel, NekretninaOglas nekretninaOglasZaIzmenu = null) { if (nekretninaOglasZaIzmenu == null) { nekretninaOglasZaIzmenu = new NekretninaOglas(); } // >> ZAJEDNICKI >>> nekretninaOglasZaIzmenu.NaslovOglasa = nekretninaOglasViewModel.NekretninaOglas.NaslovOglasa; nekretninaOglasZaIzmenu.OpisOglasa = nekretninaOglasViewModel.NekretninaOglas.OpisOglasa; nekretninaOglasZaIzmenu.Cena = nekretninaOglasViewModel.NekretninaOglas.Cena; nekretninaOglasZaIzmenu.ValutaId = nekretninaOglasViewModel.NekretninaOglas.ValutaId; //nekretninaOglasZaIzmenu.StanjeId = nekretninaOglasViewModel.NekretninaOglas.StanjeId; nekretninaOglasZaIzmenu.DatumPostavljanja = nekretninaOglasViewModel.NekretninaOglas.DatumPostavljanja == default(DateTime) ? DateTime.Now : nekretninaOglasViewModel.NekretninaOglas.DatumPostavljanja; if (nekretninaOglasZaIzmenu.Slike == null) { nekretninaOglasZaIzmenu.Slike = new Collection <Slika>(); } nekretninaOglasZaIzmenu.UserAutorOglasaId = nekretninaOglasViewModel.NekretninaOglas.UserAutorOglasaId ?? User.Identity.GetUserId(); // <<< ZAJEDNICKI <<< nekretninaOglasZaIzmenu.TipGradnjeId = nekretninaOglasViewModel.NekretninaOglas.TipGradnjeId; nekretninaOglasZaIzmenu.RezimOglasaNekretnineId = nekretninaOglasViewModel.NekretninaOglas.RezimOglasaNekretnineId; nekretninaOglasZaIzmenu.TipNekretnineId = nekretninaOglasViewModel.NekretninaOglas.TipNekretnineId; nekretninaOglasZaIzmenu.GradId = nekretninaOglasViewModel.NekretninaOglas.GradId; nekretninaOglasZaIzmenu.Kvadratura = nekretninaOglasViewModel.NekretninaOglas.Kvadratura; nekretninaOglasZaIzmenu.BrojSoba = nekretninaOglasViewModel.NekretninaOglas.BrojSoba; nekretninaOglasZaIzmenu.Internet = nekretninaOglasViewModel.NekretninaOglas.Internet; nekretninaOglasZaIzmenu.Grejanje = nekretninaOglasViewModel.NekretninaOglas.Grejanje; nekretninaOglasZaIzmenu.Kablovska = nekretninaOglasViewModel.NekretninaOglas.Kablovska; nekretninaOglasZaIzmenu.Terasa = nekretninaOglasViewModel.NekretninaOglas.Terasa; return(nekretninaOglasZaIzmenu); }
public ActionResult SaveOglas(NekretninaOglasViewModel newNekretninaOglasViewModel, List <HttpPostedFileBase> uploadedImages = null) { //Za slucaj da mora da se vrati na formu zbog modelstate not valid************************************** NekretninaOglas nekretninaOglasUBazi = dbContext.Oglasi .OfType <NekretninaOglas>() .Include(o => o.Slike) .SingleOrDefault(o => o.Id == newNekretninaOglasViewModel.NekretninaOglas.Id); //var stanja = dbContext.Stanja; var valute = dbContext.Valute; var tipoviNekretnine = dbContext.TipoviNekretnina; var gradovi = dbContext.Gradovi; var rezimiNekretnina = dbContext.RezimiOglasaNekretnine; var tipoviGradnje = dbContext.TipoviGradnje; //newNekretninaOglasViewModel.Stanja = stanja.ToList(); newNekretninaOglasViewModel.Valute = valute.ToList(); newNekretninaOglasViewModel.TipoviNekretnina = tipoviNekretnine.ToList(); newNekretninaOglasViewModel.Gradovi = gradovi.ToList(); newNekretninaOglasViewModel.TipoviGradnje = tipoviGradnje.ToList(); newNekretninaOglasViewModel.RezimiOglasaNekretnina = rezimiNekretnina.ToList(); if (newNekretninaOglasViewModel.NekretninaOglas.Id != 0) { newNekretninaOglasViewModel.NekretninaOglas.Slike = nekretninaOglasUBazi.Slike; } //Za slucaj da mora da se vrati na formu zbog modelstate not valid************************************** PomocnaKlasa.TipoviGreskeUploadSlika tipGreskeUploadSlika = PomocnaKlasa.ProveriValidnostUploadovanihSlika(uploadedImages); switch (tipGreskeUploadSlika) { case PomocnaKlasa.TipoviGreskeUploadSlika.MaxPetSlikaPoOglasu: ViewBag.Greska = "Maksimalno 5 slika po oglasu!"; break; case PomocnaKlasa.TipoviGreskeUploadSlika.PogresanFormatSlika: ViewBag.Greska = "Izaberite samo slike!"; break; case PomocnaKlasa.TipoviGreskeUploadSlika.PrevelikaSlika: ViewBag.Greska = "Svaki fajl mora biti manji od 500kb!"; break; } if (tipGreskeUploadSlika != PomocnaKlasa.TipoviGreskeUploadSlika.NemaGreske) { return(View("NekretninaOglasForm", newNekretninaOglasViewModel)); } if (!ModelState.IsValid) { ViewBag.Greska = "Proverite unesene podatke"; return(View("NekretninaOglasForm", newNekretninaOglasViewModel)); } else { string userId = User.Identity.GetUserId(); int oglasId; if (newNekretninaOglasViewModel.NekretninaOglas.Id != 0) { PopuniNekretninuOglas(newNekretninaOglasViewModel, nekretninaOglasUBazi); if (PomocnaKlasa.DaLiDodajeViseOdPetSlika(uploadedImages, nekretninaOglasUBazi)) { ViewBag.Greska = "Maksimalno 5 slika po oglasu!"; return(View("NekretninaOglasForm", newNekretninaOglasViewModel)); } oglasId = nekretninaOglasUBazi.Id; PomocnaKlasa.DodajSlikeOglasu(userId, oglasId, nekretninaOglasUBazi, uploadedImages); } else { NekretninaOglas newNekretninaOglas = PopuniNekretninuOglas(newNekretninaOglasViewModel); dbContext.Oglasi.Add(newNekretninaOglas); dbContext.SaveChanges(); oglasId = newNekretninaOglas.Id; PomocnaKlasa.DodajSlikeOglasu(userId, oglasId, newNekretninaOglas, uploadedImages); } dbContext.SaveChanges(); return(RedirectToAction("Details", new { id = oglasId })); } }