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);
        }
Exemplo n.º 2
0
        public static List <TagModel> TagoviPitanja(int idPitanja)
        {
            List <TagDTO>   Tagovi      = Pitanja.VratiSveTagovePitanja(idPitanja);
            List <TagModel> ModelTagova = new List <TagModel>();

            foreach (var tag in Tagovi)
            {
                TagModel tg = new TagModel()
                {
                    Ime    = tag.Ime,
                    TagIme = tag.TagIme,
                    Opis   = tag.Opis,
                    TagID  = tag.Id,
                };
                ModelTagova.Add(tg);
            }

            return(ModelTagova);
        }
Exemplo n.º 3
0
        public static List <PitanjeModel> PitanjaPoTagovima(string tagovi)
        {
            List <PitanjeDTO>   PronadjenaPitanja = new List <PitanjeDTO>();
            List <PitanjeModel> PitanjaZaVracanje = new List <PitanjeModel>();

            string primljeniTagovi = tagovi;

            if (primljeniTagovi[0] == '#')
            {
                //ovde smo ako pretrazujemo po tagovima
                char[]   separatingChar = { '#', ' ' };
                string[] nizTagova      = primljeniTagovi.Split(separatingChar, System.StringSplitOptions.RemoveEmptyEntries);

                List <PitanjeDTO> pitanja = Pitanja.VratiSvaPitanjaTaga(nizTagova[0]);

                string[] tagoviPitanja = new string[pitanja.Count];
                for (int k = 0; k < tagoviPitanja.Length; k++)
                {
                    tagoviPitanja[k] = "";
                }


                int i = 0;
                foreach (var pitanje in pitanja)
                {
                    List <TagDTO> Tagovi = Pitanja.VratiSveTagovePitanja(pitanje.Id);
                    foreach (var tag in Tagovi)
                    {
                        tagoviPitanja[i] = "" + tagoviPitanja[i] + tag.TagIme + " ";
                    }
                    i++;
                }

                //treba da konvertujemo listu pitanja u niz pitanja

                PitanjeDTO[] pitanjaNiz = pitanja.ToArray();

                int j = 0;
                for (int petlja = 0; petlja < tagoviPitanja.Length; petlja++)
                {
                    int brojac = 0;
                    foreach (var tag in nizTagova)
                    {
                        if (tagoviPitanja[j].Contains(tag))
                        {
                            brojac++;
                            if (brojac == nizTagova.Length)
                            {
                                PronadjenaPitanja.Add(pitanjaNiz[j]);
                            }
                        }
                    }
                    j++;
                }

                foreach (var pit in PronadjenaPitanja)
                {
                    KorisnikDTO       autorPitanja = Korisnici.Procitaj(pit.KorisnikId);
                    List <OdgovorDTO> odgovori     = Odgovori.VratiSve(pit.Id);

                    PitanjeModel p = new PitanjeModel()
                    {
                        Id            = pit.Id,
                        DatumVreme    = pit.DatumVreme,
                        Text          = pit.Tekst,
                        AutorPitanja  = autorPitanja.Ime,
                        AutorId       = autorPitanja.Id,
                        NaslovPitanja = pit.Naslov,
                        Tagovi        = TagoviController.TagoviPitanja(pit.Id),
                        BrojOdgovora  = odgovori.Count,
                    };
                    PitanjaZaVracanje.Add(p);
                }

                return(PitanjaZaVracanje);
            }
            else
            {
                //ukoliko je poceo da unosi korisnik nesto razlicito od taga, verovatno je pokusao da trazi  po imenu korisnika
                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));
        }