/// <summary> /// Создает элемент списка, соответствующий пользователю /// </summary> /// <param name="user">Данные пользователя</param> private ListViewItem CreateUserItem(UserData user) { ListViewItem item = new ListViewItem(user.Name); item.ImageIndex = user.SecurityGroup == CashSecurityGroup.Cashier ? 1 : 0; item.Tag = user; lvUsers.Items.Add(item); return item; }
/// <summary> /// Удаление пользователя /// </summary> /// <param name="user">Пользователь</param> /// <param name="connection">Соединение</param> /// <param name="transaction">Транзакция</param> public static void Delete(UserData user, FbConnection connection, FbTransaction transaction) { // создаем команду using (FbCommand command = new FbCommand("delete from users where id = @id", connection, transaction)) { // параметры команды command.Parameters.Add("@id", user.Id); // выполняем команду command.ExecuteNonQuery(); } }
/// <summary> /// Проверка существования записи в базе /// </summary> /// <param name="user">Пользователь</param> /// <param name="connection">Соединение</param> /// <param name="transaction">Транзакция</param> public static Boolean Exists(UserData user, FbConnection connection, FbTransaction transaction) { // создаем команду using (FbCommand command = new FbCommand("select id from users where id = @id", connection, transaction)) { // параметры команды command.Parameters.Add("@id", user.Id); // выполняем команду using (FbDataReader reader = command.ExecuteReader()) { // возвращаем результат поиска return reader.Read(); } } }
/// <summary> /// Добавление пользователя /// </summary> /// <param name="user">Пользователь</param> /// <param name="connection">Соединение</param> /// <param name="transaction">Транзакция</param> public static void Insert(UserData user, FbConnection connection, FbTransaction transaction) { // текст команды StringBuilder commandText = new StringBuilder(); commandText.Append("insert into users values "); commandText.Append("(@id, @name, @password, @group, @can_close, @cashier_mode_only)"); // создаем команду using (FbCommand command = new FbCommand(commandText.ToString(), connection, transaction)) { // параметры command.Parameters.Add("@id", user.Id); command.Parameters.Add("@name", user.Name); command.Parameters.Add("@password", user.Password); command.Parameters.Add("@group", (Int32)user.SecurityGroup); command.Parameters.Add("@can_close", user.CanClose ? 1 : 0); command.Parameters.Add("@cashier_mode_only", user.CashierModeOnly ? 1 : 0); // выполняем команду command.ExecuteNonQuery(); } }
private void OnNewUser(object sender, EventArgs e) { // создаем нового пользователя UserData user = new UserData( NewUserId, String.Format("Пользователь{0}", NewUserId), String.Empty, CashSecurityGroup.Cashier, true, false); // добавляем его в список _users.Add(user); CreateUserItem(user).Selected = true; }
/// <summary> /// Обновление сведений о пользователе /// </summary> /// <param name="user">Пользователь</param> /// <param name="connection">Соединение</param> /// <param name="transaction">Транзакция</param> public static void Update(UserData user, FbConnection connection, FbTransaction transaction) { // текст команды StringBuilder commandText = new StringBuilder(); commandText.Append("update users set "); commandText.Append("name = @name, user_password = @password, "); commandText.Append("security_group = @group, can_close = @can_close, "); commandText.Append("cashier_mode_only = @cashier_mode_only "); commandText.Append("where id = @id"); // создаем команду using (FbCommand command = new FbCommand(commandText.ToString(), connection, transaction)) { // параметры command.Parameters.Add("@id", user.Id); command.Parameters.Add("@name", user.Name); command.Parameters.Add("@password", user.Password); command.Parameters.Add("@group", (Int32)user.SecurityGroup); command.Parameters.Add("@can_close", user.CanClose ? 1 : 0); command.Parameters.Add("@cashier_mode_only", user.CashierModeOnly ? 1 : 0); // выполняем команду command.ExecuteNonQuery(); } }