Exemple #1
0
        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);
            }
        }
Exemple #2
0
        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);
            }
        }
Exemple #3
0
        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);
            }
        }
Exemple #4
0
        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));
            }
        }
Exemple #7
0
        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);
            }
        }
Exemple #8
0
        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);
            }
        }
Exemple #9
0
        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));
        }