示例#1
0
        public ActionResult Login([Bind(Include = "Email,Lozinka")] Korisnik korisnik)
        {
            using (baza db = new baza())
            {
                //var query = db.Korisniks.Where(a => a.Email.Equals(korisnik.Email)).Where(a => a.Lozinka.Equals(korisnik.Lozinka));
                var query = db.Korisniks.Where(a => a.Email.Equals(korisnik.Email));
                var user  = query.FirstOrDefault <Korisnik>();

                if (user != null)
                {
                    PasswordHasher hasher = new PasswordHasher();
                    if (user.Status.ToString() == "neaktivan")
                    {
                        ModelState.AddModelError(string.Empty, "Nalog nije aktiviran");
                    }
                    else if (hasher.VerifyHashedPassword(user.Lozinka, korisnik.Lozinka) == PasswordVerificationResult.Success)
                    {
                        Session["email"] = user.Email.ToString();
                        Session["ime"]   = user.Ime.ToString();
                        Session["uloga"] = user.Uloga.ToString();
                        return(RedirectToAction("index"));
                    }
                    else
                    {
                        ModelState.AddModelError(string.Empty, "Pogresna lozinka");
                    }
                }
                else
                {
                    ModelState.AddModelError(string.Empty, "Pogresan e-mail");
                }
            }

            return(View(korisnik));
        }
        private void changeBTN_Click(object sender, System.Windows.RoutedEventArgs e)
        {
            using var db = new baza();
            bool?  numTel = this.Numer.IsChecked;
            bool?  email  = this.Email.IsChecked;
            string dane   = this.change.Text;

            if (numTel != true && email != true)
            {
                MessageBox.Show("Zaznacz dane które chcesz zmienić");
            }
            if (numTel == true)
            {
                Nauczyciel change = db.Nauczyciels.FirstOrDefault(x => x.NumerTel == x.NumerTel);
                change.NumerTel = dane;
                db.SaveChanges();
                MessageBox.Show("Dane zostały zmienione");
            }
            if (email == true)
            {
                Nauczyciel change = db.Nauczyciels.FirstOrDefault(x => x.Email == x.Email);
                change.Email = dane;
                db.SaveChanges();
                MessageBox.Show("Dane zostały zmienione");
            }
        }
        /// <summary>
        /// Tłumaczy ID klasy na jej symbol np. 3Bi
        /// </summary>
        /// <param name="_naPrzedmiot"></param>
        /// <returns></returns>
        public string IdNaKlasa(int _naPrzedmiot)
        {
            using var db = new baza();
            var klasa = db.Klasas.Where(o => o.IdKlasa == _naPrzedmiot).First();

            return($"{klasa.Nazwa}");
        }
        private void Button_Click(object sender, System.Windows.RoutedEventArgs e)
        {
            int    idU   = Int32.Parse(this.b.Text);
            string ocena = this.bb.Text;
            int    idN   = Int32.Parse(this.bbb.Text);
            int    idP   = Int32.Parse(this.bbbb.Text);
            string opis  = this.opis.Text;
            string data  = this.data.Text;

            using var db = new baza();



            var nowaOcena = new Ocena
            {
                IdUczen      = idU,
                Ocena1       = ocena,
                Opis         = opis,
                IdNauczyciel = idN,
                IdPrzedmiot  = idP,
                Data         = data
            };


            db.Ocenas.Add(nowaOcena);
            db.SaveChanges();
        }
        /// <summary>
        /// Tłumaczy ID nauczyciela na jego imię i nazwisko
        /// </summary>
        /// <param name="_naNauczyciel"></param>
        /// <returns>Zwraca imię i nazwisko nauczyciela</returns>

        public string IdNaNauczyciel(int _naNauczyciel)
        {
            using var db = new baza();
            var naucz = db.Nauczyciels.Where(o => o.IdNauczyciel == _naNauczyciel).First();

            return($"{naucz.Imie} {naucz.Nazwisko}");
        }
 /// <summary>
 /// Przypisuje wartości wyciągnięte z bazy do wskazanych miejsc na temat nauczyciela
 /// </summary>
 /// <param name="_nauczyciel"></param>
 public void wyswietlDane(Nauczyciel _nauczyciel)
 {
     using var db             = new baza();
     daneZalogN.Content       = _nauczyciel.IdNauczyciel;
     daneZalogN_Copy.Content  = _nauczyciel.Imie;
     daneZalogN_Copy1.Content = _nauczyciel.Nazwisko;
     daneZalogN_Copy2.Content = _nauczyciel.NumerTel;
     daneZalogN_Copy3.Content = _nauczyciel.Email;
     daneZalogN_Copy4.Content = _nauczyciel.UczonyPrzedmiot;
 }
        /// <summary>
        /// Pobiera listę przedmiotów zalogowanego nauczyciela
        /// </summary>
        /// <param name="nauczyciel"></param>
        /// <returns>Zwraca przdmioty które i dal jakiej klasy prowadzi</returns>
        public List <AktualnyPrzedmiot> GetPrzedmiotN(Nauczyciel nauczyciel)
        {
            using var db = new baza();
            List <AktualnyPrzedmiot> przedmiots = new List <AktualnyPrzedmiot>();

            foreach (var x in db.AktualnyPrzedmiots.Where(o => o.IdNauczyciel == nauczyciel.IdNauczyciel))
            {
                przedmiots.Add(x);
            }
            return(przedmiots);
        }
        /// <summary>
        /// Pobiera listę ocen zalogowanego ucznia poprzez porównanie w bazie ID ucznia z ID ucznia który otrzymał ocenę
        /// </summary>
        /// <param name="uczen"></param>
        /// <returns>Zwraca wszystkie oceny jakie uczeń otrzymał</returns>

        public List <Ocena> GetOcenyU(Uczen uczen)
        {
            using var db = new baza();
            List <Ocena> ocenas = new List <Ocena>();

            foreach (var x in db.Ocenas.Where(o => o.IdUczen == uczen.IdUczen))
            {
                ocenas.Add(x);
            }
            return(ocenas);
        }
        /// <summary>
        /// Pobiera listę przedmiotów zalogowanego ucznia poprzez porównanie w bazie ID klasy z ID klasy do której uczęszcza uczeń
        /// </summary>
        /// <param name="uczen"></param>
        /// <returns>Zwraca przedmioty jakie ma uczeń</returns>
        public List <AktualnyPrzedmiot> GetPrzedmiotU(Uczen uczen)
        {
            using var db = new baza();
            List <AktualnyPrzedmiot> przedmiots = new List <AktualnyPrzedmiot>();

            foreach (var x in db.AktualnyPrzedmiots.Where(o => o.IdKlasa == uczen.IdKlasa))
            {
                przedmiots.Add(x);
            }
            return(przedmiots);
        }
