Beispiel #1
0
            int IComparable.CompareTo(object obj)
            {
                if (obj == null)
                {
                    return(1);
                }
                Sesja s = obj as Sesja;

                if (s != null)
                {
                    if (godzinaR == s.godzinaR && minutaR == minutaZ)
                    {
                        return(0);
                    }
                    if (godzinaR > s.godzinaR || (godzinaR == s.godzinaR && minutaR > s.minutaR))
                    {
                        return(1);
                    }
                    else
                    {
                        return(-1);
                    }
                }
                else
                {
                    throw new ArgumentException("Argument nie jest Sesją");
                }
            }
Beispiel #2
0
        public void AktualizujAktywnoscUzytkownika(object token)
        {
            Sesja obiektSesji = new Sesja
            {
                CzasOstatniejAkcji = DateTime.UtcNow,
                Token = token.ToString()
            };

            using (var db = new System.Data.SqlClient.SqlConnection(
                       System.Configuration.ConfigurationManager.ConnectionStrings[
                           "PolaczenieZBazaDanych"].ConnectionString))
            {
                db.Open();
                using (var cmd = new System.Data.SqlClient.SqlCommand())
                {
                    cmd.Connection  = db;
                    cmd.CommandText =
                        "UPDATE TOKEN_ACCESS " +
                        "SET CZAS_OSTATNIEJ_AKCJI=@CzasOstatniejAkcji " +
                        "WHERE TOKEN=@Token";

                    cmd.Parameters.Add("@CzasOstatniejAkcji", System.Data.SqlDbType.DateTime).Value = obiektSesji.CzasOstatniejAkcji;
                    cmd.Parameters.Add("@Token", System.Data.SqlDbType.NVarChar).Value = obiektSesji.Token;
                    cmd.ExecuteNonQuery();
                }
            }
        }
Beispiel #3
0
        private void WypiszSesje(Sesja sesja)
        {
            string sesjelabel = "";

            sesjelabel         += sesja.ToString() + "\n";
            wypisanesesje.Text += sesjelabel;
        }
Beispiel #4
0
        public void WylogowanieUzytkownika(object token)
        {
            Sesja obiektSesji = new Sesja
            {
                CzasOstatniejAkcji = DateTime.UtcNow,
                Token = token.ToString(),
            };
            Logowanie logowanie = new Logowanie
            {
                CzyZalogowany = false,
            };

            using (var db = new System.Data.SqlClient.SqlConnection(
                       System.Configuration.ConfigurationManager.ConnectionStrings[
                           "PolaczenieZBazaDanych"].ConnectionString))
            {
                db.Open();
                using (var cmd = new System.Data.SqlClient.SqlCommand())
                {
                    cmd.Connection  = db;
                    cmd.CommandText =
                        "UPDATE Uzytkownicy SET czy_zalogowany=0 " +
                        "SET czy_zalogowany=@CzasOstatniejAkcji " +
                        "WHERE TOKEN=@Token";

                    cmd.Parameters.Add("@CzasOstatniejAkcji", System.Data.SqlDbType.DateTime).Value = obiektSesji.CzasOstatniejAkcji;
                    cmd.Parameters.Add("@Token", System.Data.SqlDbType.NVarChar).Value = obiektSesji.Token;
                    cmd.ExecuteNonQuery();
                }
            }
        }
Beispiel #5
0
        private string WypiszKonferencje(Sesja sesja)
        {
            string sesjelabel = "";

            sesjelabel += sesja.ToString() + " " + CzyDostepnaSala(sesja) + "\n";
            return(sesjelabel);
        }
