예제 #1
0
        public Rezultati(Polaze polaze)
        {
            InitializeComponent();

            Rezultat obj = GetRezultat(polaze);

            HttpResponseMessage responsePost = rezultatService.PostActionResponse("CustomPostRezultat", obj);

            if (responsePost.IsSuccessStatusCode)
            {
                Procenat.Text = obj.Rezultat1.ToString("0.00") + "%";

                var      jsonResult = responsePost.Content.ReadAsStringAsync();
                Rezultat rezultat   = JsonConvert.DeserializeObject <Rezultat>(jsonResult.Result);

                polaze.RezultatId       = rezultat.RezultatId;
                polaze.VrijemeZavrsetka = DateTime.Now;

                HttpResponseMessage responsePut = polazeService.PutResponse(polaze.PolazeId, polaze);
                if (responsePut.IsSuccessStatusCode)
                {
                    SistemPreporuke();
                }
            }
            else
            {
                DisplayAlert("Greška", "Izracunavanje rezultata neuspješno.", "OK");
            }
        }
예제 #2
0
        public IHttpActionResult PutPolaze(int id, Polaze polaze)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != polaze.PolazeId)
            {
                return(BadRequest());
            }

            db.Entry(polaze).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!PolazeExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
예제 #3
0
        private void Pokreni_Clicked(object sender, EventArgs e)
        {
            Polaze obj = new Polaze();

            if (brojPitanja > 0)
            {
                obj.KandidatId     = Global.prijavljeniKandidat.KandidatId;
                obj.TestId         = IdT;
                obj.VrijemePocetka = DateTime.Now;

                HttpResponseMessage responsePost = polazeService.PostActionResponse("CustomPostPolaze", obj);


                if (responsePost.IsSuccessStatusCode)
                {
                    var    jsonResult = responsePost.Content.ReadAsStringAsync();
                    Polaze polaze     = JsonConvert.DeserializeObject <Polaze>(jsonResult.Result);

                    Application.Current.MainPage = new Testovi.PrikaziPitanje(polaze);
                    //this.Navigation.PushAsync(new Testovi.PrikaziPitanje(polaze));
                }
                else
                {
                    DisplayAlert("Greška", "Kreiranje testa neuspješno.", "OK");
                }
            }
        }
예제 #4
0
        public PrikaziPitanje(Polaze obj)
        {
            polaze = obj;

            InitializeComponent();

            LoadPageData(polaze.TestId);
        }
예제 #5
0
        public IHttpActionResult PostPolaze(Polaze polaze)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.Polaze.Add(polaze);
            db.SaveChanges();

            return(CreatedAtRoute("DefaultApi", new { id = polaze.PolazeId }, polaze));
        }
예제 #6
0
        public IHttpActionResult DeletePolaze(int id)
        {
            Polaze polaze = db.Polaze.Find(id);

            if (polaze == null)
            {
                return(NotFound());
            }

            db.Polaze.Remove(polaze);
            db.SaveChanges();

            return(Ok(polaze));
        }
예제 #7
0
        public IHttpActionResult CustomPostPolaze(int p, Polaze obj)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            if (obj == null)
            {
                return(NotFound());
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            db.Polaze.Add(obj);
            db.SaveChanges();

            return(CreatedAtRoute("GetPolaze", new { id = obj.PolazeId }, obj));
        }
