static public Pitanje_TagDTO Nadji(int PitanjeId, int TagId) { try { ISession s = DataLayer.GetSession(); PitanjeDTO pitanje = Pitanja.Procitaj(PitanjeId); TagDTO tag = Tagovi.Procitaj(TagId); Pitanje_Tag pt = (from k in s.Query <Pitanje_Tag>() where (k.Pitanje.Id == pitanje.Id && k.Tag.Id == tag.Id) select k).Single(); Pitanje_TagDTO ptdto = new Pitanje_TagDTO { Id = pt.Id, PitanjeId = pt.Pitanje.Id, TagId = pt.Tag.Id }; s.Flush(); s.Close(); return(ptdto); } catch (Exception e) { Console.WriteLine(e); return(null); } }
static public PitanjeDTO Procitaj(int id) { try { ISession s = DataLayer.GetSession(); Pitanje p = s.Load <Pitanje>(id); PitanjeDTO Pitanje = new PitanjeDTO { Id = p.Id, Naslov = p.Naslov, KorisnikId = p.ImaKorisnika.Id, OblastId = p.PripadaOblasti.Id, DatumVreme = p.DatumVreme, Tekst = p.Tekst }; s.Flush(); s.Close(); return(Pitanje); } catch (Exception e) { Console.WriteLine(e); return(null); } }
static public PitanjeDTO Nadji(string naslov) { try { ISession s = DataLayer.GetSession(); Pitanje p = (from k in s.Query <Pitanje>() where (k.Naslov == naslov) select k).SingleOrDefault(); PitanjeDTO pit = new PitanjeDTO { Id = p.Id, Naslov = p.Naslov, Tekst = p.Tekst, DatumVreme = p.DatumVreme, KorisnikId = p.ImaKorisnika.Id, OblastId = p.PripadaOblasti.Id, }; s.Flush(); s.Close(); return(pit); } catch (Exception e) { Console.WriteLine(e); return(null); } }
public static void Dodaj(PitanjeDTO c) { try { ISession s = DataLayer.GetSession(); Oblast oblast = new Oblast { Id = c.OblastId }; Korisnik korisnik = new Korisnik { Id = c.KorisnikId }; Pitanje Pitanje = new Pitanje { Tekst = c.Tekst, Naslov = c.Naslov, DatumVreme = c.DatumVreme, PripadaOblasti = oblast, ImaKorisnika = korisnik, }; s.SaveOrUpdate(Pitanje); s.Flush(); s.Close(); } catch (Exception e) { Console.WriteLine(e); } }
public PitanjeModel VratiPitanjaKorisnikaModel(PitanjeDTO pitanje) { PitanjeModel pit = new PitanjeModel() { Text = pitanje.Tekst, Id = pitanje.Id, DatumVreme = pitanje.DatumVreme, AutorId = pitanje.KorisnikId, OblastId = pitanje.OblastId, NaslovPitanja = pitanje.Naslov, }; foreach (var tag in Pitanja.VratiSveTagovePitanja(pit.Id)) { TagModel tg = new TagModel() { TagID = tag.Id, Ime = tag.Ime, TagIme = tag.TagIme, Opis = tag.Opis }; pit.Tagovi.Add(tg); } return(pit); }
//public ActionResult DodajPitanje(string naslovPitanja, string textarea, string tagovi, string oblast,string imeOblasti) public ActionResult DodajPitanje(NovoPitanjeModel pitanje) { try { PitanjeDTO pit = new PitanjeDTO(); pit.KorisnikId = (int)Session["Id"]; pit.Tekst = pitanje.TekstPitanja; pit.Naslov = pitanje.NaslovPitanja; if (pitanje.NazivOblasti != null) { pit.OblastId = Oblasti.Nadji(pitanje.NazivOblasti).Id; } else { pit.OblastId = pitanje.IdOblasti; } pit.DatumVreme = DateTime.Now; Pitanja.Dodaj(pit); PitanjeDTO pitproc = Pitanja.Nadji(pit.Naslov); string primljeniTagovi = pitanje.Tagovi; if (primljeniTagovi[0] == '#') { char[] separatingChar = { '#', ' ' }; string[] nizTagova = primljeniTagovi.Split(separatingChar, System.StringSplitOptions.RemoveEmptyEntries); foreach (var tag in nizTagova) { TagDTO tag1 = Tagovi.Nadji(tag); //Pitanja_ Pitanje_TagDTO pitanjeTag = new Pitanje_TagDTO() { PitanjeId = pitproc.Id, TagId = tag1.Id, }; Pitanja_Tagovi.Dodaj(pitanjeTag); } } PitanjeIOdgovoriController cont = new PitanjeIOdgovoriController(); return(cont.PitanjeIOdgovori1(pitproc.Id));//ovo treba da se ipsravi } catch (Exception e) { pitanje.Greska = true; return(NovoPitanje1(pitanje)); } }
static public List <PitanjeDTO> VratiSvaPitanjaTaga(int TagId) { try { ISession s = DataLayer.GetSession(); //List<Pitanje_Tag> PitanjaTagovi = (from k in s.Query<Pitanje_Tag>() // where (k.Tag.Id == TagId) // select k).ToList<Pitanje_Tag>(); //List<Pitanje> pitanja = new List<Pitanje>(); //foreach(Pitanje_Tag pt in PitanjaTagovi) //{ // Pitanje pitanje = (from k in s.Query<Pitanje>() where (k.Id == pt.Pitanje.Id) select k).Single(); // pitanja.Add(pitanje); //} List <PitanjeDTO> retVal = new List <PitanjeDTO>(); Tag t = s.Load <Tag>(TagId); IList <Pitanje> pitanja = t.PripadaPitanjima; foreach (Pitanje pitanje in pitanja) { PitanjeDTO dto = new PitanjeDTO() { Id = pitanje.Id, Tekst = pitanje.Tekst, Naslov = pitanje.Naslov, DatumVreme = pitanje.DatumVreme, KorisnikId = pitanje.ImaKorisnika.Id, OblastId = pitanje.PripadaOblasti.Id }; retVal.Add(dto); } return(retVal); } catch (Exception e) { Console.WriteLine(e); return(null); } }
static public List <PitanjeDTO> VratiSvaPitanjaTaga(string tag_ime) { try { ISession s = DataLayer.GetSession(); List <PitanjeDTO> retVal = new List <PitanjeDTO>(); Tag t = (from k in s.Query <Tag>() where (k.TagIme == tag_ime) select k).SingleOrDefault(); IList <Pitanje> pitanja = t.PripadaPitanjima; foreach (Pitanje pitanje in pitanja) { PitanjeDTO dto = new PitanjeDTO() { Id = pitanje.Id, Tekst = pitanje.Tekst, Naslov = pitanje.Naslov, DatumVreme = pitanje.DatumVreme, KorisnikId = pitanje.ImaKorisnika.Id, OblastId = pitanje.PripadaOblasti.Id }; retVal.Add(dto); } return(retVal); } catch (Exception e) { Console.WriteLine(e); return(null); } }
static public List <PitanjeDTO> VratiSvaPitanjaKorisnika(int KorisnikId) { try { ISession s = DataLayer.GetSession(); List <Pitanje> Pitanja = (from k in s.Query <Pitanje>() where (k.ImaKorisnika.Id == KorisnikId) select k).ToList <Pitanje>(); List <PitanjeDTO> retVal = new List <PitanjeDTO>(); foreach (Pitanje pitanje in Pitanja) { PitanjeDTO dto = new PitanjeDTO() { Id = pitanje.Id, Tekst = pitanje.Tekst, Naslov = pitanje.Naslov, DatumVreme = pitanje.DatumVreme, KorisnikId = pitanje.ImaKorisnika.Id, OblastId = pitanje.PripadaOblasti.Id }; retVal.Add(dto); } return(retVal); } catch (Exception e) { Console.WriteLine(e); return(null); } }
public ActionResult PitanjeIOdgovori1(int idPitanja) { PitanjaOdgovoriKomentariModel model = new PitanjaOdgovoriKomentariModel(); PitanjeModel pitanje = new PitanjeModel(); List <OdgovorDTO> odgovori = Odgovori.VratiSve(pitanje.Id); //u listi sada imamo sve odgovore, ostaje da njihove parametre prosledimo modelu int i = 0; OdgovoriModel odgovoriModel = new OdgovoriModel(); foreach (var odg in odgovori) { odgovoriModel.ListaOdgovora[i].Text = odg.Tekst; odgovoriModel.ListaOdgovora[i].Pozitivno = odg.Plus; odgovoriModel.ListaOdgovora[i].Negativno = odg.Minus; odgovoriModel.ListaOdgovora[i].Id = odg.Id; odgovoriModel.ListaOdgovora[i].AutorId = odg.KorisnikId; } PitanjeDTO pit = Pitanja.Procitaj(idPitanja); //PitanjeDTO pit2 = Pitanja.Nadji(pit.Naslov); List <TagDTO> tagovi = Pitanja.VratiSveTagovePitanja(idPitanja); KorisnikDTO kor = Korisnici.Procitaj(pit.KorisnikId); OblastDTO obl = Oblasti.Procitaj(pit.OblastId); PredmetDTO pred = Predmeti.Procitaj(obl.PredmetId); pitanje.Text = pit.Tekst; pitanje.AutorPitanja = kor.Ime; pitanje.DatumVreme = pit.DatumVreme; pitanje.Oblast = obl.Ime; pitanje.OblastId = pit.OblastId; pitanje.AutorId = kor.Id; pitanje.NaslovPitanja = pit.Naslov; pitanje.Id = pit.Id; pitanje.SlikaAutora = kor.Slika; pitanje.ProfesorId = pred.ZaduzenId; foreach (var tag in tagovi) { TagModel tag1 = new TagModel() { TagIme = tag.TagIme, Ime = tag.Ime, Opis = tag.Opis }; pitanje.Tagovi.Add(tag1); } string slicniTagovi = ""; int prom = 0; foreach (var tag in tagovi) { if (prom < 2) { slicniTagovi = slicniTagovi + "#" + tag.TagIme + " "; } prom++; } model.SlicnaPitanja = OblastiController.PitanjaPoTagovima(slicniTagovi); model.Pitanje = pitanje; foreach (var odg in Odgovori.VratiSve(pitanje.Id)) { KorisnikDTO kor1 = Korisnici.Procitaj(odg.KorisnikId); OdgovorModel odg1 = new OdgovorModel { Odobreno = odg.Odobreno, DatumVreme = odg.DatumVreme, Negativno = odg.Minus, Pozitivno = odg.Plus, Text = odg.Tekst, AutorOdgovora = kor1.Ime, AutorId = kor1.Id, Id = odg.Id, Komentari = NapraviListuKomentara(odg.Id), }; model.Odgovori.Add(odg1); } var broj = pitanje.Tagovi.Count; foreach (var tag in pitanje.Tagovi) { } return(View("~/Views/PitanjeIOdgovori/PitanjeIOdgovori.cshtml", model)); }