Beispiel #6
0
        public void WylogujUzytkownika(object token)
        {
            int   idToken     = 0;
            Sesja obiektSesji = new Sesja
            {
                CzasOstatniejAkcji = DateTime.UtcNow,
                Token = token.ToString(),
            };
            Logowanie logowanie = new Logowanie
            {
                CzyZalogowany = false,
            };

            using (var db = new System.Data.SqlClient.SqlConnection(
                       System.Configuration.ConfigurationManager.ConnectionStrings[
                           "PolaczenieZBazaDanych"].ConnectionString))
            {
                db.Open();
                using (var cmd = new System.Data.SqlClient.SqlCommand())
                {
                    cmd.Connection  = db;
                    cmd.CommandText =
                        "SELECT Uzytkownicy.login_uzytkownika, Uzytkownicy.id_token, TOKEN_ACCESS.TOKEN " +
                        "FROM TOKEN_ACCESS INNER JOIN " +
                        "Uzytkownicy ON TOKEN_ACCESS.ID_TOKEN = Uzytkownicy.id_token " +
                        "WHERE TOKEN=@Token";

                    cmd.Parameters.AddWithValue("@Token", obiektSesji.Token);

                    using (var dr = cmd.ExecuteReader())
                    {
                        while (dr.Read())
                        {
                            idToken         = (int)dr["ID_TOKEN"];
                            logowanie.Login = (string)dr["login_uzytkownika"];
                        }
                    }

                    cmd.CommandText =
                        "UPDATE Uzytkownicy " +
                        "SET czy_zalogowany=@CzyZalogowany, id_token=@IdToken " +
                        "WHERE login_uzytkownika=@Login";

                    cmd.Parameters.Add("@CzasOstatniejAkcji", System.Data.SqlDbType.DateTime).Value = obiektSesji.CzasOstatniejAkcji;
                    cmd.Parameters.AddWithValue("@CzyZalogowany", logowanie.CzyZalogowany);
                    cmd.Parameters.AddWithValue("@Login", logowanie.Login);
                    cmd.Parameters.AddWithValue("@IdToken", DBNull.Value);
                    cmd.ExecuteNonQuery();

                    cmd.CommandText =
                        "DELETE FROM TOKEN_ACCESS " +
                        "WHERE TOKEN=@Token";

                    cmd.ExecuteNonQuery();
                }
            }
        }
Beispiel #7
0
        private string CzyDostepnaSala(Sesja sesja)
        {
            string nr = "";

            if (iloscSal >= sesja.kolor + 1)
            {
                nr = "sala numer " + (sesja.kolor + 1) + ".";
            }
            else
            {
                nr = "brak wystarczającej ilości sal.";
            }
            return(nr);
        }