예제 #8
0
        private Rezultat GetRezultat(Polaze polaze)
        {
            HttpResponseMessage response_test = testService.GetResponsee(polaze.TestId);
            var  jsonResult_test = response_test.Content.ReadAsStringAsync();
            Test test            = JsonConvert.DeserializeObject <Test>(jsonResult_test.Result);

            HttpResponseMessage response1 = pitanjaService.GetActionResponse("GetPitanjaByTestID", polaze.TestId);

            int BrojPitanja       = 0,
                UkupnoBodova      = 0;
            double OsvojeniBodovi = 0;

            Rezultat obj = new Rezultat();

            obj.Rezultat1            = 0;
            obj.BrojacTacnihOdgovora = 0;

            if (response1.IsSuccessStatusCode)
            {
                var            jsonResult1  = response1.Content.ReadAsStringAsync();
                List <Pitanje> listaPitanja = JsonConvert.DeserializeObject <List <Pitanje> >(jsonResult1.Result);

                BrojPitanja = listaPitanja.Count;

                if (BrojPitanja > 0)
                {
                    foreach (Pitanje pitanje in listaPitanja)
                    {
                        if (pitanje.TipPitanjaId == 1)
                        {
                            UkupnoBodova += 1;
                        }
                        else
                        {
                            UkupnoBodova += 3;
                        }

                        HttpResponseMessage response2 = odgovoriService.GetActionResponse("GetOdgovoriByPitanjeId", pitanje.PitanjeId);
                        var            jsonResult2    = response2.Content.ReadAsStringAsync();
                        List <Odgovor> listaOdgovora  = JsonConvert.DeserializeObject <List <Odgovor> >(jsonResult2.Result);

                        HttpResponseMessage response_oznaceni = oznaceniOdgovoriService.GetActionResponse("GetOznaceniOdgovoriByPitanjeId", polaze.PolazeId + "/" + pitanje.PitanjeId);
                        var jsonResult_oznaceni = response_oznaceni.Content.ReadAsStringAsync();
                        List <OznaceniOdgovori> listaOznacenihOdgovora = JsonConvert.DeserializeObject <List <OznaceniOdgovori> >(jsonResult_oznaceni.Result);

                        bool   netacno        = true;
                        double BodovaZaDodati = 0;


                        if (pitanje.TipPitanjaId == 1) // SINGLE
                        {
                            BodovaZaDodati = 1;

                            foreach (OznaceniOdgovori oznaceni in listaOznacenihOdgovora)
                            {
                                bool prekid = false;
                                foreach (Odgovor odgovor in listaOdgovora)
                                {
                                    if (odgovor.OdgovorId == oznaceni.OdgovorId)
                                    {
                                        if (odgovor.IsTacan.Value == true)
                                        {
                                            netacno = false;
                                        }
                                        else if (odgovor.IsTacan.Value == false)
                                        {
                                            netacno = true;
                                            prekid  = true;
                                            break;
                                        }
                                        break;
                                    }
                                }
                                if (prekid)
                                {
                                    break;
                                }
                            }
                        }
                        else if (pitanje.TipPitanjaId == 2) // MULTIPLE CHOICE
                        {
                            int  oznacenoTacnih   = 0;
                            int  ukupnoTacnih     = 0;
                            bool odgovorioNetacno = false;
                            foreach (Odgovor odgovor in listaOdgovora)
                            {
                                if (odgovor.IsTacan.Value == true)
                                {
                                    ukupnoTacnih++;
                                }
                            }

                            foreach (OznaceniOdgovori oznaceni in listaOznacenihOdgovora)
                            {
                                foreach (Odgovor odgovor in listaOdgovora)
                                {
                                    if (odgovor.OdgovorId == oznaceni.OdgovorId)
                                    {
                                        if (odgovor.IsTacan.Value == true)
                                        {
                                            oznacenoTacnih++;
                                        }
                                        else if (odgovor.IsTacan.Value == false)
                                        {
                                            odgovorioNetacno = true;
                                            break;
                                        }
                                        break;
                                    }
                                }
                                if (odgovorioNetacno)
                                {
                                    break;
                                }
                            }

                            if (!odgovorioNetacno)
                            {
                                if (test.ParcijalnoBodovanje)
                                {
                                    netacno        = false;
                                    BodovaZaDodati = (double)oznacenoTacnih / ukupnoTacnih * 3;
                                }
                                else
                                {
                                    if (oznacenoTacnih == ukupnoTacnih)
                                    {
                                        netacno        = false;
                                        BodovaZaDodati = 3;
                                    }
                                }
                            }
                        }


                        if (netacno == false)
                        {
                            OsvojeniBodovi += BodovaZaDodati;
                            obj.BrojacTacnihOdgovora++;
                        }
                    }
                }
            }
            else
            {
                DisplayAlert("Greška", "Učitavanje pitanja neuspješno.", "OK");
            }

            obj.Rezultat1 = OsvojeniBodovi / UkupnoBodova * 100;

            return(obj);
        }
