Beispiel #1
0
 private void buttonSave_Click(object sender, EventArgs e)
 {
     if (CheckFields.CheckIfFieldsIsNotEmpty(this))
     {
         var email = textBoxEmail.Text;
         if (CheckFields.IsValidEmail(email))
         {
             using (var session = new Session1Entities())
             {
                 if (session.Users.Where(u => u.Email == email).FirstOrDefault() == null)
                 {
                     var newUser = new User()
                     {
                         ID        = Utilities.GetLastUserID() + 1,
                         Email     = textBoxEmail.Text,
                         FirstName = textBoxFirstName.Text,
                         LastName  = textBoxLastName.Text,
                         OfficeID  = int.Parse(comboBoxOffice.SelectedValue.ToString()),
                         Birthdate = dateTimePickerBirthdate.Value,
                         Password  = Hash.MakeMd5(textBoxPassword.Text),
                         RoleID    = 2,
                         Active    = true
                     };
                     session.Users.Add(newUser);
                     try
                     {
                         session.SaveChanges();
                         adminMainForm.SetDatagridView();
                         ClearFields.ClearTextBoxes(this);
                         dateTimePickerBirthdate.ResetText();
                     }
                     catch (DbEntityValidationException ex)
                     {
                         var errorMessages    = ex.EntityValidationErrors.SelectMany(x => x.ValidationErrors).Select(x => x.ErrorMessage);
                         var fullErrorMessage = string.Join("\n", errorMessages);
                         var exceptionMessage = $"Error : {fullErrorMessage}";
                         MessageBox.Show(exceptionMessage);
                     }
                 }
                 else
                 {
                     MessageBox.Show("Please enter another email :\nThat email is already used by another user");
                 }
             }
         }
         else
         {
             MessageBox.Show("Please Enter a valid email.");
         }
     }
     else
     {
         MessageBox.Show("Please fill all of the fields first.");
     }
 }
Beispiel #2
0
        private void buttonLogin_Click(object sender, EventArgs e)
        {
            string username = textBoxUsername.Text;
            string password = textBoxPassword.Text;

            password = Hash.MakeMd5(password);
            using (var session = new Session1Entities())
            {
                var query = session.Users.Where(u => u.Email == username && u.Password == password);

                var result = query.FirstOrDefault();
                if (result != null)
                {
                    if (result.Active == true)
                    {
                        // Login Success
                        // Administrator = 1, User = 2
                        if (result.RoleID == 1)
                        {
                            var admin = new AdminMainForm();
                            // So that if AdminMainForm closed, LoginForm will open again

                            Hide();
                            admin.ShowDialog();
                            Show();
                        }
                        else
                        {
                            var user = new UserMainForm($"{result.FirstName} {result.LastName}", result.ID);
                            // So that if UserMainForm closed, LoginForm will open again

                            Hide();
                            var timeNow = DateTime.Now.TimeOfDay;
                            session.Activities.Add(new Activity {
                                UserID = result.ID, Date = DateTime.Now.Date, LoginTime = new TimeSpan(timeNow.Hours, timeNow.Minutes, timeNow.Seconds)
                            });
                            session.SaveChanges();
                            user.ShowDialog();
                            Show();
                        }

                        ClearFields.ClearTextBoxes(this);
                        failedLoginAttempt = 0;
                    }
                    else
                    {
                        MessageBox.Show("User suspended by Administrator!");
                        failedLoginAttempt++;
                        CheckLoginAttempt();
                    }
                }
                else
                {
                    // Login Failed

                    MessageBox.Show("Wrong Username or Password!");
                    failedLoginAttempt++;
                    CheckLoginAttempt();
                }
            }
        }