示例#10
0
        public void Send(string idK)
        {
            int idKan = Convert.ToInt32(idK);

            using (baza db = new baza())
            {
                var klon      = db.Klons.Where(p => p.IdKan == idKan).OrderByDescending(p => p.IdKlo).FirstOrDefault();
                var ponudjeni = klon.KlonPonudjeniOdgs.ToString();
                Clients.Group("Channel " + idKan).addNewQuestion(klon.Naslov, klon.Tekst, ponudjeni);
                //Clients.All.addNewQuestion(klon.Naslov, klon.Tekst, ponudjeni);
            }
        }
示例#11
0
 public ActionResult AccountDetails()
 {
     if (Session["ime"] == null)
     {
         return(RedirectToAction("UnauthorizedAccess"));
     }
     using (baza db = new baza())
     {
         string email    = Session["email"].ToString();
         var    query    = db.Korisniks.Where(a => a.Email.Equals(email));
         var    korisnik = query.FirstOrDefault <Korisnik>();
         return(View(korisnik));
     }
 }
示例#12
0
        public ActionResult Register(Korisnik korisnik)
        {
            if (ModelState.IsValid)
            {
                using (baza db = new baza())
                {
                    try
                    {
                        if (db.Korisniks.Where(p => p.Email == korisnik.Email).FirstOrDefault() != null)
                        {
                            ModelState.AddModelError(string.Empty, "Email je zauzet!");
                            return(View(korisnik));
                        }
                        PasswordHasher hasher = new PasswordHasher();
                        korisnik.Lozinka         = hasher.HashPassword(korisnik.Lozinka);
                        korisnik.PotvrdaLozinke  = korisnik.Lozinka;
                        korisnik.Status          = "neaktivan";
                        db.Entry(korisnik).State = System.Data.Entity.EntityState.Modified;

                        db.Korisniks.Add(korisnik);
                        db.SaveChanges();

                        return(RedirectToAction("Login"));
                    }
                    catch (System.Data.Entity.Validation.DbEntityValidationException dbEx)
                    {
                        Exception raise = dbEx;
                        foreach (var validationErrors in dbEx.EntityValidationErrors)
                        {
                            foreach (var validationError in validationErrors.ValidationErrors)
                            {
                                string message = string.Format("{0}:{1}",
                                                               validationErrors.Entry.Entity.ToString(),
                                                               validationError.ErrorMessage);
                                // raise a new exception nesting
                                // the current instance as InnerException
                                raise = new InvalidOperationException(message, raise);
                            }
                        }
                        throw raise;
                    }
                }
            }

            return(View(korisnik));
        }
