コード例 #1
0
        public NekretninaOglasViewModel NapraviNekretninuOglasViewModel(NekretninaOglas oglasIzBaze = null)
        {
            //var stanja = dbContext.Stanja;
            var valute           = dbContext.Valute;
            var tipoviNekretnine = dbContext.TipoviNekretnina;
            var gradovi          = dbContext.Gradovi;
            var rezimiNekretnina = dbContext.RezimiOglasaNekretnine;
            var tipoviGradnje    = dbContext.TipoviGradnje;

            return(new NekretninaOglasViewModel()
            {
                NekretninaOglas = oglasIzBaze ?? new NekretninaOglas(),
                //Stanja = stanja.ToList(),
                Valute = valute.ToList(),
                TipoviNekretnina = tipoviNekretnine.ToList(),
                Gradovi = gradovi.ToList(),
                RezimiOglasaNekretnina = rezimiNekretnina.ToList(),
                TipoviGradnje = tipoviGradnje.ToList(),
            });
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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 }));
            }
        }