public RacunarOglas PopuniRacunarOglas(RacunarOglasViewModel racunarOglasViewModel, RacunarOglas racunarOglasZaIzmenu = null) { if (racunarOglasZaIzmenu == null) { racunarOglasZaIzmenu = new RacunarOglas(); } // >> ZAJEDNICKI >>> racunarOglasZaIzmenu.NaslovOglasa = racunarOglasViewModel.RacunarOglas.NaslovOglasa; racunarOglasZaIzmenu.OpisOglasa = racunarOglasViewModel.RacunarOglas.OpisOglasa; racunarOglasZaIzmenu.Cena = racunarOglasViewModel.RacunarOglas.Cena; racunarOglasZaIzmenu.ValutaId = racunarOglasViewModel.RacunarOglas.ValutaId; racunarOglasZaIzmenu.StanjeId = racunarOglasViewModel.RacunarOglas.StanjeId; racunarOglasZaIzmenu.DatumPostavljanja = racunarOglasViewModel.RacunarOglas.DatumPostavljanja == default(DateTime) ? DateTime.Now : racunarOglasViewModel.RacunarOglas.DatumPostavljanja; if (racunarOglasZaIzmenu.Slike == null) { racunarOglasZaIzmenu.Slike = new Collection <Slika>(); } racunarOglasZaIzmenu.UserAutorOglasaId = racunarOglasViewModel.RacunarOglas.UserAutorOglasaId ?? User.Identity.GetUserId(); // <<< ZAJEDNICKI <<< racunarOglasZaIzmenu.MarkaRacunaraId = racunarOglasViewModel.RacunarOglas.MarkaRacunaraId; racunarOglasZaIzmenu.TipRacunaraId = racunarOglasViewModel.RacunarOglas.TipRacunaraId; racunarOglasZaIzmenu.MarkaGrafickeKarteId = racunarOglasViewModel.RacunarOglas.MarkaGrafickeKarteId; racunarOglasZaIzmenu.GrafickaMemorija = racunarOglasViewModel.RacunarOglas.GrafickaMemorija; racunarOglasZaIzmenu.HddMemorija = racunarOglasViewModel.RacunarOglas.HddMemorija; racunarOglasZaIzmenu.RamMemorija = racunarOglasViewModel.RacunarOglas.RamMemorija; racunarOglasZaIzmenu.ProcesorBrzina = racunarOglasViewModel.RacunarOglas.ProcesorBrzina; racunarOglasZaIzmenu.ProcesorJezgara = racunarOglasViewModel.RacunarOglas.ProcesorJezgara; racunarOglasZaIzmenu.Monitor = racunarOglasViewModel.RacunarOglas.Monitor; racunarOglasZaIzmenu.Tastatura = racunarOglasViewModel.RacunarOglas.Tastatura; racunarOglasZaIzmenu.Mis = racunarOglasViewModel.RacunarOglas.Mis; return(racunarOglasZaIzmenu); }
public ActionResult SaveOglas(RacunarOglasViewModel newRacunarOglasViewModel, List <HttpPostedFileBase> uploadedImages = null) { //Za slucaj da mora da se vrati na formu ako je not valid********************************************* RacunarOglas racunarOglasUBazi = dbContext.Oglasi .OfType <RacunarOglas>() .Include(o => o.Slike) .SingleOrDefault(o => o.Id == newRacunarOglasViewModel.RacunarOglas.Id); var markeRacunara = dbContext.MarkeRacunara; var grafickeKarte = dbContext.GrafickeKarte; var tipoviRacunara = dbContext.TipoviRacunara; var stanja = dbContext.Stanja; var valute = dbContext.Valute; newRacunarOglasViewModel.GrafickaKartaMarke = grafickeKarte.ToList(); newRacunarOglasViewModel.MarkeRacunara = markeRacunara.ToList(); newRacunarOglasViewModel.TipoviRacunara = tipoviRacunara.ToList(); newRacunarOglasViewModel.Stanja = stanja.ToList(); newRacunarOglasViewModel.Valute = valute.ToList(); if (newRacunarOglasViewModel.RacunarOglas.Id != 0) { newRacunarOglasViewModel.RacunarOglas.Slike = racunarOglasUBazi.Slike; } //Za slucaj da mora da se vrati na formu ako je 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("RacunarOglasForm", newRacunarOglasViewModel)); } if (!ModelState.IsValid) { ViewBag.Greska = "Proverite unesene podatke"; return(View("RacunarOglasForm", newRacunarOglasViewModel)); } else { string userId = User.Identity.GetUserId(); int oglasId; if (newRacunarOglasViewModel.RacunarOglas.Id != 0) { PopuniRacunarOglas(newRacunarOglasViewModel, racunarOglasUBazi); if (PomocnaKlasa.DaLiDodajeViseOdPetSlika(uploadedImages, racunarOglasUBazi)) { ViewBag.Greska = "Maksimalno 5 slika po oglasu!"; return(View("RacunarOglasForm", newRacunarOglasViewModel)); } oglasId = racunarOglasUBazi.Id; PomocnaKlasa.DodajSlikeOglasu(userId, oglasId, racunarOglasUBazi, uploadedImages); } else { RacunarOglas newRacunarOglas = PopuniRacunarOglas(newRacunarOglasViewModel); dbContext.Oglasi.Add(newRacunarOglas); dbContext.SaveChanges(); oglasId = newRacunarOglas.Id; PomocnaKlasa.DodajSlikeOglasu(userId, oglasId, newRacunarOglas, uploadedImages); } dbContext.SaveChanges(); return(RedirectToAction("Details", new { id = oglasId })); } }