private void AddBtn_Click(object sender, EventArgs e) { try { var newUserForm = new NewUserForm(); newUserForm.LevelAccesComboBox.DataSource = db.data.Rules.ToList(); newUserForm.LevelAccesComboBox.ValueMember = "RuleId"; newUserForm.LevelAccesComboBox.DisplayMember = "LevelAccess"; int numUsers; do { DialogResult result = newUserForm.ShowDialog(this); if (result == DialogResult.Cancel) { return; } if (newUserForm.LoginTextBox.Text.Trim() == "" || newUserForm.FullNameTextBox.Text.Trim() == "" || newUserForm.PasswordTextBox.Text.Trim() == "") { MessageBox.Show("Усі поля повинні бути заповнені!"); continue; } string newLogin = newUserForm.LoginTextBox.Text; numUsers = db.data.Users.Where(u => u.Login == newLogin).Count(); if (numUsers == 1) { MessageBox.Show("Такий логін вже існує! Спробуйте інший."); continue; } else { break; } } while (true); User newUser = new User(); newUser.Login = newUserForm.LoginTextBox.Text; newUser.Password = newUserForm.PasswordTextBox.Text; newUser.Rule_ref = Int32.Parse(newUserForm.LevelAccesComboBox.SelectedValue.ToString()); newUser.FullName = newUserForm.FullNameTextBox.Text; db.data.Users.Add(newUser); db.data.SaveChanges(); } catch (Exception exception) { MessageBox.Show("Some error occured: " + exception.Message + " - " + exception.Source); throw; } }
private void AlertBtn_Click(object sender, EventArgs e) { try { if (dataGridView1.SelectedRows.Count > 0) { int index = dataGridView1.SelectedRows[0].Index; int id = 0; bool converted = Int32.TryParse(dataGridView1[0, index].Value.ToString(), out id); if (!converted) { return; } User user = db.data.Users.Find(id); var newUserForm = new NewUserForm(); newUserForm.LevelAccesComboBox.DataSource = db.data.Rules.ToList(); newUserForm.LevelAccesComboBox.ValueMember = "RuleId"; newUserForm.LevelAccesComboBox.DisplayMember = "LevelAccess"; newUserForm.LoginTextBox.Text = user.Login; newUserForm.PasswordTextBox.Text = user.Password; newUserForm.LevelAccesComboBox.SelectedValue = user.Rule.RuleId; newUserForm.FullNameTextBox.Text = user.FullName; int numUsers; do { DialogResult result = newUserForm.ShowDialog(this); if (result == DialogResult.Cancel) { return; } if (newUserForm.LoginTextBox.Text.Trim() == "" || newUserForm.FullNameTextBox.Text.Trim() == "" || newUserForm.PasswordTextBox.Text.Trim() == "") { MessageBox.Show("Усі поля повинні бути заповнені!"); continue; } string newLogin = newUserForm.LoginTextBox.Text; numUsers = db.data.Users.Where(u => u.Login == newLogin && u.UserId != user.UserId).Count(); if (numUsers == 1) { MessageBox.Show("Такий логін вже існує! Спробуйте інший."); continue; } else { break; } } while (true); user.Login = newUserForm.LoginTextBox.Text; user.Password = newUserForm.PasswordTextBox.Text; user.Rule_ref = Int32.Parse(newUserForm.LevelAccesComboBox.SelectedValue.ToString()); user.FullName = newUserForm.FullNameTextBox.Text; db.data.Entry(user).State = EntityState.Modified; try { db.data.SaveChanges(); } catch (DbEntityValidationException ex) { string exepiton = ""; foreach (DbEntityValidationResult validationError in ex.EntityValidationErrors) { exepiton += "Object: " + validationError.Entry.Entity.ToString(); exepiton += "\n\n"; Console.WriteLine(""); foreach (DbValidationError err in validationError.ValidationErrors) { exepiton += err.ErrorMessage + ""; } } MessageBox.Show(exepiton); } dataGridView1.Refresh(); } } catch (Exception exception) { MessageBox.Show("Some error occured: " + exception.Message + " - " + exception.Source); throw; } }