Beispiel #8
0
        //źle ??
        private bool NakladajaSie(Sesja s1, Sesja s2)
        {
            bool czynakladajasie = true;

            if ((s1.godzinaR > s2.godzinaZ) || (s1.godzinaR == s2.godzinaZ && s1.minutaR >= s2.minutaZ))
            {
                czynakladajasie = false;
            }
            if ((s2.godzinaR > s1.godzinaZ) || (s2.godzinaR == s1.godzinaZ && s2.minutaR >= s1.minutaZ))
            {
                czynakladajasie = false;
            }
            return(czynakladajasie);
        }
        // Displays the question currently pointed to by the iterator
        // GET: Session/Solve
        public ActionResult Solve()
        {
            ISessionIterator iterator = (ISessionIterator)Session[iteratorKey];
            Sesja            sesja    = (Sesja)Session[sessionKey];
            Pytanie          pytanie  = iterator.GetCurrent();
            var model = pytanie.getViewModel();

            model.NumerPytania          = (int)Session[currentQuestionKey];
            model.LiczbaPytań           = (int)Session[questionCountKey];
            model.JestPierwszymPytaniem = !iterator.HasPrev();
            model.JestOstatnimPytaniem  = !iterator.HasNext();
            model.MozeZakonczyc         = (sesja.TypSesji == TypSesji.Nauka && model.JestOstatnimPytaniem && pytanie.CzyOdpowiedzianoPoprawnie()) ||
                                          (sesja.TypSesji == TypSesji.Test);
            return(View(model));
        }
        public HttpResponseMessage Post(LogOutZapytanie dane)
        {
            HttpResponseMessage odpowiedz;

            using (DB baza = new DB())
            {
                if (baza.Sesje.Any(s => s.ID_Sesji == dane.ID_Sesji))
                {
                    Sesja sesja = baza.Sesje.FirstOrDefault(s => s.ID_Sesji == dane.ID_Sesji);
                    baza.Sesje.Remove(sesja);
                    baza.SaveChanges();
                }
                odpowiedz = Request.CreateResponse(HttpStatusCode.OK);
            }
            return(odpowiedz);
        }
        public ActionResult Index(UserChoicesViewModel model)
        {
            if (model.UczonyJezykId == model.ZnanyJezykId)
            {
                var newModel = GetSessionViewModel();
                newModel.ZnanyJezykId  = model.ZnanyJezykId;
                newModel.UczonyJezykId = model.UczonyJezykId;

                ModelState.AddModelError("JezykUczony", "Język który znasz i którego się uczysz muszą być różne");
                return(View(newModel));
            }

            if (ModelState.IsValid)
            {
                model.UczonyJezyk = _uow.JezykRepo.Get(model.UczonyJezykId);
                model.ZnanyJezyk  = _uow.JezykRepo.Get(model.ZnanyJezykId);

                IBudowniczySesji budowniczySesji;
                switch (model.WybranyInput)
                {
                case RodzajInputu.Select:
                    budowniczySesji = new BudowniczySesjiZWyborem(_uow.SlowoRepo);
                    break;

                case RodzajInputu.TextInput:
                    budowniczySesji = new BudowniczySesjiZInputem(_uow.SlowoRepo);
                    break;

                default:
                    throw new ArgumentException($"Brak ustalonego budowniczego dla {model.WybranyInput}");
                }
                budowniczySesji.Reset();
                _director.Akceptuj(budowniczySesji);
                _director.Stworz(model);
                Sesja sesja = budowniczySesji.BudowanaSesja;
                sesja.Uzytkownik = _uow.UserRepo.Get(User.Identity.GetUserId());

                Session[sessionKey]         = sesja;
                Session[iteratorKey]        = sesja.GetIterator();
                Session[currentQuestionKey] = 1;
                Session[questionCountKey]   = sesja.Pytania.Count;

                return(RedirectToAction("Solve"));
            }
            return(View(model));
        }
        public ActionResult Next(string OdpowiedzUzytkownika)
        {
            ISessionIterator iterator = (ISessionIterator)Session[iteratorKey];
            Sesja            sesja    = (Sesja)Session[sessionKey];
            Pytanie          pytanie  = iterator.GetCurrent();

            pytanie.OdpowiedzUzytkownika = OdpowiedzUzytkownika;
            if (iterator.HasNext())
            {
                iterator.Next();
                if ((pytanie.CzyOdpowiedzianoPoprawnie() && sesja.TypSesji == TypSesji.Nauka) || sesja.TypSesji == TypSesji.Test)
                {
                    Session[currentQuestionKey] = (int)Session[currentQuestionKey] + 1;
                }
            }
            return(RedirectToAction("Solve"));
        }
Beispiel #13
0
            int IComparer.Compare(object x, object y)
            {
                Sesja s1 = x as Sesja;
                Sesja s2 = x as Sesja;

                if (s1.godzinaR == s2.godzinaR && s1.minutaR == s2.minutaR)
                {
                    return(0);
                }
                if (s1.godzinaR < s2.godzinaR || (s1.godzinaR == s2.godzinaR && s1.minutaR < s2.minutaR))
                {
                    return(-1);
                }
                else
                {
                    return(1);
                }
            }
        // GET: Session/Finish
        public ActionResult Finish()
        {
            var   user  = UserManager.FindById(User.Identity.GetUserId());
            Sesja sesja = (Sesja)Session[sessionKey];

            if (sesja.TypSesji == TypSesji.Nauka)
            {
                user.Progress++;
                UserManager.Update(user);
            }
            var model = new FinishViewModel()
            {
                Pytania  = sesja.Pytania,
                TypSesji = sesja.TypSesji
            };

            // Cleanup
            Session[iteratorKey]        = null;
            Session[sessionKey]         = null;
            Session[currentQuestionKey] = null;
            Session[questionCountKey]   = null;
            return(View(model));
        }