예제 #9
0
        private void LoadPageData()
        {
            int testId = 0;

            HttpResponseMessage response = polazeService.GetResponsee(polazeId);

            if (response.IsSuccessStatusCode)
            {
                var    jsonResult = response.Content.ReadAsStringAsync();
                Polaze polazeById = JsonConvert.DeserializeObject <Polaze>(jsonResult.Result);
                testId = polazeById.TestId;
            }
            HttpResponseMessage responsePitanja = pitanjaService.GetActionResponse("GetPitanjaByTestID", testId);

            if (responsePitanja.IsSuccessStatusCode)
            {
                var jsonResult2 = responsePitanja.Content.ReadAsStringAsync();
                listaPitanja = JsonConvert.DeserializeObject <List <Pitanje> >(jsonResult2.Result);
            }
            for (int i = 0; i < listaPitanja.Count; i++)
            {
                HttpResponseMessage responseOdgovori = odgovoriService.GetActionResponse("GetOdgovoriByPitanjeId", listaPitanja[i].PitanjeId);
                var jsonResult3 = responseOdgovori.Content.ReadAsStringAsync();
                listaOdgovora = JsonConvert.DeserializeObject <List <Odgovor> >(jsonResult3.Result);
                HttpResponseMessage responseOznaceniOdgovori = oznaceniOdgovori.GetActionResponse("GetOznaceniOdgovoriByPitanjeId", polazeId + "/" + listaPitanja[i].PitanjeId);
                var jsonResult4 = responseOznaceniOdgovori.Content.ReadAsStringAsync();
                listaOznaceniOdgovori = JsonConvert.DeserializeObject <List <OznaceniOdgovori> >(jsonResult4.Result);
                int brojacTacnihOdgovora          = 0;
                int brojacOznacenih               = 0;
                int brojacOznacenihTacnihOdgovora = 0;
                for (int m = 0; m < listaOdgovora.Count; m++)
                {
                    if (listaOdgovora[m].IsTacan == true)
                    {
                        brojacTacnihOdgovora++;
                    }
                }

                for (int j = 0; j < listaOdgovora.Count; j++)
                {
                    for (int k = 0; k < listaOznaceniOdgovori.Count; k++)
                    {
                        if (listaOznaceniOdgovori[k].OdgovorId == listaOdgovora[j].OdgovorId)
                        {
                            ListaOznacenihOdgovoraPoPitanjima.Add(listaOdgovora[j]);
                        }
                        if (listaOdgovora[j].IsTacan == true && listaOznaceniOdgovori[k].OdgovorId == listaOdgovora[j].OdgovorId)
                        {
                            brojacOznacenihTacnihOdgovora++;
                        }
                        if (listaOznaceniOdgovori[k].OdgovorId == listaOdgovora[j].OdgovorId)
                        {
                            brojacOznacenih++;
                        }
                    }
                }
                if (brojacTacnihOdgovora != brojacOznacenih)
                {
                    listaNetacnihPitanja.Add(listaPitanja[i]);
                }
                if (brojacTacnihOdgovora == brojacOznacenih)
                {
                    if (brojacTacnihOdgovora != brojacOznacenihTacnihOdgovora)
                    {
                        listaNetacnihPitanja.Add(listaPitanja[i]);
                    }
                }
                if (brojacTacnihOdgovora == brojacOznacenihTacnihOdgovora && brojacTacnihOdgovora == brojacOznacenih)
                {
                    continue;
                }
            }
            ucitajPitanje(trenutnoPitanje);
        }