Пример #1
0
        public async Task <ActionResult> RangListaView(string jmbag)
        {
            log.LogWarning("Pregled rang liste pokrenuto");

            string URL = "https://www.isvu.hr/apiproba/vu/313/student/jmbag/{0}/sumarno";

            StudentInfo studentInfo = null;

            if (String.IsNullOrEmpty(jmbag))
            {
                return(View("RangListaView", studentInfo));
            }

            string studentId = jmbag;

            var client    = new HttpClient();
            var byteArray = Encoding.ASCII.GetBytes("d1.mev:okay965228siqu");

            client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", Convert.ToBase64String(byteArray));


            try
            {
                studentInfo = new StudentInfo();
                string test;

                using (var streamTask = await client.GetStreamAsync(String.Format(URL, studentId)))
                {
                    StreamReader reader = new StreamReader(streamTask, Encoding.UTF8);
                    test = reader.ReadToEnd();

                    e_Index.Studomat.RootObject studomat = JsonConvert.DeserializeObject <e_Index.Studomat.RootObject>(test);



                    if (studomat != null)
                    {
                        studentInfo.Naziv = studomat._embedded.student.prezime + " " + studomat._embedded.student.ime;

                        Semestar tempSemestar;
                        Kolegij  tempKolegij;

                        int   ectsUkupno    = 0;
                        int   ectsOsvojeno  = 0;
                        int   kolegijEcts   = 0;
                        int   kolegijOcjena = 0;
                        float TP            = 0;


                        foreach (var studij in studomat._embedded.upisaniElementiStruktureStudija)
                        {
                            ectsUkupno   = 0;
                            ectsOsvojeno = 0;

                            Studij studijInfo = new Studij()
                            {
                                Naziv = studij.naziv
                            };

                            foreach (var kolegij in studij._embedded.polozeniPredmeti)
                            {
                                //Provjera semestra
                                tempSemestar = studijInfo.Semestri.FirstOrDefault(x => x.Oznaka == kolegij._embedded.predmet._embedded.semestar.redniBroj);
                                if (tempSemestar == null)
                                {
                                    tempSemestar = new Semestar()
                                    {
                                        Oznaka = kolegij._embedded.predmet._embedded.semestar.redniBroj
                                    };
                                    studijInfo.Semestri.Add(tempSemestar);
                                }

                                //Dodavanje kolegija u semestar
                                tempKolegij      = new Kolegij();
                                tempKolegij.ECTS = (int)kolegij._embedded.predmet.ectsBodovi;
                                kolegijEcts      = (int)kolegij._embedded.predmet.ectsBodovi;
                                ectsUkupno      += tempKolegij.ECTS;

                                if (kolegij._embedded.ispit != null)
                                {
                                    tempKolegij.Ocjena   = kolegij._embedded.ispit.ocjena;
                                    kolegijOcjena        = Int32.Parse(kolegij._embedded.ispit.ocjena);
                                    tempKolegij.Profesor = kolegij._embedded.ispit._embedded.ocjenjivac.prezime + " " + kolegij._embedded.ispit._embedded.ocjenjivac.ime;
                                    TP = (kolegijOcjena * kolegijEcts) + TP;
                                }


                                tempSemestar.Kolegiji.Add(tempKolegij);
                                if (kolegij._embedded.predmet._embedded.status.sifra == 5)
                                {
                                    ectsOsvojeno       += tempKolegij.ECTS;
                                    tempKolegij.Polozen = true;
                                }
                            }

                            try
                            {
                                foreach (var predmet in studij._embedded.nepolozeniPredmeti)
                                {
                                    var    www = JObject.FromObject(predmet);
                                    string w2  = www.ToString();

                                    e_Index.Studomat.PolozeniPredmeti kolegij = JsonConvert.DeserializeObject <e_Index.Studomat.PolozeniPredmeti>(w2);

                                    tempSemestar = studijInfo.Semestri.FirstOrDefault(x => x.Oznaka == kolegij._embedded.predmet._embedded.semestar.redniBroj);
                                    if (tempSemestar == null)
                                    {
                                        tempSemestar = new e_Index.Misc.Semestar()
                                        {
                                            Oznaka = kolegij._embedded.predmet._embedded.semestar.redniBroj
                                        };
                                        studijInfo.Semestri.Add(tempSemestar);
                                    }

                                    //Dodavanje kolegija u semestar
                                    tempKolegij       = new Kolegij();
                                    tempKolegij.Naziv = kolegij._embedded.predmet.naziv;
                                    tempKolegij.ECTS  = (int)kolegij._embedded.predmet.ectsBodovi;
                                    ectsUkupno       += tempKolegij.ECTS;
                                    if (kolegij._embedded.ispit != null)
                                    {
                                        tempKolegij.Ocjena   = kolegij._embedded.ispit.ocjena;
                                        tempKolegij.Profesor = kolegij._embedded.ispit._embedded.ocjenjivac.prezime + " " + kolegij._embedded.ispit._embedded.ocjenjivac.ime;

                                        ectsOsvojeno += tempKolegij.ECTS;
                                    }

                                    tempSemestar.Kolegiji.Add(tempKolegij);
                                    if (kolegij._embedded.predmet._embedded.status.sifra == 5)
                                    {
                                        ectsOsvojeno       += tempKolegij.ECTS;
                                        tempKolegij.Polozen = true;
                                    }
                                }
                            }
                            catch (WebException we)
                            {
                                var webResponse = we.Response as HttpWebResponse;
                                if (webResponse != null &&
                                    webResponse.StatusCode == System.Net.HttpStatusCode.NotFound)
                                {
                                    ViewBag.Error = "Nepostojeći JMBAG studenta test!";
                                }
                                else
                                {
                                    ViewBag.Error = we.Message;
                                }
                            }

                            studijInfo.ECTS_Osvojeno = ectsOsvojeno;
                            studijInfo.ECTS_Ukupno   = ectsUkupno;

                            studentInfo.ectsUkupno   = ectsUkupno;
                            studentInfo.ECTSOsvojeno = ectsOsvojeno;

                            studentInfo.TePr = TP / ectsOsvojeno;
                            //godina studija
                            studentInfo.godina = 1;
                            if (ectsUkupno > 70)
                            {
                                studentInfo.godina = 2;
                            }
                            if (ectsUkupno > 130)
                            {
                                studentInfo.godina = 3;
                            }
                            //upis podataka u tablicu ...

                            log.LogWarning("prije provjere " + checkStudentInfo(studentId));
                            if (checkStudentInfo(studentId) >= 1)
                            {
                                log.LogWarning("update provjere ");
                                updateStudentInfo(studentInfo, studentId);
                            }
                            else
                            {
                                log.LogWarning("insert provjere ");
                                insertStudentInfo(studentInfo, studentId);
                            }

                            //dohvat svih prijavljenih studenata
                            studentInfo.SviStudenti = selectAllStudentInfo();
                            List <StudentInfo> stud = selectAllStudentInfo();


                            log.LogWarning("glavna metoda: " + stud.Count);
                            foreach (var StudentInfo in stud)
                            {
                                log.LogWarning("glavna metoda: " + StudentInfo.Naziv);
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                log.LogWarning("Greška kod čitanja podataka");
                ViewBag.Error = ex.Message;
                studentInfo   = null;
            }

            return(View("RangListaView", studentInfo));
        }
        public async Task <ActionResult> Ocjene(string jmbag)
        // public ActionResult PregledStudomata(string jmbag)
        {
            log.LogWarning("PregledStudomata pokrenuto");

            string URL = "https://www.isvu.hr/apiproba/vu/313/student/jmbag/{0}/sumarno";
            //change
            StudentInfo studentInfo = null;

            if (String.IsNullOrEmpty(jmbag))
            {
                return(View("PregledStudomat", studentInfo));
            }

            string studentId = jmbag;

            var client    = new HttpClient();
            var byteArray = Encoding.ASCII.GetBytes("d1.mev:okay965228siqu");

            client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", Convert.ToBase64String(byteArray));

            try
            {
                studentInfo = new StudentInfo();
                string test;

                using (var streamTask = await client.GetStreamAsync(String.Format(URL, studentId)))
                {
                    StreamReader reader = new StreamReader(streamTask, Encoding.UTF8);
                    test = reader.ReadToEnd();

                    e_Index.Studomat.RootObject studomat = JsonConvert.DeserializeObject <e_Index.Studomat.RootObject>(test);

                    Semestar tempSemestar;
                    Kolegij  tempKolegij;

                    if (studomat != null)
                    {
                        studentInfo.Naziv = studomat._embedded.student.prezime + " " + studomat._embedded.student.ime;

                        int ectsUkupno   = 0;
                        int ectsOsvojeno = 0;


                        foreach (var studij in studomat._embedded.upisaniElementiStruktureStudija)
                        {
                            ectsUkupno   = 0;
                            ectsOsvojeno = 0;

                            Studij studijInfo = new Studij()
                            {
                                Naziv = studij.naziv
                            };

                            foreach (var kolegij in studij._embedded.polozeniPredmeti)
                            {
                                //Provjera semestra
                                tempSemestar = studijInfo.Semestri.FirstOrDefault(x => x.Oznaka == kolegij._embedded.predmet._embedded.semestar.redniBroj);
                                if (tempSemestar == null)
                                {
                                    tempSemestar = new Semestar()
                                    {
                                        Oznaka = kolegij._embedded.predmet._embedded.semestar.redniBroj
                                    };
                                    studijInfo.Semestri.Add(tempSemestar);
                                }

                                //Dodavanje kolegija u semestar
                                tempKolegij       = new Kolegij();
                                tempKolegij.Naziv = kolegij._embedded.predmet.naziv;
                                tempKolegij.ECTS  = (int)kolegij._embedded.predmet.ectsBodovi;
                                ectsUkupno       += tempKolegij.ECTS;
                                if (kolegij._embedded.ispit != null)
                                {
                                    tempKolegij.Ocjena   = kolegij._embedded.ispit.ocjena;
                                    tempKolegij.Profesor = kolegij._embedded.ispit._embedded.ocjenjivac.prezime + " " + kolegij._embedded.ispit._embedded.ocjenjivac.ime;
                                }


                                tempSemestar.Kolegiji.Add(tempKolegij);
                                if (kolegij._embedded.predmet._embedded.status.sifra == 5)
                                {
                                    ectsOsvojeno       += tempKolegij.ECTS;
                                    tempKolegij.Polozen = true;
                                }
                            }

                            foreach (var predmet in studij._embedded.nepolozeniPredmeti)
                            {
                                try
                                {
                                    var    www = JObject.FromObject(predmet);
                                    string w2  = www.ToString();

                                    e_Index.Studomat.PolozeniPredmeti kolegij = JsonConvert.DeserializeObject <e_Index.Studomat.PolozeniPredmeti>(w2);

                                    tempSemestar = studijInfo.Semestri.FirstOrDefault(x => x.Oznaka == kolegij._embedded.predmet._embedded.semestar.redniBroj);
                                    if (tempSemestar == null)
                                    {
                                        tempSemestar = new e_Index.Misc.Semestar()
                                        {
                                            Oznaka = kolegij._embedded.predmet._embedded.semestar.redniBroj
                                        };
                                        studijInfo.Semestri.Add(tempSemestar);
                                    }

                                    //Dodavanje kolegija u semestar
                                    tempKolegij       = new Kolegij();
                                    tempKolegij.Naziv = kolegij._embedded.predmet.naziv;
                                    tempKolegij.ECTS  = (int)kolegij._embedded.predmet.ectsBodovi;
                                    ectsUkupno       += tempKolegij.ECTS;
                                    if (kolegij._embedded.ispit != null)
                                    {
                                        tempKolegij.Ocjena   = kolegij._embedded.ispit.ocjena;
                                        tempKolegij.Profesor = kolegij._embedded.ispit._embedded.ocjenjivac.prezime + " " + kolegij._embedded.ispit._embedded.ocjenjivac.ime;

                                        ectsOsvojeno += tempKolegij.ECTS;
                                    }

                                    tempSemestar.Kolegiji.Add(tempKolegij);
                                    if (kolegij._embedded.predmet._embedded.status.sifra == 5)
                                    {
                                        ectsOsvojeno       += tempKolegij.ECTS;
                                        tempKolegij.Polozen = true;
                                    }
                                }
                                catch
                                {
                                }
                            }

                            studijInfo.ECTS_Osvojeno = ectsOsvojeno;
                            studijInfo.ECTS_Ukupno   = ectsUkupno;

                            studentInfo.Studiji.Add(studijInfo);
                        }
                    }
                }
            }
            catch (WebException we)
            {
                var webResponse = we.Response as HttpWebResponse;
                if (webResponse != null &&
                    webResponse.StatusCode == System.Net.HttpStatusCode.NotFound)
                {
                    ViewBag.Error = "Nepostojeći JMBAG studenta!";
                }
                else
                {
                    ViewBag.Error = we.Message;
                }
            }
            catch (Exception ee)
            {
                ViewBag.Error = ee.Message;
            }

            return(View("PregledStudomat", studentInfo));
        }
Пример #3
0
        public async Task <ActionResult> Predmeti(string jmbag)
        // public ActionResult PregledStudomata(string jmbag)
        {
            log.LogWarning("PregledStudomata pokrenuto");

            string URL = "https://www.isvu.hr/apiproba/vu/313/student/jmbag/{0}/sumarno";

            StudentInfo studentInfo = null;

            if (String.IsNullOrEmpty(jmbag))
            {
                return(View("PregledStudomat", studentInfo));
            }

            string studentId = jmbag;

            var client    = new HttpClient();
            var byteArray = Encoding.ASCII.GetBytes("d1.mev:okay965228siqu");

            client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", Convert.ToBase64String(byteArray));

            try
            {
                studentInfo = new StudentInfo();
                string test;

                using (var streamTask = await client.GetStreamAsync(String.Format(URL, studentId)))
                {
                    StreamReader reader = new StreamReader(streamTask, Encoding.UTF8);
                    test = reader.ReadToEnd();

                    e_Index.Studomat.RootObject studomat = JsonConvert.DeserializeObject <e_Index.Studomat.RootObject>(test);

                    Semestar tempSemestar;
                    Kolegij  tempKolegij;


                    if (studomat != null)
                    {
                        studentInfo.Naziv = studomat._embedded.student.prezime + " " + studomat._embedded.student.ime;


                        foreach (var studij in studomat._embedded.upisaniElementiStruktureStudija)
                        {
                            Studij studijInfo = new Studij()
                            {
                                Naziv = studij.naziv
                            };
                            Semestar       trenutni     = new Semestar();
                            int            semestar     = 0;
                            List <Kolegij> listKolegija = new List <Kolegij>();

                            foreach (var predmet in studij._embedded.nepolozeniPredmeti)
                            {
                                try
                                {
                                    var    www = JObject.FromObject(predmet);
                                    string w2  = www.ToString();

                                    e_Index.Studomat.PolozeniPredmeti kolegij = JsonConvert.DeserializeObject <e_Index.Studomat.PolozeniPredmeti>(w2);
                                    if (kolegij._embedded.predmet._embedded.semestar.redniBroj > semestar)
                                    {
                                        semestar = kolegij._embedded.predmet._embedded.semestar.redniBroj;
                                    }

                                    tempSemestar = studijInfo.Semestri.FirstOrDefault(x => x.Oznaka == kolegij._embedded.predmet._embedded.semestar.redniBroj);
                                    if (tempSemestar == null)
                                    {
                                        tempSemestar = new e_Index.Misc.Semestar()
                                        {
                                            Oznaka = kolegij._embedded.predmet._embedded.semestar.redniBroj
                                        };
                                        studijInfo.Semestri.Add(tempSemestar);
                                    }


                                    //Dodavanje kolegija u semestar
                                    tempKolegij       = new Kolegij();
                                    tempKolegij.Naziv = kolegij._embedded.predmet.naziv;
                                    int sifra = kolegij._embedded.predmet.sifra;
                                    tempSemestar.Kolegiji.Add(tempKolegij);

                                    //spajanje na bazu podataka
                                    SqlConnection connection = new SqlConnection();
                                    connection.ConnectionString = "Data Source=dev1.mev.hr;" +
                                                                  "Initial Catalog=piis2018_e7_podaci1;" +
                                                                  "User id=piis2018_e7_user;" +
                                                                  "Password=4A9Nktuc4cVx";
                                    string query = "SELECT * FROM dolasci WHERE idKorisnik=" + jmbag + " AND idPredmet=" + sifra;
                                    try
                                    {
                                        SqlCommand sqlcommand = new SqlCommand(query, connection);
                                        connection.Open();
                                        SqlDataReader sqlreader = sqlcommand.ExecuteReader();
                                        //Ako je veæ kolegij upisan u bazu podataka
                                        if (sqlreader.HasRows == true)
                                        {
                                            while (sqlreader.Read())
                                            {
                                                ViewData["tjedan1"]   = sqlreader["tjedan1"];
                                                ViewData["tjedan2"]   = sqlreader["tjedan2"];
                                                ViewData["tjedan3"]   = sqlreader["tjedan3"];
                                                ViewData["tjedan4"]   = sqlreader["tjedan4"];
                                                ViewData["tjedan5"]   = sqlreader["tjedan5"];
                                                ViewData["tjedan6"]   = sqlreader["tjedan6"];
                                                ViewData["tjedan7"]   = sqlreader["tjedan7"];
                                                ViewData["tjedan8"]   = sqlreader["tjedan8"];
                                                ViewData["tjedan9"]   = sqlreader["tjedan9"];
                                                ViewData["tjedan10"]  = sqlreader["tjedan10"];
                                                ViewData["tjedan11"]  = sqlreader["tjedan11"];
                                                ViewData["tjedan12"]  = sqlreader["tjedan12"];
                                                ViewData["tjedan13"]  = sqlreader["tjedan13"];
                                                ViewData["tjedan14"]  = sqlreader["tjedan14"];
                                                ViewData["tjedan15"]  = sqlreader["tjedan15"];
                                                ViewData["ttjedan1"]  = sqlreader["ttjedan1"];
                                                ViewData["ttjedan2"]  = sqlreader["ttjedan2"];
                                                ViewData["ttjedan3"]  = sqlreader["ttjedan3"];
                                                ViewData["ttjedan4"]  = sqlreader["ttjedan4"];
                                                ViewData["ttjedan5"]  = sqlreader["ttjedan5"];
                                                ViewData["ttjedan6"]  = sqlreader["ttjedan6"];
                                                ViewData["ttjedan7"]  = sqlreader["ttjedan7"];
                                                ViewData["ttjedan8"]  = sqlreader["ttjedan8"];
                                                ViewData["ttjedan9"]  = sqlreader["ttjedan9"];
                                                ViewData["ttjedan10"] = sqlreader["ttjedan10"];
                                                ViewData["ttjedan11"] = sqlreader["ttjedan11"];
                                                ViewData["ttjedan12"] = sqlreader["ttjedan12"];
                                                ViewData["ttjedan13"] = sqlreader["ttjedan13"];
                                                ViewData["ttjedan14"] = sqlreader["ttjedan14"];
                                                ViewData["ttjedan15"] = sqlreader["ttjedan15"];
                                            }
                                        }
                                        else //Ako ne postoji zapis u bazi podataka stvori ga
                                        {
                                            using (SqlConnection openCon = new SqlConnection("Data Source=dev1.mev.hr;" +
                                                                                             "Initial Catalog=piis2018_e7_podaci1;" +
                                                                                             "User id=piis2018_e7_user;" +
                                                                                             "Password=4A9Nktuc4cVx"))
                                            {
                                                string saveStaff = "INSERT INTO dolasci (idKorisnik, idPredmet, tjedan1, tjedan2, tjedan3, tjedan4, tjedan5, tjedan6, tjedan7, tjedan8, tjedan9, tjedan10, tjedan11, tjedan12, tjedan13, tjedan14, tjedan15, ttjedan1, ttjedan2, ttjedan3, ttjedan4, ttjedan5, ttjedan6, ttjedan7, ttjedan8, ttjedan9, ttjedan10, ttjedan11, ttjedan12, ttjedan13, ttjedan14, ttjedan15, imePrezime, imePredmeta) VALUES (@korisnik, @predmet, '1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1',@imePrezime,@imePredmeta)";

                                                using (SqlCommand querySaveStaff = new SqlCommand(saveStaff))
                                                {
                                                    querySaveStaff.Connection = openCon;
                                                    querySaveStaff.Parameters.Add("@korisnik", SqlDbType.VarChar, 50).Value    = jmbag;
                                                    querySaveStaff.Parameters.Add("@predmet", SqlDbType.VarChar, 50).Value     = sifra;
                                                    querySaveStaff.Parameters.Add("@imePrezime", SqlDbType.VarChar, 50).Value  = studentInfo.Naziv;
                                                    querySaveStaff.Parameters.Add("@imePredmeta", SqlDbType.VarChar, 50).Value = tempKolegij.Naziv;
                                                    openCon.Open();
                                                    querySaveStaff.ExecuteNonQuery();
                                                }
                                            }
                                        }
                                    }
                                    catch (SqlException e)
                                    {
                                        log.LogWarning(e.Message);
                                    }
                                    finally
                                    {
                                        connection.Close();
                                    }
                                }
                                catch (Exception e)
                                {
                                    e.StackTrace.ToString();
                                }
                            }
                            return(View("Studenti", studijInfo.Semestri.Last(x => x.Oznaka == semestar)));
                        }
                    }
                }
            }
            catch (WebException we)
            {
                var webResponse = we.Response as HttpWebResponse;
                if (webResponse != null &&
                    webResponse.StatusCode == System.Net.HttpStatusCode.NotFound)
                {
                    ViewBag.Error = "Nepostojeæi JMBAG studenta!";
                }
                else
                {
                    ViewBag.Error = we.Message;
                }
            }
            catch (Exception ee)
            {
                ViewBag.Error = ee.Message;
            }

            return(View("Studenti"));
        }