public JsonResult VratiSveKomentare(OdgovorModel odgovor)
        {
            OdgovorDTO         odg = Odgovori.Procitaj(odgovor.Id);
            List <KomentarDTO> KomentariOdgovora = Komentari.VratiSve(odg.Id);

            if (KomentariOdgovora.Count > 3)
            {
                //ovde smo kad ima vise od tri komentara koji treba da budu prikazani ispod odgovora
                for (int i = 3; i < KomentariOdgovora.Count; i++)
                {
                    KorisnikDTO   kor = Korisnici.Procitaj(KomentariOdgovora[i].KorisnikId);
                    KomentarModel kom = new KomentarModel()
                    {
                        ImeAutora  = kor.Ime,
                        Text       = KomentariOdgovora[i].Tekst,
                        DatumVreme = KomentariOdgovora[i].DatumVreme,
                        Id         = KomentariOdgovora[i].Id,
                    };
                    odgovor.Komentari.Add(kom);
                }

                return(Json(odgovor, JsonRequestBehavior.AllowGet));
            }
            else
            {
                return(Json(null));
            }
        }
Exemplo n.º 2
0
        public ActionResult ObrisiOdgovorConfirmed(int id)
        {
            Odgovori odgovori = db.odgovori.Find(id);

            db.odgovori.Remove(odgovori);
            db.SaveChanges();
            return(RedirectToAction("CommAndRes"));
        }
        public JsonResult OdobriOdgovor(OdgovorModel odgovor)
        {
            OdgovorDTO odg = Odgovori.Procitaj(odgovor.Id);

            odg.Odobreno = 1;

            Odgovori.Izmeni(odg);

            return(Json(odgovor, JsonRequestBehavior.AllowGet));
        }
Exemplo n.º 4
0
        public ActionResult Odgovor([Bind(Include = "OdgovorID,KomentarID,UserName,Odgovor")] Odgovori odgovori)
        {
            if (ModelState.IsValid)
            {
                db.odgovori.Add(odgovori);
                db.SaveChanges();
                return(RedirectToAction("CommAndRes"));
            }

            ViewBag.odgovor = User.Identity.GetUserName();
            return(View(odgovori));
        }
Exemplo n.º 5
0
        // GET: Odgovoris/Delete/5
        public ActionResult ObrisiOdgovor(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Odgovori odgovori = db.odgovori.Find(id);

            if (odgovori == null)
            {
                return(HttpNotFound());
            }
            return(View(odgovori));
        }
        public ActionResult PostaviOdgovor(int pitanjeId, string textarea)
        {
            OdgovorDTO odg = new OdgovorDTO();

            odg.DatumVreme = DateTime.Now;
            odg.KorisnikId = (int)Session["Id"];
            odg.Minus      = 0;
            odg.Plus       = 0;
            odg.Odobreno   = 0;
            odg.Tekst      = textarea;
            odg.PitanjeId  = pitanjeId;
            Odgovori.Dodaj(odg);

            return(PitanjeIOdgovori1(pitanjeId));
        }
        public ActionResult KlikNaLink(int idOblasti)
        {
            OblastModel oblast = new OblastModel();

            OblastDTO obl = Business.DataAccess.Oblasti.Procitaj(idOblasti);

            oblast.Naziv = obl.Ime;
            oblast.Opis  = obl.Opis;
            oblast.Id    = obl.Id;

            PredmetDTO pr = Predmeti.Procitaj(obl.PredmetId);

            oblast.ProfesorId = pr.ZaduzenId;

            foreach (var liter in Literature.VratiSve(idOblasti))
            {
                LiteraturaModel l = new LiteraturaModel()
                {
                    Id    = liter.Id,
                    Naziv = liter.Naziv,
                    Link  = liter.Link
                };
                oblast.Literatura.Add(l);
            }

            foreach (var pit in Pitanja.VratiSvaPitanjaOblasti(idOblasti))
            {
                KorisnikDTO  autorPitanja = Korisnici.Procitaj(pit.KorisnikId);
                PitanjeModel p            = new PitanjeModel()
                {
                    Id            = pit.Id,
                    DatumVreme    = pit.DatumVreme,
                    Text          = pit.Tekst,
                    AutorPitanja  = autorPitanja.Ime,
                    AutorId       = autorPitanja.Id,
                    NaslovPitanja = pit.Naslov,
                    BrojOdgovora  = Odgovori.VratiSve(pit.Id).Count,
                };
                oblast.Pitanja.ListaPitanja.Add(p);
            }

            return(View("~/Views/Oblasti/Oblasti.cshtml", oblast));
        }
        public JsonResult OceniPozitivno(OdgovorModel odgovor)
        {
            OdgovorDTO          odg        = Odgovori.Procitaj(odgovor.Id);
            int                 korisnikId = (int)Session["Id"];
            Korisnik_OdgovorDTO nadji      = Korisnici_Odgovori.Nadji((int)Session["Id"], odgovor.Id);

            if (nadji == null)
            {
                odg.Plus++;
                Odgovori.Izmeni(odg);
                odgovor.Pozitivno++;

                Korisnik_OdgovorDTO korOdg = new Korisnik_OdgovorDTO();
                korOdg.KorisnikId = (int)Session["Id"];
                korOdg.OdgovorId  = odgovor.Id;

                Korisnici_Odgovori.Dodaj(korOdg);
            }


            return(Json(odgovor, JsonRequestBehavior.AllowGet));
        }