Beispiel #15
0
        public Rejestracja WyswietlEkranPowitalny(object token)
        {
            Rejestracja loginImie = new Rejestracja();
            Sesja       sesja     = new Sesja
            {
                Token = token.ToString()
            };

            using (var db = new System.Data.SqlClient.SqlConnection(
                       System.Configuration.ConfigurationManager.ConnectionStrings[
                           "PolaczenieZBazaDanych"].ConnectionString))
            {
                db.Open();
                using (var cmd = new System.Data.SqlClient.SqlCommand())
                {
                    cmd.Connection  = db;
                    cmd.CommandText =
                        "SELECT Uzytkownicy.imie_uzytkownika, Uzytkownicy.login_uzytkownika, TOKEN_ACCESS.TOKEN " +
                        "FROM TOKEN_ACCESS " +
                        "INNER JOIN " +
                        "Uzytkownicy ON TOKEN_ACCESS.ID_TOKEN = Uzytkownicy.id_token " +
                        "WHERE TOKEN=@Token";

                    cmd.Parameters.AddWithValue("@Token", sesja.Token);
                    using (var dr = cmd.ExecuteReader())
                    {
                        while (dr.Read())
                        {
                            loginImie.Login = (string)dr["login_uzytkownika"];
                            loginImie.Imie  = (string)dr["imie_uzytkownika"];
                        }
                    }
                }
            }

            return(loginImie);
        }
Beispiel #16
0
 public void Reset()
 {
     BudowanaSesja = new Sesja();
 }
Beispiel #17
0
        public Sesja GenerujToken(string login)
        {
            //Wzór tokenu: XYZ123456
            Sesja sesja = new Sesja
            {
                ListaTokenow = new List <string>()
            };
            Logowanie logowanie = new Logowanie
            {
                Login         = login,
                CzyZalogowany = true
            };
            Random rand = new Random();

            char[] slowaTokenu = new char[9];
            int    symbol;
            int    idTokenu;

            using (var db = new System.Data.SqlClient.SqlConnection(
                       System.Configuration.ConfigurationManager.ConnectionStrings[
                           "PolaczenieZBazaDanych"].ConnectionString))
            {
                db.Open();
                using (var cmd = new System.Data.SqlClient.SqlCommand())
                {
                    cmd.Connection  = db;
                    cmd.CommandText = "SELECT TOKEN FROM TOKEN_ACCESS";
                    using (var dr = cmd.ExecuteReader())
                    {
                        while (dr.Read())
                        {
                            sesja.ListaTokenow.Add(
                                (string)dr["TOKEN"]
                                );
                        }
                    }
                    cmd.CommandText = "SELECT id_uzytkownika FROM Uzytkownicy WHERE login_uzytkownika=@Login";
                    cmd.Parameters.Add("@Login", System.Data.SqlDbType.NVarChar).Value = logowanie.Login;
                    using (var dr = cmd.ExecuteReader())
                    {
                        while (dr.Read())
                        {
                            sesja.IdUzytkownika = (int)dr["id_uzytkownika"];
                        }
                    }
                }
            }

            for (int i = 0; i < 9; i++)
            {
                if (i < 3)
                {
                    symbol         = rand.Next(65, 90);
                    slowaTokenu[i] = (char)symbol;
                }
                else
                {
                    symbol         = rand.Next(48, 57);
                    slowaTokenu[i] = (char)symbol;
                }
            }

            foreach (var item in slowaTokenu)
            {
                sesja.Token += item;
            }

            if (sesja.ListaTokenow != null)
            {
                while (sesja.ListaTokenow.Contains(sesja.Token))
                {
                    for (int i = 0; i < 9; i++)
                    {
                        if (i < 3)
                        {
                            symbol         = rand.Next(65, 90);
                            slowaTokenu[i] = (char)symbol;
                        }
                        else
                        {
                            symbol         = rand.Next(48, 57);
                            slowaTokenu[i] = (char)symbol;
                        }
                    }
                }
            }

            sesja.CzasZalogowania    = DateTime.UtcNow;
            sesja.CzasOstatniejAkcji = sesja.CzasZalogowania;

            using (var db = new System.Data.SqlClient.SqlConnection(
                       System.Configuration.ConfigurationManager.ConnectionStrings[
                           "PolaczenieZBazaDanych"].ConnectionString))
            {
                db.Open();
                using (var cmd = new System.Data.SqlClient.SqlCommand())
                {
                    cmd.Connection  = db;
                    cmd.CommandText =
                        "INSERT INTO TOKEN_ACCESS(TOKEN, CZAS_LOGOWANIA, CZAS_OSTATNIEJ_AKCJI)" +
                        "VALUES(@TOKEN, @CZAS_LOGOWANIA, @CZAS_OSTATNIEJ_AKCJI); " +
                        "SELECT SCOPE_IDENTITY()";

                    cmd.Parameters.AddWithValue("@TOKEN", sesja.Token);
                    cmd.Parameters.AddWithValue("@CZAS_LOGOWANIA", sesja.CzasZalogowania);
                    cmd.Parameters.AddWithValue("@CZAS_OSTATNIEJ_AKCJI", sesja.CzasOstatniejAkcji);

                    idTokenu = (int)(decimal)cmd.ExecuteScalar();

                    cmd.CommandText =
                        "UPDATE Uzytkownicy SET token=@TOKEN, czy_zalogowany=1 " +
                        "WHERE id_uzytkownika=@id_uzytkownika";

                    cmd.Parameters.AddWithValue("@id_uzytkownika", sesja.IdUzytkownika);
                    cmd.Parameters.AddWithValue("@czy_zalogowany", logowanie.CzyZalogowany);

                    cmd.ExecuteNonQuery();
                }
            }

            return(sesja);
        }