示例#13
0
        public Korisnik getKorisnik()
        {
            if (Session["email"] != null)
            {
                using (baza db = new baza())
                {
                    string   email    = Session["email"].ToString();
                    Korisnik korisnik = db.Korisniks.Where(a => a.Email.Equals(email)).FirstOrDefault <Korisnik>();

                    return(korisnik);
                }
            }
            else
            {
                return(null);
            }
        }
 /// <summary>
 /// Przypisuje wartości wyciągnięte z bazy do wskazanych miejsc na temat ucznia
 /// </summary>
 /// <param name="_uczen"></param>
 public void wyswietlDane(Uczen _uczen)
 {
     using var db              = new baza();
     daneZalogU.Content        = _uczen.Imie;
     daneZalogU_Copy.Content   = _uczen.ImieDrugie;
     daneZalogU_Copy1.Content  = _uczen.Nazwisko;
     daneZalogU_Copy5.Content  = _uczen.DataUrodzenia;
     daneZalogU_Copy7.Content  = _uczen.Pesel;
     daneZalogU_Copy8.Content  = _uczen.MiastoZam;
     daneZalogU_Copy6.Content  = _uczen.UlicaZam;
     daneZalogU_Copy2.Content  = _uczen.NumerUl;
     daneZalogU_Copy3.Content  = _uczen.NumerTel;
     daneZalogU_Copy4.Content  = _uczen.Email;
     daneZalogU_Copy9.Content  = db.Klasas.Where(o => o.IdKlasa == _uczen.IdKlasa).First().Nazwa;
     daneZalogU_Copy10.Content = db.Opiekuns.Where(o => o.IdOpiekun == _uczen.IdOpiekun).First().Imie;
     daneZalogU_Copy11.Content = db.Opiekuns.Where(o => o.IdOpiekun == _uczen.IdOpiekun).First().Nazwisko;
     daneZalogU_Copy12.Content = db.Opiekuns.Where(o => o.IdOpiekun == _uczen.IdOpiekun).First().NumerTel;
     daneZalogU_Copy13.Content = db.Opiekuns.Where(o => o.IdOpiekun == _uczen.IdOpiekun).First().Email;
 }
示例#15
0
        public void JoinGroup(string idKor)
        {
            using (baza db = new baza())
            {
                int      userId   = Convert.ToInt32(idKor);
                Korisnik korisnik = db.Korisniks.Find(userId);
                if (korisnik.Uloga != "student")
                {
                    return;
                }

                var pratis = db.Pratis.Where(p => p.IdKor == korisnik.IdKor).ToList();

                foreach (var item in pratis)
                {
                    Groups.Add(Context.ConnectionId, "Channel " + item.IdKan);
                }
            }
        }