Exemplo n.º 9
0
        static void UnosOdg(Pitanje pitanje, Odgovori odgovori)
        {
            /*
             |---------------------------------------------|
             |                                             |
             |Funkcija koja provjerava jeli odgovor koji je|
             |korisnik unjeo tocan ili netocan.            |
             |                                             |
             |---------------------------------------------|
             */
nastavak:
            string odgovor = "";

            while (odgovor.ToLower() != "a" && odgovor.ToLower() != "b" && odgovor.ToLower() != "c" && odgovor.ToLower() != "d" && odgovor.ToLower() != "da")
            {
                Console.Write("Unesite vas odgovor (a, b, c ili d): ");
                odgovor = Console.ReadLine();
                if (odgovor.ToLower() != "a" && odgovor.ToLower() != "b" && odgovor.ToLower() != "c" && odgovor.ToLower() != "d" && odgovor.ToLower() != "da")
                {
                    Console.WriteLine("Niste unjeli niti jedan od ponudenih odgovora niti odlucili odustati!");
                    Console.WriteLine("Polje za unos odgovora se ponovno otvara.");
                    LogajTrenutnuAkciju("Korisnik nije unjeo niti jedan od odgovora niti odlucio odustati polje za unos odgovora se ponovno otvara.");
                    System.Threading.Thread.Sleep(2500);
                    OcistiOdredeniBrojLinijaUKonzoli(3);
                }
            }
            if (odgovor.ToLower() == "a")
            {
                odgovor = odgovori.odgA;
            }
            else if (odgovor.ToLower() == "b")
            {
                odgovor = odgovori.odgB;
            }
            else if (odgovor.ToLower() == "c")
            {
                odgovor = odgovori.odgC;
            }
            else if (odgovor.ToLower() == "d")
            {
                odgovor = odgovori.odgD;
            }
            if (odgovor.ToLower() == "da")
            {
                string siguran = "";
                while (siguran.ToLower() != "da" && siguran.ToLower() != "ne")
                {
                    Console.Write("Jeste li sigurni: ");
                    siguran = Console.ReadLine();
                    if (siguran.ToLower() != "da" && siguran.ToLower() != "ne")
                    {
                        Console.WriteLine("Niste unjeli niti da niti ne, unos se ponovno otvara.");
                        System.Threading.Thread.Sleep(1000);
                        OcistiOdredeniBrojLinijaUKonzoli(2);
                    }
                }
                if (siguran.ToLower() == "da")
                {
                    odustaje = true;
                    Console.WriteLine("Odlucili ste odustati.");
                    LogajTrenutnuAkciju("Korisnik je odlucio odustati.");
                    System.Threading.Thread.Sleep(750);
                    Console.Clear();
                }
                else
                {
                    System.Threading.Thread.Sleep(750);
                    OcistiOdredeniBrojLinijaUKonzoli(3);
                    goto nastavak;
                }
            }
            if (odustaje == false && odgovor.ToLower() != "da")
            {
                string konacanOdgovor = "";
                while (konacanOdgovor.ToLower() != "da" && konacanOdgovor.ToLower() != "ne")
                {
                    Console.Write("Jeli to vas konacan odgovor (Da, Ne): ");
                    konacanOdgovor = Console.ReadLine();
                    if (konacanOdgovor.ToLower() != "da" && konacanOdgovor.ToLower() != "ne")
                    {
                        Console.WriteLine("Niste unjeli niti jedan od ponudenih odabira!");
                        Console.WriteLine("Polje za odluku o konacnom odgovoru se ponovno otvara.");
                        LogajTrenutnuAkciju("Korisnik nije unjeo niti jedan od ponudenih odabira polje za odluku o konacnom odgovoru se ponovno otvara.");
                        System.Threading.Thread.Sleep(2500);
                        OcistiOdredeniBrojLinijaUKonzoli(3);
                    }
                }
                if (konacanOdgovor.ToLower() == "da")
                {
                    if (odgovor == pitanje.tocanOdg)
                    {
                        LogajTrenutnuAkciju("Korisnik je unjeo tocan odgovor.");
                        Console.WriteLine("TOCNO!");
                        System.Threading.Thread.Sleep(500);
                        tocno = true;
                        tocniOdgovori++;
                    }
                    else
                    {
                        LogajTrenutnuAkciju("Korisnik je unjeo netocan odgovor.");
                        tocno = false;
                        Console.WriteLine("NETOCNO!");
                        System.Threading.Thread.Sleep(500);
                    }
                }
                else
                {
                    System.Threading.Thread.Sleep(500);
                    OcistiOdredeniBrojLinijaUKonzoli(2);
                    UnosOdg(pitanje, odgovori);
                }
            }
        }
