private void button3_Click(object sender, EventArgs e)
        {
            if (textBox7.Text == "")
            {
                MessageBox.Show("Вы не заполнили поле 'Логин'", "", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return;
            }
            if (textBox8.Text == "")
            {
                MessageBox.Show("Вы не заполнили поле 'Пароль'", "", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return;
            }
            if (comboBox3.Text == "")
            {
                MessageBox.Show("Вы не заполнили поле 'Должность'", "", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return;
            }
            if (BridgeToBD.ListUser.Any(it => String.Equals(it.Login, textBox7.Text, StringComparison.OrdinalIgnoreCase))) // it need case insensitive
            {
                MessageBox.Show("Пользователь с таким логином уже существует", "", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return;
            }
            int      id_role = BridgeToBD.ListUserRole.First(it => it.Role.ToString() == comboBox3.Text).ID;
            UserShop us      = new UserShop()
            {
                Login = textBox7.Text, Passwword = hashPassword, IDrole = id_role
            };

            BridgeToBD.SaveUserShopToBD(us, BridgeToBD.ChoiceBD);
            UsersViewReload();
        }
 public static void SaveUserShopToXML(UserShop user)
 {
     LoadUserShopFromXML();
     if (ListUser.Any(it => it.ID == user.ID))
     {
         ListUser.First(it => it.ID == user.ID).Login     = user.Login;
         ListUser.First(it => it.ID == user.ID).Passwword = user.Passwword;
         ListUser.First(it => it.ID == user.ID).IDrole    = user.IDrole;
     }
     else
     {
         user.ID = ListUser.Last().ID + 1;
         ListUser.Add(user);
     }
     try
     {
         var xmlReader = new XmlSerializer(typeof(List <UserShop>));
         using (var stream = File.Create(PathFileUsers))
         {
             xmlReader.Serialize(stream, ListUser);
         }
     }
     catch (Exception)
     {
         MessageBox.Show("Ошибка записи списка пользователей", "ошибка", MessageBoxButtons.OK,
                         MessageBoxIcon.Error);
     }
 }
 public static void SaveUserShopToSQL(UserShop usShop)
 {
     using (var conn = new SqlConnection(ConnectionString))
     {
         LoadUserShopFromSql();
         conn.Open();
         SqlCommand comm = conn.CreateCommand();
         comm.CommandType = CommandType.StoredProcedure;
         comm.Parameters.Add("@id", SqlDbType.Int).Value            = usShop.ID;
         comm.Parameters.Add("@login", SqlDbType.NVarChar).Value    = usShop.Login;
         comm.Parameters.Add("@password", SqlDbType.NVarChar).Value = usShop.Passwword;
         comm.Parameters.Add("@id_role", SqlDbType.Int).Value       = usShop.IDrole;
         comm.CommandText = (ListUser.Any(it => it.ID == usShop.ID)) ? "ai_update_users" : "ai_insert_users";
         comm.ExecuteNonQuery();
     }
 }
 public static void SaveUserShopToEntity(UserShop user)
 {
     LoadUserShopFromEntity();
     EntityLibrary.Users us = new EntityLibrary.Users();
     us.id        = user.ID;
     us.Login     = user.Login;
     us.Passwword = user.Passwword;
     us.idRole    = user.IDrole;
     if (ListUser.Any(it => it.ID == user.ID))
     {
         UpdateUsersToEntity(us);
     }
     else
     {
         InsertUsersToEntity(us);
     }
 }
        public static void SaveUserShopToBD(UserShop us, TypeBD typeBD)
        {
            switch (typeBD)
            {
            case TypeBD.XML:
                SaveUserShopToXML(us);
                break;

            case TypeBD.SQL:
                SaveUserShopToSQL(us);
                break;

            case TypeBD.Entity:
                SaveUserShopToEntity(us);
                break;

            default:
                MessageBox.Show("ERROR typeBD");
                break;
            }
        }
        private void button5_Click(object sender, EventArgs e)
        {
            if (listView1.SelectedItems.Count == 0)
            {
                MessageBox.Show("Ни один пользователь не выбран", "", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return;
            }
            BridgeToBD.LoadUserShopFromDB(BridgeToBD.ChoiceBD);
            int us_role_manager = BridgeToBD.ListUserRole.First(it => it.Role.ToString() == "Manager").ID;

            if (BridgeToBD.ListUser.Count(it => it.IDrole == us_role_manager) <= 1 && listView1.SelectedItems[0].SubItems[1].Text == "Manager")
            {
                MessageBox.Show("Редактирование единственного пользователя Менеджер невозможно!", "", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return;
            }
            if (textBox7.Text == "")
            {
                MessageBox.Show("Вы не заполнили поле 'Логин'", "", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return;
            }
            if (textBox8.Text == "")
            {
                MessageBox.Show("Вы не заполнили поле 'Пароль'", "", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return;
            }
            if (comboBox3.Text == "")
            {
                MessageBox.Show("Вы не заполнили поле 'Должность'", "", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return;
            }
            string   currentLogin = listView1.SelectedItems[0].SubItems[0].Text;
            UserShop user         = BridgeToBD.ListUser.First(it => it.Login == currentLogin);

            user.Login     = textBox7.Text;
            user.Passwword = hashPassword;
            user.IDrole    = BridgeToBD.ListUserRole.First(it => it.Role.ToString() == comboBox3.Text).ID;
            BridgeToBD.SaveUserShopToBD(user, BridgeToBD.ChoiceBD);
            UsersViewReload();
        }
 public static void LoadUserShopFromSql()
 {
     using (var conn = new SqlConnection(ConnectionString))
     {
         conn.Open();
         string     sql = @"select * from Users";
         SqlCommand com = new SqlCommand(sql, conn);
         using (SqlDataReader rdr = com.ExecuteReader())
         {
             ListUser.Clear();
             while (rdr.Read())
             {
                 UserShop us = new UserShop();
                 us.ID        = Int32.Parse(rdr[0].ToString());
                 us.Login     = rdr[1].ToString();
                 us.Passwword = rdr[2].ToString();
                 us.IDrole    = Int32.Parse(rdr[3].ToString());
                 ListUser.Add(us);
             }
         }
     }
 }