コード例 #1
0
        private void BtnAdminAbort_Click(object sender, EventArgs e)
        {
            //Om du avbryter så döljs fönstret
            this.Hide();
            //En ny instans av AdminControl skapas
            AdminControl admin = new AdminControl();

            //Detta fönster visas
            admin.ShowDialog();
        }
コード例 #2
0
        //Metod som kallas när man klickar på registrera medlem
        private void BtnAdminRegister_Click(object sender, EventArgs e)
        {
            //Här deklarerar jag en variabel för connectionstring som kan ses som en address till databasen.
            string connectionString = ConfigurationManager.ConnectionStrings["TRF.Properties.Settings.TRFMembersConnectionString"].ConnectionString;
            //Jag börjar med att deklarera min sql-query i en variabel då den är lite längre.
            //Översätter man queryn så står det i stort sätt: Lägg till i tabellen Members med värdena (variablar) i den ordning man deklarerat dom
            string query = "INSERT INTO Members VALUES (@FirstName, @LastName, @Address, @Email, @UserName, @Password)";

            //Här skapas en ny instans av en sql uppkoppling med hjälp av connectionstringen jag deklarerade tidigare.
            using (SqlConnection connection = new SqlConnection(connectionString))
                //Här skapas en ny instans av en sql data adapter där som tar hand om kommunikationen med databasen.
                //Detta görs med att först mata in ett command till databasen med hjälp av en SQL query, och även vilken uppkoppling som ska användas.
                using (SqlCommand command = new SqlCommand(query, connection))
                {
                    //Eftersom man ska intoducera data till databasen så måste man öppna kopplingen manuellt.
                    connection.Open();

                    //Deklarerar ett antal variabler med den inmatade informationen om den nya medlemen.
                    string FName = TxtAdminAddFirstName.Text;
                    string LName = TxtAdminAddLastName.Text;
                    string Addr  = TxtAdminAddAddress.Text;
                    string Email = TxtAdminAddEmail.Text;
                    string UName = TxtAdminAddUserName.Text;
                    string Pass  = TxtAdminAddPass.Text;

                    //En if-sats som ska utesluta att något av fälten är tomt.
                    if (FName == "" || LName == "" || Addr == "" || Email == "" || UName == "" || Pass == "")
                    {
                        //Om något av fälten är tomt så kommer en varning visas.
                        MessageBox.Show("Alla fält måste fyllas i!");
                    }
                    //Om alla fälten är ifyllda
                    else
                    {
                        //Skickas variablarna in i sql kommandot.
                        command.Parameters.AddWithValue("@FirstName", FName);
                        command.Parameters.AddWithValue("@LastName", LName);
                        command.Parameters.AddWithValue("@Address", Addr);
                        command.Parameters.AddWithValue("@Email", Email);
                        command.Parameters.AddWithValue("@UserName", UName);
                        command.Parameters.AddWithValue("@Password", Pass);

                        command.ExecuteScalar();

                        //När allt är klart så döljs fönstret
                        this.Hide();
                        //En ny instans av AdminControl skapas
                        AdminControl admin = new AdminControl();
                        //Detta fönster visas
                        admin.ShowDialog();
                    }
                }
        }
コード例 #3
0
        public void BtnAdminAddTiger_Click(object sender, EventArgs e)
        {
            string connectionString = ConfigurationManager.ConnectionStrings["TRF.Properties.Settings.TRFMembersConnectionString"].ConnectionString;
            string query            = "INSERT INTO Tigers VALUES (@OwnerId, @Name, @Age, @Species)";


            using (SqlConnection connection = new SqlConnection(connectionString))
                using (SqlCommand command = new SqlCommand(query, connection))
                {
                    connection.Open();
                    string Name = TxtAdminAddTigerName.Text;
                    int    Age  = 0;
                    //Omvandlar inmatad ålder till int
                    int.TryParse(TxtAdminAddTigerAge.Text, out Age);
                    string Species = TxtAdminAddSpecies.Text;
                    int    OwnerId = 0;
                    //Omvandlar inmatad OwnerId till int
                    int.TryParse(TxtAdminAddOwnerId.Text, out OwnerId);

                    //Om något av fälten är tomma:
                    if (Name == "" || Species == "" || Age == 0 || OwnerId == 0)
                    {
                        //Varning
                        MessageBox.Show("Alla fält måste fyllas i!");
                    }
                    //Om det inte går att omvandla åler och OwnerId till int
                    else if (!int.TryParse(TxtAdminAddTigerAge.Text, out Age) || !int.TryParse(TxtAdminAddOwnerId.Text, out OwnerId))
                    {
                        //Varning
                        MessageBox.Show("Du måste mata in ett tal som ålder!");
                    }
                    //Om allt är som det ska.
                    else
                    {
                        //Lägger till värderna i query
                        command.Parameters.AddWithValue("@Name", Name);
                        command.Parameters.AddWithValue("@Age", Age);
                        command.Parameters.AddWithValue("@Species", Species);
                        command.Parameters.AddWithValue("@OwnerId", OwnerId);

                        command.ExecuteScalar();

                        //Döljer och visar admin control igen.
                        this.Hide();
                        AdminControl newadmin = new AdminControl();
                        newadmin.ShowDialog();
                    }
                }
        }
