Esempio n. 1
0
        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;
            }
        }
Esempio n. 2
0
        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;
            }
        }