示例#16
0
        public ActionResult Tokens()
        {
            if (Session["uloga"] == null || Session["uloga"].ToString() == "admin")
            {
                return(RedirectToAction("UnauthorizedAccess"));
            }

            using (baza db = new baza())
            {
                Parametri parametri = db.Parametris.FirstOrDefault <Parametri>();
                string    email     = Session["email"].ToString();
                Korisnik  korisnik  = db.Korisniks.Where(a => a.Email.Equals(email)).FirstOrDefault <Korisnik>();

                ViewBag.tokens = korisnik.BrTokena;
                ViewBag.silver = parametri.S;
                ViewBag.gold   = parametri.G;
                ViewBag.platin = parametri.P;
                ViewBag.link   = "http://stage.centili.com/payment/widget?apikey=7a6ac8db85d69ee617967f6b11548879";

                return(View());
            }
        }
示例#17
0
        public ActionResult Registrations(string filter)
        {
            if (Session["uloga"] == null || Session["uloga"].ToString() != "admin")
            {
                return(RedirectToAction("UnauthorizedAccess"));
            }

            using (baza db = new baza())
            {
                var filterList = new List <string>();
                filterList.Add("aktivan");
                filterList.Add("neaktivan");

                ViewBag.filter = new SelectList(filterList);

                var korisniks = db.Korisniks.ToList();
                if (!string.IsNullOrEmpty(filter))
                {
                    korisniks = korisniks.Where(x => x.Status == filter).ToList();
                }
                return(View(korisniks));
            }
        }
示例#18
0
        public ActionResult CentiliReturn(string status)
        {
            if (Session["uloga"] == null || Session["uloga"].ToString() == "admin")
            {
                return(RedirectToAction("UnauthorizedAccess"));
            }

            using (baza db = new baza())
            {
                string     email      = Session["email"].ToString();
                Korisnik   korisnik   = db.Korisniks.Where(a => a.Email == email).FirstOrDefault <Korisnik>();
                Narudzbina narudzbina = db.Narudzbinas.Where(a => a.IdKor == korisnik.IdKor).OrderByDescending(x => x.IdNar).FirstOrDefault();

                if (status == "success")
                {
                    narudzbina.Status          = "realizovana";
                    db.Entry(narudzbina).State = System.Data.Entity.EntityState.Modified;

                    korisnik.BrTokena        = korisnik.BrTokena + narudzbina.BrTokena;
                    korisnik.PotvrdaLozinke  = korisnik.Lozinka;
                    db.Entry(korisnik).State = System.Data.Entity.EntityState.Modified;

                    db.SaveChanges();

                    SendEmail();
                    return(RedirectToAction("Tokens"));
                }
                else
                {
                    narudzbina.Status          = "ponistena";
                    db.Entry(narudzbina).State = System.Data.Entity.EntityState.Modified;
                    db.SaveChanges();

                    return(RedirectToAction("FailedPurchase"));
                }
            }
        }