コード例 #4
0
ファイル: Login.cs プロジェクト: mgranberg/TRF
        //Login Metoden
        private void LoginMethod()
        {
            //Hämtar användarnamn och lösenord och sparar dom i variablar
            string username = this.TxtLoginUserName.Text;
            string pass     = this.TxtLoginPass.Text;

            //Om Användarnamn och lösen är tomma
            if (username == "" && username == "")
            {
                //Varning
                MessageBox.Show("Du måste fylla i båda fälten för att logga in!");
            }
            //Om Användarnamn är tomt
            else if (username == "" && pass != "")
            {
                //Varning
                MessageBox.Show("Du måste mata in ett användarnamn!");
            }
            //Om Lösen är tomt
            else if (pass == "" && username != "")
            {
                //Varning
                MessageBox.Show("Du måste mata in ett lösenord!");
            }
            //Om Användarnamn är admin (versaler är obetydliga då jag använder mig av string.ToLower(); som gör strängen till gemener.
            else if (username.ToLower() == "admin")
            {
                //Om lösen är Admin123 (Exakt matchning viktig)
                if (pass == "Admin123")
                {
                    //Göm detta fönster och skapa AdminControl och öppna det.
                    this.Hide();
                    AdminControl admin = new AdminControl();
                    admin.ShowDialog();
                }
                //Om lösenordet är fel
                else
                {
                    //Varning
                    MessageBox.Show("Du försöker logga in som administratör men har matat in ett felaktigt lösenord.");
                }
            }
            //Om en medlem försöker logga in:
            else
            {
                //Denna query söker efter medlemar som matchar det inmatade användarnamnet. LOWER() betyder att versaler inte kommer påverka
                string query = "SELECT * FROM Members WHERE LOWER(UserName) = LOWER(@UserName)";

                //Här skapas en uppkoppling mot databasen med hjälp av connectionsträngen som skapades tidigare.
                using (SqlConnection connection = new SqlConnection(connectionString))
                    using (SqlCommand command = new SqlCommand(query, connection))
                        using (SqlDataAdapter adapter = new SqlDataAdapter(command))
                        {
                            //Här matar vi in data i variabeln för sql queryn
                            command.Parameters.AddWithValue("@UserName", TxtLoginUserName.Text);
                            //Skapar ett nytt datatable
                            DataTable dt = new DataTable();
                            //Adaptern fyller datatablet med den hämtade datan
                            adapter.Fill(dt);

                            //Om det fanns en användare med samma UserName så körs detta kodblock (Vilket betyder att det finns en rad i tabellen (Användaren man matchat med) )
                            if (dt.Rows.Count == 1)
                            {
                                //Skapar en datarow med den första raden (Borde också vara den enda)
                                DataRow dr = dt.Rows[0];

                                //När man hittat en användare så kollar man om lösenordet stämmer med kolumn nr 6 vilket motsvarar Pass. Här letar man efter en exakt matchning
                                if (dr[6].ToString() == TxtLoginPass.Text)
                                {
                                    //Om allt stämmer så loggas man in
                                    MessageBox.Show("Du har loggat in som " + TxtLoginUserName.Text);
                                    this.Hide();
                                    MemberControl mc = new MemberControl();
                                    mc.MemberId(dr[0]);
                                    mc.ShowDialog();
                                }
                                //Om lösenordet är fel
                                else
                                {
                                    //Varning!
                                    MessageBox.Show("Felaktigt lösenord!");
                                }
                            }
                            //Om mot all förmodan sökningen skulle resultera i fler rader.
                            //Alltså fler användare med samma användarnamn.
                            //Detta ska inte gå att skapa men någon som har tillgång till databasen skulle kunna lägga till det manuellt
                            //Detta är bara en extra säkerhetsåtgärd
                            else if (dt.Rows.Count > 1)
                            {
                                //Varning!, kontakta admin då denna kan radera eller ändra användarnamn
                                MessageBox.Show("Det har blivit något fel och det finns fler användare med det användarnamnet. Kontakta adminitratören för hjälp!");
                            }
                            //Om användarnamnet inte hittas
                            else
                            {
                                //Varning
                                MessageBox.Show("Användarnamnet finns inte!");
                            }
                        }
            }
        }