Beispiel #18
0
        public DTO.Slowka LosujSlowkoDoFiszki(string jezyk, string poziom, string kategoria, object token)
        {
            DTO.Slowka slowka = new Slowka
            {
                Jezyk     = jezyk,
                Poziom    = poziom,
                Kategoria = kategoria
            };
            int           indeks;
            List <Slowka> listaSlowek;
            Random        losujSlowko      = new Random();
            Sesja         odswiezanieCzasu = new Sesja();

            using (var db = new System.Data.SqlClient.SqlConnection(
                       System.Configuration.ConfigurationManager.ConnectionStrings[
                           "PolaczenieZBazaDanych"].ConnectionString))
            {
                db.Open();
                using (var cmd = new System.Data.SqlClient.SqlCommand())
                {
                    cmd.Connection = db;

                    cmd.CommandText =
                        "SELECT SLOWKA.SLOWKO, TLUMACZENIA.TLUMACZENIE " +
                        "FROM POZIOMY " +
                        "INNER JOIN KATEGORIE ON POZIOMY.ID_POZIOMU = KATEGORIE.ID_POZIOMU " +
                        "INNER JOIN SLOWKA ON POZIOMY.ID_POZIOMU = SLOWKA.ID_POZIOMU " +
                        "AND KATEGORIE.ID_KATEGORII = SLOWKA.ID_KATEGORII " +
                        "INNER JOIN JEZYK ON SLOWKA.ID_JEZYKA = JEZYK.ID_JEZYKA " +
                        "INNER JOIN TLUMACZENIA ON SLOWKA.ID_TLUMACZENIA = TLUMACZENIA.ID_TLUMACZENIA " +
                        "WHERE " +
                        "JEZYK.JEZYK = @Jezyk " +
                        "AND KATEGORIE.KATEGORIA = @Kategoria " +
                        "AND POZIOMY.POZIOM = @Poziom";

                    cmd.Parameters.Add("@Jezyk", System.Data.SqlDbType.NVarChar).Value     = slowka.Jezyk;
                    cmd.Parameters.Add("@Kategoria", System.Data.SqlDbType.NVarChar).Value = slowka.Kategoria;
                    cmd.Parameters.Add("@Poziom", System.Data.SqlDbType.NVarChar).Value    = slowka.Poziom;

                    using (var dr = cmd.ExecuteReader())
                    {
                        listaSlowek = new List <Slowka>();
                        while (dr.Read())
                        {
                            listaSlowek.Add(new Slowka {
                                Slowko      = (string)dr["SLOWKO"],
                                Tlumaczenie = (string)dr["TLUMACZENIE"]
                            });
                        }
                    }
                }
            }
            if (listaSlowek.Count == 0)
            {
                return(slowka);
            }

            indeks             = losujSlowko.Next(0, listaSlowek.Count - 1);
            slowka.Slowko      = listaSlowek[indeks].Slowko;
            slowka.Tlumaczenie = listaSlowek[indeks].Tlumaczenie;

            return(slowka);
        }
