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."); } }
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(); } } }