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);
        }
Example #2
0
        public PrikazRjesenjaViewModel(ArrayList odgovorArray, string imageSource)
        {
            OdgovorCollection = new ObservableCollection <PitanjeModel>();
            FormulaCollection = new ObservableCollection <PitanjeModel>();

            var formulaImage = new PitanjeModel
            {
                FormulaImage = imageSource
            };

            FormulaCollection.Add(formulaImage);

            foreach (var element in odgovorArray)
            {
                var rjesenje = new PitanjeModel
                {
                    Odgovor = element.ToString()
                };
                OdgovorCollection.Add(rjesenje);
            }

            NazadCommand = new Command(async() =>
            {
                await Application.Current.MainPage.Navigation.PopAsync();
            });
        }
Example #3
0
        public KorisnickiPanelModel KreirajKorisnickiPanelModel(int korisnikId)
        {
            ViewBag.Izmena = false;
            KorisnikDTO user = Korisnici.Procitaj(korisnikId);
            //KorisnikDTO user = Korisnici.Nadji((string)Session["Username"]);
            KorisnikModel korisnik = new KorisnikModel();

            korisnik.Ime         = user.Ime;
            korisnik.Prezime     = user.Prezime;
            korisnik.Username    = user.Username;
            korisnik.Opis        = user.Opis;
            korisnik.Smer        = user.Smer;
            korisnik.BrojIndeksa = user.BrojIndeksa;
            korisnik.Slika       = user.Slika;
            korisnik.Email       = user.Email;
            korisnik.Id          = korisnikId;
            korisnik.Role        = user.RoleId;

            List <PitanjeDTO>         ListaPostavljenihPitanja = Pitanja.VratiSvaPitanjaKorisnika(user.Id);
            List <PitanjeModel>       PitanjaKorisnika         = new List <PitanjeModel>();
            KorisnickiPanelController con = new KorisnickiPanelController();

            foreach (var pitanjce in ListaPostavljenihPitanja)
            {
                PitanjeModel pit = con.VratiPitanjaKorisnikaModel(pitanjce);
                PitanjaKorisnika.Add(pit);
            }

            KorisnickiPanelModel panel = new KorisnickiPanelModel();

            panel.Korisnik = korisnik;
            panel.Pitanja  = PitanjaKorisnika;

            if (korisnik.Role == 2)
            {
                List <PredmetDTO> ZaduzeniPredmeti = Predmeti.VratiSvePredmeteZaduzenog(korisnik.Id);

                foreach (var pr in ZaduzeniPredmeti)
                {
                    PredmetModel pred = new PredmetModel()
                    {
                        PregledaProfesor = true,
                        GodinaStudija    = pr.GodinaStudija,
                        Id            = pr.Id,
                        NazivPredmeta = pr.Naziv,
                        OpisPredmeta  = pr.Opis,
                    };
                    panel.ListaZaduzenihPredmeta.Add(pred);
                }
            }



            return(panel);
        }
Example #4
0
 public ArrayList ListaOdgovoraDvijeVarijable(PitanjeModel pitanje)
 {
     PitanjeModel = pitanje;
     return(new ArrayList
     {
         PrvaVrijednost(),
         DrugaVrijednost(),
         StoRacunamo(),
         Odgovor()
     });
 }
Example #5
0
 internal ArrayList ListaOdgvoraTriVarijable(PitanjeModel pitanje)
 {
     PitanjeModel = pitanje;
     return(new ArrayList
     {
         PrvaVrijednost(),
         DrugaVrijednost(),
         TrećaVrijednost(),
         StoRacunamo(),
         Odgovor()
     });
 }
        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));
        }
Example #7
0
        internal PitanjeModel GeneriranjePitanja(string tema)
        {
            var kinematika = new Kinematika();
            var pitanje    = new PitanjeModel();

            var level               = DataBaseService.SelectLevel(tema).Result;
            var countTotalEntries   = DataBaseService.SelectCount(tema, level).Result;
            var countCorrectAnswers = DataBaseService.SelectCorrectCount(tema, level).Result;

            var levelToUse = LevelUp(level, countTotalEntries, countCorrectAnswers);

            switch (tema)
            {
            case "Kinematika":
                return(kinematika.GeneriranjePitanja(levelToUse));

            default:
                break;
            }
            return(pitanje);
        }
