Пример #1
0
        public async Task <ActionResult> Edit(string id, OglasViewModel oglasView)
        {
            try
            {
                // TODO: Add update logic here
                Oglas oglas = _context.Oglasi.Where(m => m.OglasId == id).Include(a => a.Slike).Include(m => m.KljucneReciOglasa).Include(m => m.User).Include(m => m.Cena).Include(m => m.Oglasavanja).FirstOrDefault();
                if (oglas != null)
                {
                    if (Request.Form.Files.Count > 0)
                    {
                        oglas.Slike.AddRange(await SavePictures(Request.Form.Files, oglas));
                    }
                }
                oglas.Naslov                 = oglasView.Naslov;
                oglas.Tekst                  = oglasView.Tekst;
                oglas.Cena.Vrednost          = oglasView.Cena;
                oglas.Cena.Valuta            = oglasView.Valuta;
                oglas.Oglasavanja[0].DatumOd = oglasView.DatumOd;
                oglas.Oglasavanja[0].DatumDo = oglasView.DatumDo;
                oglas.KljucneReciOglasa      = AddKljucneReci(oglasView, oglas);

                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            catch
            {
                return(View());
            }
        }
Пример #2
0
        // GET: Oglas/Details/5
        public ActionResult Details(string id)
        {
            Oglas         o1          = _context.Oglasi.Where(m => m.OglasId == id).Include(a => a.Slike).Include(m => m.KljucneReciOglasa).Include(m => m.User).Include(m => m.Cena).FirstOrDefault();
            List <string> adreseSlika = new List <string>();

            foreach (var item in o1.Slike)
            {
                string webRoothPath = _hostingEnvironment.WebRootPath;
                adreseSlika.Add(item.AdresaSlike.Replace(webRoothPath, ""));
            }

            OglasViewModel ovm = new OglasViewModel()
            {
                Cena   = o1.Cena.Vrednost,
                Valuta = o1.Cena.Valuta,
                //DatumOd = o1.DatumKreiranja,
                ID          = o1.OglasId,
                KljucneReci = String.Join(" ", o1.KljucneReciOglasa),
                Naslov      = o1.Naslov,
                Tekst       = o1.Tekst,
                User        = o1.User.ToString(),
                AdreseSlika = adreseSlika
            };

            return(View(ovm));
        }
Пример #3
0
        // GET: Oglas/Edit/5
        private List <KljucneReciOglasa> AddKljucneReci(OglasViewModel oglasView, Oglas oglas)
        {
            List <KljucneReciOglasa> kro = new List <KljucneReciOglasa>();
            var kljucneReci = oglasView.KljucneReci.Split(" ");

            if (kljucneReci.Length > 0)
            {
                foreach (var item in kljucneReci)
                {
                    KljucnaRec kr = new KljucnaRec()
                    {
                        Rec = item
                    };
                    if (_context.KljucneReci.Where(m => m.Rec == kr.Rec).Count() > 0)
                    {
                        kr = _context.KljucneReci.Select(m => m).Where(m => m.Rec == kr.Rec).FirstOrDefault();
                    }
                    else
                    {
                        _context.KljucneReci.Add(kr);
                    }
                    KljucneReciOglasa kljucnaRecOglasa = new KljucneReciOglasa()
                    {
                        Oglas      = oglas,
                        KljucnaRec = kr
                    };
                    kro.Add(kljucnaRecOglasa);
                }
            }
            return(kro);
        }
Пример #4
0
        // GET: Oglas
        public ActionResult Index()
        {
            //this takes request parameters only from the query string
            //Request.QueryString["parameter1"];


            //this one works for bot - form and query string
            //Request["parameter1"];
            string search = HttpContext.Request.Query["Search"].ToString();
            List <OglasViewModel> oglasiView = new List <OglasViewModel>();

            if (search == null || search == "")
            {
                foreach (var oglas in _context.Oglasi.Include(o => o.Cena).ToList())
                {
                    OglasViewModel o = new OglasViewModel()
                    {
                        ID     = oglas.OglasId,
                        Naslov = oglas.Naslov,
                        Cena   = oglas.Cena.Vrednost,
                        Valuta = oglas.Cena.Valuta
                    };
                    oglasiView.Add(o);
                }
            }
            else
            {
                var oglasi = (from kr in _context.KljucneReci
                              join kro in _context.KljucneReciOglasa on kr.KljucnaRecId equals kro.KljucnaRec.KljucnaRecId
                              join o in _context.Oglasi on kro.Oglas.OglasId equals o.OglasId
                              join c in _context.Cene on o.Cena.CenaId equals c.CenaId
                              where kr.Rec.Contains(search)
                              select new OglasViewModel()
                {
                    ID = o.OglasId,
                    Naslov = o.Naslov,
                    Cena = o.Cena.Vrednost,
                    Valuta = o.Cena.Valuta
                }).ToList();
                if (oglasi != null)
                {
                    oglasiView = oglasi;
                }
            }
            return(View(oglasiView));
        }
Пример #5
0
        public async Task <ActionResult> Create(OglasViewModel oglasView)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    Oglas oglas = new Oglas();
                    oglas.DatumKreiranja = DateTime.Now;
                    oglas.Naslov         = oglasView.Naslov;
                    oglas.Tekst          = oglasView.Tekst;
                    Cena cena = new Cena();
                    cena.Valuta   = oglasView.Valuta;
                    cena.Vrednost = Convert.ToDecimal(oglasView.Cena);
                    oglas.Cena    = cena;
                    if (Request.Form.Files.Count > 0)
                    {
                        oglas.Slike = await SavePictures(Request.Form.Files, oglas);
                    }
                    // TODO: Add insert logic here

                    oglas.KljucneReciOglasa = AddKljucneReci(oglasView, oglas);
                    List <Oglasavanje> oglasavanja = new List <Oglasavanje>();
                    Oglasavanje        oglasavanje = new Oglasavanje()
                    {
                        DatumOd   = oglasView.DatumOd,
                        DatumDo   = oglasView.DatumDo,
                        TipOglasa = _context.TipoviOglasa.Where(m => m.TipOglasaId == oglasView.TipOglasa.ToString()).FirstOrDefault()
                    };
                    oglasavanja.Add(oglasavanje);
                    oglas.Oglasavanja = oglasavanja;
                    var currentUser = await _userManager.GetUserAsync(HttpContext.User);

                    oglas.UserId = currentUser.Id;
                    await _context.Oglasi.AddAsync(oglas);

                    await _context.SaveChangesAsync();
                }
                return(RedirectToAction(nameof(Index)));
            }
            catch (Exception ex)
            {
                return(View());
            }
        }
