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"); } }
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)); }
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"); } } }
public PrikaziPitanje(Polaze obj) { polaze = obj; InitializeComponent(); LoadPageData(polaze.TestId); }
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)); }
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)); }
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)); }
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); }
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); }