Exemplo n.º 10
0
        static Odgovori RandomizirajIIspisiOdgovore(Pitanje pitanje)
        {
            /*
             |-----------------------------------------------|
             |                                               |
             |Funkcija koja ce iz pitanja.xml random ispisati|
             |odgovore na odredeno pitanje tako da njihov    |
             |redosljen nebude isti svaku igru.              |
             |                                               |
             |-----------------------------------------------|
             */
            string     sadrzajOdgovoraA = "", sadrzajOdgovoraB = "", sadrzajOdgovoraC = "", sadrzajOdgovoraD = "", abcd = "a", sadrzajOdgovora = "";
            int        brojOdg             = 1;
            List <int> iskoristeniOdgovori = new List <int>();

            while (brojOdg < 5)
            {
                Random rnd = new Random();
                int    odg = rnd.Next(1, 5);
                switch (odg)
                {
                case 1:
                {
                    sadrzajOdgovora = pitanje.odgA;
                    break;
                }

                case 2:
                {
                    sadrzajOdgovora = pitanje.odgB;
                    break;
                }

                case 3:
                {
                    sadrzajOdgovora = pitanje.odgC;
                    break;
                }

                case 4:
                {
                    sadrzajOdgovora = pitanje.odgD;
                    break;
                }
                }

                if (!iskoristeniOdgovori.Contains(odg))
                {
                    Console.WriteLine("{0}) {1}", abcd, sadrzajOdgovora);
                    iskoristeniOdgovori.Add(odg);
                    switch (brojOdg)
                    {
                    case 1:
                    {
                        sadrzajOdgovoraA = sadrzajOdgovora;
                        abcd             = "b";
                        break;
                    }

                    case 2:
                    {
                        sadrzajOdgovoraB = sadrzajOdgovora;
                        abcd             = "c";
                        break;
                    }

                    case 3:
                    {
                        sadrzajOdgovoraC = sadrzajOdgovora;
                        abcd             = "d";
                        break;
                    }

                    case 4:
                    {
                        sadrzajOdgovoraD = sadrzajOdgovora;
                        break;
                    }
                    }
                    brojOdg++;
                }
            }
            Console.WriteLine("Ako zelis odustati napisi Da");
            Odgovori sadrzajiSvihOdgovora = new Odgovori(sadrzajOdgovoraA, sadrzajOdgovoraB, sadrzajOdgovoraC, sadrzajOdgovoraD);

            return(sadrzajiSvihOdgovora);
        }
Exemplo n.º 11
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 ObrisiOdgovor(int idOdgovora, int idPitanja)
 {
     Odgovori.Obrisi(idOdgovora);
     return(RedirectToAction("PitanjeIOdgovori1", new { idPitanja = idPitanja }));
 }
        //
        // GET: /PitanjaIOdgovori/
        public ActionResult PitanjeIOdgovori(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

            OdgovoriModel odgovoriModel = new OdgovoriModel();
            int           i             = 0;

            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;
            }

            pitanje.Text         = "Kako koristiti HTML editor na svom sajtu i koji je najbolji?";
            pitanje.AutorPitanja = "Miloš Mladenović";
            pitanje.DatumVreme   = DateTime.Now;
            pitanje.Oblast       = "Web programiranje";


            TagModel tag1 = new TagModel();

            tag1.Ime = "programiranje";
            TagModel tag2 = new TagModel();

            tag2.Ime = "web";
            TagModel tag3 = new TagModel();

            tag3.Ime = "javascript";
            pitanje.Tagovi.Add(tag1);
            pitanje.Tagovi.Add(tag2);
            pitanje.Tagovi.Add(tag3);


            model.Pitanje = pitanje;

            OdgovorModel odgovor = new OdgovorModel();

            odgovor.Pozitivno  = 65;
            odgovor.Negativno  = 31;
            odgovor.Text       = "Pokusaj sa CKE Editorom.";
            odgovor.Odobreno   = 1;
            odgovor.DatumVreme = DateTime.Now;

            OdgovorModel odgovor1 = new OdgovorModel();

            odgovor1.Pozitivno  = 115;
            odgovor1.Negativno  = 23;
            odgovor1.Text       = "Pokusaj sa CKE Editorom.";
            odgovor1.Odobreno   = 1;
            odgovor1.DatumVreme = DateTime.Now;

            var broj = pitanje.Tagovi.Count;

            foreach (var tag in pitanje.Tagovi)
            {
            }

            model.Odgovori.Add(odgovor);
            model.Odgovori.Add(odgovor1);

            return(View(model));
        }
        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));
        }