Esempio n. 1
0
        // Edit/Delete.
        #region Edit.
        private void EditButton_Click(object sender, EventArgs e)
        {
            if (LoginsBox.Text == "")
            {
                Logins_Validation.Text = "Select Login";
                return;
            }

            ResetPasswordButton.Visible = false;
            DeleteButton.Visible        = false;
            Logins_Validation.Text      = "";
            EditPanel.Visible           = true;
            LoginsBox.Enabled           = false;
            EditButton.Visible          = false;

            ManagerInformation = UserService.GetInformation(LoginsBox.Text);

            NameBoxEdit.Text       = ManagerInformation.Name;
            SurnameBoxEdit.Text    = ManagerInformation.Surname;
            PatronymicBoxEdit.Text = ManagerInformation.Patronymic;
            LoginBoxEdit.Text      = ManagerInformation.Login;
            if (RoleEditBox.Items.Count == 0)
            {
                RoleEditBox.Items.AddRange(new string[] { "admin", "user" });
            }
            RoleEditBox.SelectedItem          = ManagerInformation.Role;
            NameBoxEdit_Validation.Text       = "";
            SurnameBoxEdit_Validation.Text    = "";
            PatronymicBoxEdit_Validation.Text = "";
            LoginBoxEdit_Validation.Text      = "";
            Edit_Validation.Text = "";
        }
Esempio n. 2
0
        public string EditUser(DTOEditViewModel dtoEditViewModel)
        {
            var userCurrent = Database.GetManager(dtoEditViewModel.Login);

            if (userCurrent != null)
            {
                Manager user;
                if (dtoEditViewModel.NewLogin != null)
                {
                    user = Database.GetManager(dtoEditViewModel.NewLogin);
                    if (user != null)
                    {
                        return("User with the same Login already exists.");
                    }
                }

                user = Database.GetManager(dtoEditViewModel.Name, dtoEditViewModel.Surname, dtoEditViewModel.Patronymic);

                if (user != null && user.UserName != userCurrent.UserName)
                {
                    return("User with the same Name, Surname, Patronymic already exists.");
                }

                userCurrent.Name       = dtoEditViewModel.Name;
                userCurrent.Surname    = dtoEditViewModel.Surname;
                userCurrent.Patronymic = dtoEditViewModel.Patronymic;
                if (dtoEditViewModel.NewLogin != null)
                {
                    userCurrent.UserName = dtoEditViewModel.NewLogin;
                }
                var roleOld = Database.UserManager.GetRoles(userCurrent.Id).First();
                if (roleOld != dtoEditViewModel.Role)
                {
                    if (dtoEditViewModel.Role == "admin")
                    {
                        userCurrent.LockoutEnabled = false;
                    }
                    else    //user
                    {
                        userCurrent.LockoutEnabled = true;
                    }
                    Database.UserManager.RemoveFromRole(userCurrent.Id, roleOld);
                    Database.UserManager.AddToRole(userCurrent.Id, dtoEditViewModel.Role);
                }
                Database.SaveUserAsync(userCurrent, EntityState.Modified);
                return(null);
            }
            return("Close this window and reset program.");
        }
Esempio n. 3
0
        public DTOEditViewModel GetInformation(string login)
        {
            var userCurrent = Database.GetManager(login);

            if (userCurrent != null)
            {
                string           role             = Database.UserManager.GetRoles(userCurrent.Id).First();
                DTOEditViewModel dtoEditViewModel = new DTOEditViewModel
                {
                    Name       = userCurrent.Name,
                    Surname    = userCurrent.Surname,
                    Patronymic = userCurrent.Patronymic,
                    Login      = userCurrent.UserName,
                    Role       = role
                };
                return(dtoEditViewModel);
            }
            return(null);
        }
Esempio n. 4
0
        private void EditButton_OK_Click(object sender, EventArgs e)
        {
            if (NameBoxEdit_Validation.Text == "" && SurnameBoxEdit_Validation.Text == "" && PatronymicBoxEdit_Validation.Text == "" && LoginBoxEdit_Validation.Text == "")
            {
                if (NameBoxEdit.Text == ManagerInformation.Name && SurnameBoxEdit.Text == ManagerInformation.Surname &&
                    PatronymicBoxEdit.Text == ManagerInformation.Patronymic && LoginBoxEdit.Text == ManagerInformation.Login && RoleEditBox.Text == ManagerInformation.Role)
                {
                    Edit_Validation.Text = "User wasn`t edited";
                    return;
                }
                DTOEditViewModel dtoEditViewModel = new DTOEditViewModel
                {
                    Name       = NameBoxEdit.Text,
                    Surname    = SurnameBoxEdit.Text,
                    Patronymic = PatronymicBoxEdit.Text,
                    Login      = ManagerInformation.Login,
                    Role       = RoleEditBox.Text
                };
                if (LoginBoxEdit.Text != ManagerInformation.Login)
                {
                    dtoEditViewModel.NewLogin = LoginBoxEdit.Text;
                }

                string responce = UserService.EditUser(dtoEditViewModel);
                if (responce == null)
                {
                    MessageBox.Show("User edited");

                    if (LoginBoxEdit.Text != ManagerInformation.Login)
                    {
                        var loginsBoxItems = (List <string>)LoginsBox.DataSource;
                        LoginsBox.DataSource = null;
                        loginsBoxItems[loginsBoxItems.IndexOf(ManagerInformation.Login)] = LoginBoxEdit.Text;
                        LoginsBox.DataSource = loginsBoxItems;
                    }
                    EditButton_Cancel.PerformClick();

                    return;
                }
                Edit_Validation.Text = responce;
            }
        }