Example #8
0
        public PitanjeViewModel(string naziv)
        {
            PitanjeCollection                = new ObservableCollection <PitanjeModel>();
            OdgovorCollection                = new ObservableCollection <PitanjeModel>();
            ObavijestKorisnikuCollection     = new ObservableCollection <PitanjeModel>();
            MjernaJedinicaOdgovoraCollection = new ObservableCollection <PitanjeModel>();

            GenerirajPitanjeCommand = new Command <string>(param =>
            {
                PitanjeCollection.Clear();
                OdgovorCollection.Clear();
                ObavijestKorisnikuCollection.Clear();
                MjernaJedinicaOdgovoraCollection.Clear();
                IsVisible          = true;
                OdgovorKorisnika   = string.Empty;
                IsEnabledRiješenje = false;

                GenPitanje = odabirGranaPitanja.GeneriranjePitanja(param);


                var pitanje = new PitanjeModel
                {
                    Pitanje = GenPitanje.Pitanje
                };
                PitanjeCollection.Add(pitanje);

                var mjernaJedinica = new PitanjeModel
                {
                    MJRješenje = $"Unesi odgovor u {GenPitanje.MJRješenje}"
                };
                MjernaJedinicaOdgovoraCollection.Add(mjernaJedinica);

                MinVrijednostRješnja     = GenPitanje.MinVrijednostRješenja;
                MaxVrijednostRješenja    = GenPitanje.MaxVrijednostRješenja;
                IsEnabledProvjeriOdgovor = true;
            });

            ProvjeriOdgovorCommand = new Command(async() =>
            {
                ConvertToDouble();
                int rezultat;

                if (MinVrijednostRješnja <= OdgovorKorisnikaDouble && OdgovorKorisnikaDouble <= MaxVrijednostRješenja)
                {
                    var obavjest = new PitanjeModel
                    {
                        ObavjestNakonOdgovora = "Točno",
                        BojaPozdaineOdgovora  = Color.LightGreen
                    };
                    ObavijestKorisnikuCollection.Add(obavjest);
                    rezultat = 1;
                }
                else
                {
                    var obavjest = new PitanjeModel
                    {
                        ObavjestNakonOdgovora = "Netočno",
                        BojaPozdaineOdgovora  = Color.LightPink
                    };
                    ObavijestKorisnikuCollection.Add(obavjest);
                    rezultat = 0;
                }
                IsEnabledProvjeriOdgovor = false;
                IsEnabledRiješenje       = true;
                await DataBaseService.InsertInto(naziv, rezultat, GenPitanje.Level);
            });

            PrikaziOdgovorCommand = new Command <string>(async param =>
            {
                await Application.Current.MainPage.Navigation.PushAsync(new PrikazRjesenjaView(param, GenPitanje.OdgovorArray, GenPitanje.FormulaImage));
                IsEnabledProvjeriOdgovor = false;
            });

            NapredakCommand = new Command(async() =>
            {
                await Application.Current.MainPage.Navigation.PushAsync(new NapredakView(naziv));
            });
        }
Example #9
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);
            }
        }
Example #10
0
        public ActionResult LogIn(LogInModel model)
        {
            KorisnikDTO user = Korisnici.Nadji(model.username);

            if (ModelState.IsValid && user != null && user.Password == model.password && user.StatusId == 1)
            {
                if (user.RoleId != 3)
                {
                    Session["Id"]    = user.Id;
                    Session["Role"]  = user.RoleId;
                    ViewBag.foto     = user.Slika;
                    ViewBag.Ime      = user.Ime;
                    ViewBag.Prezime  = user.Prezime;
                    ViewBag.Username = user.Username;

                    Session["Username"]      = user.Username;
                    Session["Ime"]           = user.Ime;
                    Session["Prezime"]       = user.Prezime;
                    Session["Password"]      = user.Password;
                    Session["GodinaStudija"] = user.GodinaStudija;
                    ViewBag.foto             = user.Slika;
                    ViewBag.brIndeksa        = user.BrojIndeksa;
                    Session["Status"]        = user.StatusId;

                    //sada ovde treba da inicijalizujemo elemente korisnickog modela svim podacima iz baze


                    KorisnikModel korisnik = new KorisnikModel();
                    korisnik.Ime         = user.Ime;
                    korisnik.Prezime     = user.Prezime;
                    korisnik.Username    = user.Username;
                    korisnik.Opis        = user.Opis;
                    korisnik.Smer        = user.Smer;
                    korisnik.BrojIndeksa = user.BrojIndeksa;
                    korisnik.Slika       = user.Slika;
                    korisnik.Email       = user.Email;
                    korisnik.Id          = user.Id;
                    korisnik.Role        = user.RoleId;

                    List <PitanjeDTO>         ListaPostavljenihPitanja = Pitanja.VratiSvaPitanjaKorisnika(user.Id);
                    List <PitanjeModel>       PitanjaKorisnika         = new List <PitanjeModel>();
                    KorisnickiPanelController con = new KorisnickiPanelController();
                    foreach (var pitanjce in ListaPostavljenihPitanja)
                    {
                        PitanjeModel pit = con.VratiPitanjaKorisnikaModel(pitanjce);
                        PitanjaKorisnika.Add(pit);
                    }

                    KorisnickiPanelModel panel = new KorisnickiPanelModel();
                    panel.Korisnik = korisnik;
                    panel.Pitanja  = PitanjaKorisnika;

                    if (korisnik.Role == 2)
                    {
                        List <PredmetDTO> ZaduzeniPredmeti = Predmeti.VratiSvePredmeteZaduzenog(korisnik.Id);

                        foreach (var pr in ZaduzeniPredmeti)
                        {
                            PredmetModel pred = new PredmetModel()
                            {
                                PregledaProfesor = true,
                                GodinaStudija    = pr.GodinaStudija,
                                Id               = pr.Id,
                                NazivPredmeta    = pr.Naziv,
                                OpisPredmeta     = pr.Opis,
                                ZaduzeniProfesor = (string)Session["Username"],
                            };
                            panel.ListaZaduzenihPredmeta.Add(pred);
                        }
                    }



                    return(View("KorisnickiPanel", panel));
                }
                else
                {
                    Session["Id"]    = user.Id;
                    Session["Role"]  = user.RoleId;
                    ViewBag.foto     = user.Slika;
                    ViewBag.Ime      = user.Ime;
                    ViewBag.Prezime  = user.Prezime;
                    ViewBag.Username = user.Username;

                    Session["Username"]      = user.Username;
                    Session["Ime"]           = user.Ime;
                    Session["Prezime"]       = user.Prezime;
                    Session["Password"]      = user.Password;
                    Session["GodinaStudija"] = user.GodinaStudija;
                    ViewBag.foto             = user.Slika;
                    ViewBag.brIndeksa        = user.BrojIndeksa;
                    Session["Status"]        = user.StatusId;

                    return(RedirectToAction("Administracija", "Administracija"));
                }
            }
            else
            {
                ViewBag.BadLogin = true;
                return(View("Pocetna", model));
            }
        }
        //
        // 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));
        }