示例#19
0
        public ActionResult Order(int numOfTokens)
        {
            if (Session["uloga"] == null || Session["uloga"].ToString() == "admin")
            {
                return(RedirectToAction("UnauthorizedAccess"));
            }

            using (baza db = new baza())
            {
                string   email    = Session["email"].ToString();
                Korisnik korisnik = db.Korisniks.Where(a => a.Email.Equals(email)).FirstOrDefault <Korisnik>();

                Narudzbina narudzbina = new Narudzbina();
                narudzbina.IdKor    = korisnik.IdKor;
                narudzbina.Korisnik = korisnik;
                narudzbina.Status   = "cekanje na obradu";
                narudzbina.Cena     = 50;
                narudzbina.BrTokena = numOfTokens;
                db.Narudzbinas.Add(narudzbina);
                db.SaveChanges();

                return(Redirect("http://stage.centili.com/payment/widget?apikey=7a6ac8db85d69ee617967f6b11548879&returnurl=iep_projekat.cloudapp.net/Home/CentiliReturn/?status=success"));
            }
        }
        /// <summary>
        /// WyświetlPlan - wywołuje funckję pobierającą przedmioty aktualnie zalogowanego nauczyciela
        /// </summary>
        public void wyswietlPlan()
        {
            using var db = new baza();

            WyswietlPlanN(GetPrzedmiotN(DaneU.nauczycielZal));
        }
        private void changeBTN_Click(object sender, System.Windows.RoutedEventArgs e)
        {
            using var db = new baza();
            bool?  numTel  = this.Numer.IsChecked;
            bool?  email   = this.Email.IsChecked;
            bool?  miasto  = this.Miasto.IsChecked;
            bool?  ulica   = this.Ulica.IsChecked;
            bool?  ulicanr = this.UlicaNr.IsChecked;
            string dane    = this.changen.Text;
            bool?  numTelO = this.NumerO.IsChecked;
            bool?  emailO  = this.EmailO.IsChecked;

            if (numTel != true && email != true && miasto != true && ulica != true && ulicanr != true && numTelO != true && emailO != true)
            {
                MessageBox.Show("Zaznacz dane które chcesz zmienić");
            }
            if (numTel == true)
            {
                Uczen change = db.Uczens.FirstOrDefault(x => x.NumerTel == x.NumerTel);
                change.NumerTel = dane;
                db.SaveChanges();
                MessageBox.Show("Dane zostały zmienione");
            }
            if (email == true)
            {
                Uczen change = db.Uczens.FirstOrDefault(x => x.Email == x.Email);
                change.Email = dane;
                db.SaveChanges();

                MessageBox.Show("Dane zostały zmienione");
            }
            if (miasto == true)
            {
                Uczen change = db.Uczens.FirstOrDefault(x => x.MiastoZam == x.MiastoZam);
                change.MiastoZam = dane;
                db.SaveChanges();
                MessageBox.Show("Dane zostały zmienione");
            }
            if (ulica == true)
            {
                Uczen change = db.Uczens.FirstOrDefault(x => x.UlicaZam == x.UlicaZam);
                change.UlicaZam = dane;
                db.SaveChanges();
                MessageBox.Show("Dane zostały zmienione");
            }
            if (ulicanr == true)
            {
                Uczen change = db.Uczens.FirstOrDefault(x => x.NumerUl == x.NumerUl);
                change.NumerUl = dane;
                db.SaveChanges();
                MessageBox.Show("Dane zostały zmienione");
            }
            if (numTelO == true)
            {
                Opiekun change = db.Opiekuns.FirstOrDefault(x => x.NumerTel == x.NumerTel);
                change.NumerTel = dane;
                db.SaveChanges();
                MessageBox.Show("Dane zostały zmienione");
            }
            if (emailO == true)
            {
                Opiekun change = db.Opiekuns.FirstOrDefault(x => x.Email == x.Email);
                change.Email = dane;
                db.SaveChanges();
                MessageBox.Show("Dane zostały zmienione");
            }
        }
 /// <summary>
 /// WyświetlOceny - wywołuje funckję pobierającą oceny aktualnie zalogowanego ucznia
 /// </summary>
 public void WyswietlOceny()
 {
     using var db = new baza();
     WyswietlOcenyU(GetOcenyU(DaneU.uczenZal));
 }
