Ejemplo n.º 1
0
        public AutoOglas PopuniAutoOglas(AutoOglasViewModel autoOglasViewModel, AutoOglas autoOglasZaIzmenu = null)
        {
            if (autoOglasZaIzmenu == null)
            {
                autoOglasZaIzmenu = new AutoOglas();
            }
            // >> ZAJEDNICKI >>>
            autoOglasZaIzmenu.NaslovOglasa = autoOglasViewModel.AutoOglas.NaslovOglasa;
            autoOglasZaIzmenu.OpisOglasa   = autoOglasViewModel.AutoOglas.OpisOglasa;
            autoOglasZaIzmenu.Cena         = autoOglasViewModel.AutoOglas.Cena;
            autoOglasZaIzmenu.ValutaId     = autoOglasViewModel.AutoOglas.ValutaId;
            autoOglasZaIzmenu.StanjeId     = autoOglasViewModel.AutoOglas.StanjeId;

            autoOglasZaIzmenu.DatumPostavljanja = autoOglasViewModel.AutoOglas.DatumPostavljanja == default(DateTime)
                ? DateTime.Now
                : autoOglasViewModel.AutoOglas.DatumPostavljanja;

            if (autoOglasZaIzmenu.Slike == null)
            {
                autoOglasZaIzmenu.Slike = new Collection <Slika>();
            }

            autoOglasZaIzmenu.UserAutorOglasaId = autoOglasViewModel.AutoOglas.UserAutorOglasaId ?? User.Identity.GetUserId();
            // <<< ZAJEDNICKI <<<

            autoOglasZaIzmenu.Godiste      = autoOglasViewModel.AutoOglas.Godiste;
            autoOglasZaIzmenu.Kilometraza  = autoOglasViewModel.AutoOglas.Kilometraza;
            autoOglasZaIzmenu.KonjskeSnage = autoOglasViewModel.AutoOglas.KonjskeSnage;
            autoOglasZaIzmenu.Kubikaza     = autoOglasViewModel.AutoOglas.Kubikaza;
            autoOglasZaIzmenu.MarkaAutaId  = autoOglasViewModel.AutoOglas.MarkaAutaId;
            autoOglasZaIzmenu.ModelAutaId  = autoOglasViewModel.AutoOglas.ModelAutaId;

            return(autoOglasZaIzmenu);
        }
Ejemplo n.º 2
0
        public ActionResult SaveOglas(AutoOglasViewModel newAutoOglasViewModel, List <HttpPostedFileBase> uploadedImages = null)
        {
            //Za slucaj da mora da se vrati na formu zbog modelstate not valid**************************************
            AutoOglas autoOglasUBazi = dbContext.Oglasi
                                       .OfType <AutoOglas>()
                                       .Include(o => o.Slike)
                                       .SingleOrDefault(o => o.Id == newAutoOglasViewModel.AutoOglas.Id);

            var markeAuta = dbContext.MarkeAuta;
            var stanja    = dbContext.Stanja;
            var valute    = dbContext.Valute;

            newAutoOglasViewModel.MarkeAuta = markeAuta.ToList();
            newAutoOglasViewModel.Stanja    = stanja.ToList();
            newAutoOglasViewModel.Valute    = valute.ToList();

            if (newAutoOglasViewModel.AutoOglas.Id != 0)
            {
                newAutoOglasViewModel.AutoOglas.Slike = autoOglasUBazi.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("AutoOglasForm", newAutoOglasViewModel));
            }

            if (!ModelState.IsValid)
            {
                ViewBag.Greska = "Proverite unesene podatke";

                return(View("AutoOglasForm", newAutoOglasViewModel));
            }
            else
            {
                string userId = User.Identity.GetUserId();
                int    oglasId;

                if (newAutoOglasViewModel.AutoOglas.Id != 0)
                {
                    PopuniAutoOglas(newAutoOglasViewModel, autoOglasUBazi);

                    if (PomocnaKlasa.DaLiDodajeViseOdPetSlika(uploadedImages, autoOglasUBazi))
                    {
                        ViewBag.Greska = "Maksimalno 5 slika po oglasu!";

                        return(View("AutoOglasForm", newAutoOglasViewModel));
                    }

                    oglasId = autoOglasUBazi.Id;
                    PomocnaKlasa.DodajSlikeOglasu(userId, oglasId, autoOglasUBazi, uploadedImages);
                }
                else
                {
                    AutoOglas newAutoOglas = PopuniAutoOglas(newAutoOglasViewModel);

                    dbContext.Oglasi.Add(newAutoOglas);
                    dbContext.SaveChanges();

                    oglasId = newAutoOglas.Id;
                    PomocnaKlasa.DodajSlikeOglasu(userId, oglasId, newAutoOglas, uploadedImages);
                }

                dbContext.SaveChanges();

                return(RedirectToAction("Details", new { id = oglasId }));
            }
        }