Пример #6
0
        public async Task <ActionResult> MojiOglasi()
        {
            string search = HttpContext.Request.Query["Search"].ToString();
            List <OglasViewModel> oglasiView = new List <OglasViewModel>();
            var currentUser = await _userManager.GetUserAsync(HttpContext.User);

            ViewBag.Owner = true;
            if (search == null || search == "")
            {
                foreach (var oglas in _context.Oglasi.Where(m => m.UserId == currentUser.Id).Include(o => o.Cena).ToList())
                {
                    OglasViewModel o = new OglasViewModel()
                    {
                        ID     = oglas.OglasId,
                        Naslov = oglas.Naslov,
                        Cena   = oglas.Cena.Vrednost,
                        Valuta = oglas.Cena.Valuta
                    };
                    oglasiView.Add(o);
                }
            }
            else
            {
                var oglasi = (from kr in _context.KljucneReci
                              join kro in _context.KljucneReciOglasa on kr.KljucnaRecId equals kro.KljucnaRec.KljucnaRecId
                              join o in _context.Oglasi on kro.Oglas.OglasId equals o.OglasId
                              join c in _context.Cene on o.Cena.CenaId equals c.CenaId
                              where kr.Rec.Contains(search) && o.UserId == currentUser.Id
                              select new OglasViewModel()
                {
                    ID = o.OglasId,
                    Naslov = o.Naslov,
                    Cena = o.Cena.Vrednost,
                    Valuta = o.Cena.Valuta
                }).ToList();
                if (oglasi != null)
                {
                    oglasiView = oglasi;
                }
            }
            return(View("Index", oglasiView));
        }
Пример #7
0
        public ActionResult Edit(string id)
        {
            var valute = new List <String>();

            valute.Add("RSD");
            valute.Add("EUR");
            valute.Add("USD");

            Oglas o1 = _context.Oglasi.Where(m => m.OglasId == id).Include(a => a.Slike).Include(m => m.KljucneReciOglasa).Include(m => m.User).Include(m => m.Cena).Include(m => m.Oglasavanja).FirstOrDefault();

            ViewData["Valute"] = new SelectList(valute, o1.Cena.Valuta);

            //Dictionary<string, string> adreseSlika = new Dictionary<string, string>();
            List <string> adreseSlika = new List <string>();

            foreach (var item in o1.Slike)
            {
                string webRoothPath = _hostingEnvironment.WebRootPath;
                adreseSlika.Add(item.AdresaSlike.Replace(webRoothPath, "") + "@" + item.SlikaId);
            }

            List <string> kljucneReciOglasaIds = new List <string>();

            foreach (var item in o1.KljucneReciOglasa)
            {
                kljucneReciOglasaIds.Add(item.KljucneReciOglasaId);
            }
            List <string> kljucneReci = new List <string>();

            kljucneReci = _context.KljucneReciOglasa.Where(m => kljucneReciOglasaIds.Contains(m.KljucneReciOglasaId)).Include(m => m.KljucnaRec).OrderByDescending(x => x.KljucnaRec.KljucnaRecId).Select(m => m.KljucnaRec.Rec).ToList();
            var           tipoviOglasa     = _context.TipoviOglasa.Include(m => m.Cena).ToList();
            List <object> tipoviOglasaView = new List <object>();

            foreach (var item in tipoviOglasa)
            {
                var tip = new
                {
                    TipOglasaId = item.TipOglasaId,
                    NazivOglasa = item.NazivTipaOglasa + " " + item.Cena.ToString()
                };
                tipoviOglasaView.Add(tip);
            }

            TipOglasa selectedTipOglasa = tipoviOglasa.Where(m => m.TipOglasaId == o1.Oglasavanja.FirstOrDefault().TipOglasa.TipOglasaId).FirstOrDefault();

            ViewData["TipoviOglasa"] = new SelectList(tipoviOglasaView, "TipOglasaId", "NazivOglasa", selectedTipOglasa.TipOglasaId);
            OglasViewModel ovm = new OglasViewModel()
            {
                Cena   = o1.Cena.Vrednost,
                Valuta = o1.Cena.Valuta,
                //DatumOd = o1.DatumKreiranja,
                ID          = o1.OglasId,
                KljucneReci = String.Join(" ", kljucneReci),
                Naslov      = o1.Naslov,
                Tekst       = o1.Tekst,
                User        = o1.User.ToString(),
                DatumOd     = o1.Oglasavanja.FirstOrDefault().DatumOd,
                DatumDo     = o1.Oglasavanja.FirstOrDefault().DatumDo,
                AdreseSlika = adreseSlika
            };

            return(View("Edit", ovm));
        }