示例#23
0
        private void zalogujBtn_Click(object sender, RoutedEventArgs e)
        {
            using var db = new baza();

            string uzytkownikU = this.nazwaUzytkownika.Text;
            string hasloU      = this.hasloUzytkownika.Password;
            bool?  uczenU      = this.jakoUczen.IsChecked;

            string uzytkownikN = this.nazwaUzytkownika.Text;
            string hasloN      = this.hasloUzytkownika.Password;
            bool?  nauczycielN = this.jakoNauczyciel.IsChecked;

            IQueryable <Uczen> uczens = db.Uczens.Where(c => c.Login == uzytkownikU);



            IQueryable <Nauczyciel> nauczyciels = db.Nauczyciels.Where(n => n.Login == uzytkownikN);


            int liczU = uczens.ToArray().Length;
            int liczN = nauczyciels.ToArray().Length;

            if (uczenU == true)
            {
                if (liczU != 0)
                {
                    foreach (var c in uczens)
                    {
                        if (c.Haslo == hasloU)
                        {
                            IQueryable <Uczen> uczens2 = db.Uczens.Where(c => c.Login == uzytkownikU);
                            DaneU.uczenZal = db.Uczens.Where(c => c.Login == uzytkownikU).First();

                            DaneU.ktoZalogowany = true;
                            foreach (var c2 in uczens2)
                            {
                                włączMenuUcznia($"Jesteś zalogowany jako\n{c2.Imie} {c2.Nazwisko}\n{c2.IdUczen}");
                            }
                        }
                        else
                        {
                            MessageBox.Show("Błędne hasło");
                        }
                    }
                }
                else
                {
                    MessageBox.Show("Błędny login");
                }
            }

            if (nauczycielN == true)
            {
                if (liczN != 0)
                {
                    foreach (var n in nauczyciels)
                    {
                        if (n.Haslo == hasloN)
                        {
                            IQueryable <Nauczyciel> nauczyciels2 = db.Nauczyciels.Where(n => n.Login == uzytkownikN);
                            DaneU.nauczycielZal = db.Nauczyciels.Where(n => n.Login == uzytkownikN).First();

                            DaneU.ktoZalogowany = false;
                            foreach (var c3 in nauczyciels2)
                            {
                                włączMenuNauczyciela($"Jesteś zalogowany jako\n{c3.Imie} {c3.Nazwisko}\n{c3.IdNauczyciel}");
                            }
                        }
                        else
                        {
                            MessageBox.Show("Błędne hasło");
                        }
                    }
                }
                else
                {
                    MessageBox.Show("Błędny login");
                }
            }

            if (nauczycielN == false & uczenU == false)
            {
                MessageBox.Show("Musisz wybrać kim jesteś !");
            }
        }
示例#24
0
        private void zmien_Click(object sender, RoutedEventArgs e)
        {
            using var db = new baza();

            string uzytkownik = this.nazwaUzytkownika.Text;
            string haslo      = this.hasloUzytkownika.Password;
            string noweHaslo  = this.noweHasloUzytkownika.Password;
            bool?  ktoU       = this.jakoUczen.IsChecked;
            bool?  ktoN       = this.jakoNauczyciel.IsChecked;


            if (ktoU == true)
            {
                Uczen uczentoupdate = db.Uczens.FirstOrDefault(x => x.Login == uzytkownik);
                if (uczentoupdate.Login == uzytkownik)
                {
                    if (uczentoupdate.Haslo == haslo)
                    {
                        uczentoupdate.Haslo = noweHaslo;

                        db.SaveChanges();
                        MessageBox.Show("Hasło zostało zmienione");
                        MainWindow objMainWindow = new MainWindow();
                        this.Close();
                        objMainWindow.Show();
                    }
                    else
                    {
                        MessageBox.Show("Podałeś złe hasło");
                    }
                }
                else
                {
                    MessageBox.Show("Błędny login");
                }
            }
            if (ktoN == true)
            {
                Nauczyciel nauczycieltoupdate = db.Nauczyciels.FirstOrDefault(o => o.Login == uzytkownik);


                if (nauczycieltoupdate.Login == uzytkownik)
                {
                    if (nauczycieltoupdate.Haslo == haslo)
                    {
                        nauczycieltoupdate.Haslo = noweHaslo;

                        db.SaveChanges();
                        MessageBox.Show("Hasło zostało zmienione");
                        MainWindow objMainWindow = new MainWindow();
                        this.Close();
                        objMainWindow.Show();
                    }
                    else
                    {
                        MessageBox.Show("Podałeś złe hasło");
                    }
                }
                else
                {
                    MessageBox.Show("Błędny login");
                }
            }
        }
 /// <summary>
 /// Tłumaczy ID przedmiotu na jego nazwę
 /// </summary>
 /// <param name="_naPrzedmiot"></param>
 /// <returns>Zwraca nazwę przedmiotu</returns>
 public string IdNaPrzedmiot(int _naPrzedmiot)
 {
     using var db = new baza();
     return(db.Przedmiots.Where(o => o.IdPrzedmiot == _naPrzedmiot).First().Nazwa);
 }
        /// <summary>
        /// WyświetlPlan - wywołuje funckję pobierającą przedmioty aktualnie zalogowanego ucznia przypisanego do danej klasy
        /// </summary>
        public void wyswietlPlan()
        {
            using var db = new baza();

            WyswietlPlanU(GetPrzedmiotU(DaneU.uczenZal));
        }