Beispiel #19
0
        private void dodaj_Click(object sender, EventArgs e)
        {
            string nazwa        = nazwaSesjiTextbox.Text;
            bool   czynazwaok   = true;
            string godzinaR     = godzinaRTextbox.Text;
            string godzinaZ     = godzinaZTextbox.Text;
            string minutaR      = minutaRTextbox.Text;
            string minutaZ      = minutaZTextbox.Text;
            int    IgodzinaR    = 0;
            int    IgodzinaZ    = 0;
            int    IminutaR     = 0;
            int    IminutaZ     = 0;
            Regex  g            = new Regex(@"^[0-9]{1,2}$");
            Regex  m            = new Regex(@"^[0-9]{2}$");
            bool   czygodzinaok = true;

            if (nazwa == "")
            {
                zledane.Text = "Podaj nazwę sesji!";
                czynazwaok   = false;
            }
            if (g.IsMatch(godzinaR) && g.IsMatch(godzinaZ) && m.IsMatch(minutaR) && m.IsMatch(minutaZ))
            {
                IgodzinaR = Convert.ToInt32(godzinaR);
                IgodzinaZ = Convert.ToInt32(godzinaZ);
                IminutaR  = Convert.ToInt32(minutaR);
                IminutaZ  = Convert.ToInt32(minutaZ);
                if (IgodzinaR > 24)
                {
                    zledane.Text = "Godzina wpisana nieprawidłowo";
                    czygodzinaok = false;
                }
                if (IgodzinaZ > 24)
                {
                    zledane.Text = "Godzina wpisana nieprawidłowo";
                    czygodzinaok = false;
                }
                if (IminutaR > 60)
                {
                    zledane.Text = "Godzina wpisana nieprawidłowo";
                    czygodzinaok = false;
                }
                if (IminutaZ > 60)
                {
                    zledane.Text = "Godzina wpisana nieprawidłowo";
                    czygodzinaok = false;
                }
                if (IgodzinaR > IgodzinaZ || ((IgodzinaR == IgodzinaZ && IminutaR > IminutaZ)))
                {
                    zledane.Text = "Godzina wpisana nieprawidłowo";
                    czygodzinaok = false;
                }
                if (IgodzinaR == IgodzinaZ && IminutaR == IminutaZ)
                {
                    zledane.Text = "Godzina rozpoczęcia identyczna z godziną zakończenia.";
                    czygodzinaok = false;
                }
            }
            else
            {
                zledane.Text = "Godzina wpisana nieprawidłowo";
                czygodzinaok = false;
            }

            if (czygodzinaok && czynazwaok)
            {
                Sesja sesja = new Sesja(nazwa, IgodzinaR, IminutaR, IgodzinaZ, IminutaZ);
                listasesji.Add(sesja);
                WypiszSesje(sesja);
                WyczyscTexty();
            }
        }