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()); } }
// 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)); }
// 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); }
// 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)); }
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()); } }
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)); }
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)); }