예제 #1
0
 //Кнопка "Изменить пароль" во вкладке управления пользователями
 private void ChangePassword_btn_Click(object sender, EventArgs e)
 {
     if ((NewPassword1_textBox.Text != string.Empty) | (NewPassword2_textBox.Text != string.Empty))
     {
         if (NewPassword1_textBox.Text == NewPassword2_textBox.Text)
         {
             SqlServer sql = new SqlServer();
             string sqlQuery = string.Format("UPDATE [Users] SET Password = N'{0}' WHERE Id = {1}", NewPassword1_textBox.Text, Users_comboBox.SelectedValue);
             sql.ExcuteDataNonQuery(sqlQuery);
             MessageBox.Show("Пароль успешно изменён!", "Пароль изменен", MessageBoxButtons.OK, MessageBoxIcon.Information);
         }
         else
             MessageBox.Show("Пароли не совпадают!", "Ошибка смены пароля", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
     }
     else
         MessageBox.Show("Пароль не может быть пустым!", "Ошибка смены пароля", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
 }
예제 #2
0
        //Редактирование планирования
        private void EditPlaning()
        {
            SqlServer sql = new SqlServer();
            string upd_pln_id = string.Empty;
            int upd_pln_index = -1;
            try
            {
                //Id дохода выбранной строки
                upd_pln_id = Planing_dgv.CurrentRow.Cells["Номер"].Value.ToString();
                //Номер выбранной строки
                upd_pln_index = Planing_dgv.CurrentRow.Index;
            }
            catch
            {
                MessageBox.Show("Не удалось отредактировать данные!", "Ошибка сохранения изменений", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            //Номер ячейки
            int cell = 2;

            //Поиск категории у пользователя
            string sqlQuery = string.Format("SELECT cat.Id FROM [Categories] AS cat WHERE cat.Name = N'{0}' AND cat.User_id = {1}", Planing_dgv.Rows[upd_pln_index].Cells[cell].Value.ToString(), Name_comboBox.SelectedValue);
            var cat_id = sql.ExcuteData(sqlQuery);
            //Если категория найдена у текущего пользователя
            if (cat_id.Rows.Count != 0)
            {
                string Month = Planing_dgv.Rows[upd_pln_index].Cells[cell + 1].Value.ToString();
                string Year = Planing_dgv.Rows[upd_pln_index].Cells[cell + 2].Value.ToString();
                string Value = Planing_dgv.Rows[upd_pln_index].Cells[cell + 3].Value.ToString().Replace(",", ".");

                //Поиск уже существующего планирования у пользователя
                sqlQuery = string.Format("SELECT * FROM [Planings] WHERE Category_id = '{0}' AND Month = '{1}' AND Year = '{2}' AND User_id = '{3}'",
                                    cat_id.Rows[0][0], Month, Year, Name_comboBox.SelectedValue);
                var plan = sql.ExcuteData(sqlQuery);
                //Если планирование уже задано, выводим сообщение об ошибке
                if (plan.Rows.Count != 0)
                {
                    MessageBox.Show("У выбранного пользователя такое планирование уже задано!" + Environment.NewLine + "Строка " + (upd_pln_index + 1).ToString() + " не обновлена!", "Ошибка сохранения изменений", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    return;
                }
                //Иначе обновляем строку в БД
                else
                {
                    sqlQuery = string.Format("UPDATE [Planings] SET Category_id = '{0}', Month = '{1}', Year = '{2}', Value = '{3}' " +
                                        "WHERE Id = '{4}'", cat_id.Rows[0][0], Month, Year, Value, Planing_dgv.Rows[upd_pln_index].Cells[0].Value.ToString());
                    sql.ExcuteDataNonQuery(sqlQuery);
                    MessageBox.Show("Строка " + (upd_pln_index + 1).ToString() + " обновлена!", "Строка обновлена", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                }
            }
            //Иначе показываем MessageBox с ошибкой
            else
            {
                MessageBox.Show("У выбранного пользователя " + "категория " + Planing_dgv.Rows[upd_pln_index].Cells[cell].Value.ToString() + " не найдена!" + Environment.NewLine + "Строка " + (upd_pln_index + 1).ToString() + " не обновлена!", "Ошибка сохранения изменений", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return;
            }
        }
예제 #3
0
        //Редактирование доходов
        private void EditIncomes()
        {
            SqlServer sql = new SqlServer();
            string upd_inc_id = string.Empty;
            int upd_inc_index = -1;
            try
            {
                //Id дохода выбранной строки
                upd_inc_id = Incomes_dgv.CurrentRow.Cells["Номер"].Value.ToString();
                //Номер выбранной строки
                upd_inc_index = Incomes_dgv.CurrentRow.Index;
            }
            catch
            {
                MessageBox.Show("Не удалось отредактировать данные!", "Ошибка сохранения изменений", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            //Номер ячейки
            int cell = 2;

            //Поиск категории у пользователя
            string sqlQuery = string.Format("SELECT cat.Id FROM [Categories] AS cat WHERE cat.Name = N'{0}' AND cat.User_id = {1}", Incomes_dgv.Rows[upd_inc_index].Cells[cell + 1].Value.ToString(), Name_comboBox.SelectedValue);
            var cat_id = sql.ExcuteData(sqlQuery);
            //Если категория найдена у текущего пользователя, обновляем строку в БД
            if (cat_id.Rows.Count != 0)
            {
                DateTime Date = Convert.ToDateTime(Incomes_dgv.Rows[upd_inc_index].Cells[cell].Value.ToString());
                string Value = Incomes_dgv.Rows[upd_inc_index].Cells[cell + 2].Value.ToString().Replace(",", ".");
                sqlQuery = string.Format("UPDATE [Incomes] SET Date = N'{0}', Category_id = '{1}', Value = '{2}', Description = N'{3}' " +
                                    "WHERE Id = '{4}'", Date.ToString("yyyy-MM-dd"), cat_id.Rows[0][0], Value, Incomes_dgv.Rows[upd_inc_index].Cells[cell + 3].Value.ToString(), upd_inc_id);
                sql.ExcuteDataNonQuery(sqlQuery);
                MessageBox.Show("Строка " + (upd_inc_index + 1).ToString() + " обновлена!", "Строка обновлена", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
            }
            //Иначе показываем MessageBox с ошибкой
            else
            {
                MessageBox.Show("У выбранного пользователя " + "категория " + Incomes_dgv.Rows[upd_inc_index].Cells[cell + 1].Value.ToString() + " не найдена!" + Environment.NewLine + "Строка " + (upd_inc_index + 1).ToString() + " не обновлена!", "Ошибка сохранения изменений", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return;
            }
        }
예제 #4
0
        //Редактирование долгов
        private void EditDebts()
        {
            SqlServer sql = new SqlServer();
            string upd_dbt_id = string.Empty;
            int upd_dbt_index = -1;
            try
            {
                //Id расхода выбранной строки
                upd_dbt_id = Debts_dgv.CurrentRow.Cells["Номер"].Value.ToString();
                //Номер выбранной строки
                upd_dbt_index = Debts_dgv.CurrentRow.Index;
            }
            catch
            {
                MessageBox.Show("Не удалось отредактировать данные!", "Ошибка сохранения изменений", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            //Номер ячейки
            int cell = 2;

            DateTime Date = Convert.ToDateTime(Debts_dgv.Rows[upd_dbt_index].Cells[cell].Value.ToString());
            // DateTime Return_date = Convert.ToDateTime(Debts_dgv.Rows[upd_dbt_index].Cells[cell + 4].Value.ToString());
            string Value = Debts_dgv.Rows[upd_dbt_index].Cells[cell + 1].Value.ToString().Replace(",", ".");
            string Return_value = Debts_dgv.Rows[upd_dbt_index].Cells[cell + 3].Value.ToString().Replace(",", ".");

            string sqlQuery = string.Empty;

            //Если удалили дату возврата долга
            //Почему-то пишет дату 01-01-1900
            if (Debts_dgv.Rows[upd_dbt_index].Cells[cell + 4].Value.ToString() == string.Empty)
            {
                DateTime? Return_date = null;
                sqlQuery = string.Format("UPDATE [Debts] SET Date = '{0}', Value = '{1}', Description = N'{2}', Return_value = '{3}', Return_date = '{4}' " +
                    "WHERE Id = '{5}'", Date.ToString("yyyy-MM-dd"), Value, Debts_dgv.Rows[upd_dbt_index].Cells[cell + 2].Value.ToString(), Return_value, Return_date, upd_dbt_id);
            }
            else
            {
                DateTime Return_date = Convert.ToDateTime(Debts_dgv.Rows[upd_dbt_index].Cells[cell + 4].Value.ToString());
                sqlQuery = string.Format("UPDATE [Debts] SET Date = '{0}', Value = '{1}', Description = N'{2}', Return_value = '{3}', Return_date = '{4}' " +
                    "WHERE Id = '{5}'", Date.ToString("yyyy-MM-dd"), Value, Debts_dgv.Rows[upd_dbt_index].Cells[cell + 2].Value.ToString(), Return_value, Return_date.ToString("yyyy-MM-dd"), upd_dbt_id);
            }
            sql.ExcuteDataNonQuery(sqlQuery);
            MessageBox.Show("Строка " + (upd_dbt_index + 1).ToString() + " обновлена!", "Строка обновлена", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
        }
예제 #5
0
        //Редактирование категорий
        private void EditCategories()
        {
            SqlServer sql = new SqlServer();
            string upd_cat_id = string.Empty;
            int upd_cat_index = -1;
            try
            {
                //Id расхода выбранной строки
                upd_cat_id = Categories_dgv.CurrentRow.Cells["Номер"].Value.ToString();
                //Номер выбранной строки
                upd_cat_index = Categories_dgv.CurrentRow.Index;
            }
            catch
            {
                MessageBox.Show("Не удалось отредактировать данные!", "Ошибка сохранения изменений", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            if (Categories_dgv.Rows[upd_cat_index].Cells[2].Value.ToString() == string.Empty)
            {
                MessageBox.Show("Имя категории не может быть пустым!", "Ошибка сохранения изменений", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            else
            {
                //Поиск категории пользователя с заданным именем
                string sqlQuery = string.Format("SELECT Id, Name FROM [Categories] WHERE User_id = {0} AND Name = N'{1}'", Name_comboBox.SelectedValue, Categories_dgv.Rows[upd_cat_index].Cells[2].Value.ToString());
                DataTable FindCategoryTbl = sql.ExcuteData(sqlQuery);
                //Если категория найдена
                if (FindCategoryTbl.Rows.Count != 0)
                {
                    MessageBox.Show("Такая категория уже существует у пользователя!", "Ошибка редактирования", MessageBoxButtons.OK);
                    return;
                }
                else
                {
                    //Номер ячейки
                    int cell = 2;
                    sqlQuery = string.Format("UPDATE [Categories] SET Name = N'{0}' WHERE Id = {1}", Categories_dgv.Rows[upd_cat_index].Cells[cell].Value.ToString(), upd_cat_id);
                    sql.ExcuteDataNonQuery(sqlQuery);
                    MessageBox.Show("Строка " + (upd_cat_index + 1).ToString() + " обновлена!", "Строка обновлена", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                }
            }
        }
예제 #6
0
        //Кнопка удаления данных
        private void Delete_btn_Click(object sender, EventArgs e)
        {
            //Удаление данных в зависимости от вкладки
            switch (TabControl.SelectedIndex.ToString())
            {
                //Доходы
                case ("0"):
                    {
                        try
                        {
                            string del_inc_id = Incomes_dgv.CurrentRow.Cells["Номер"].Value.ToString();
                            SqlServer sql = new SqlServer();
                            if (MessageBox.Show("Вы действительно хотите удалить строку?", "Подтверждение удаления", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                            {
                                sql.ExcuteDataNonQuery(String.Format("DELETE [Incomes] WHERE Id='{0}'", del_inc_id));
                            }
                        }

                        catch
                        {
                            MessageBox.Show("Не удалось удалить данные!", "Ошибка удаления", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }

                        //Отображение обновленной таблицы доходов
                        LoadIncomes();
                        break;
                    }
                //Расходы
                case ("1"):
                    {
                        try
                        {
                            string del_cst_id = Costs_dgv.CurrentRow.Cells["Номер"].Value.ToString();
                            SqlServer sql = new SqlServer();
                            if (MessageBox.Show("Вы действительно хотите удалить строку?", "Подтверждение удаления", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                            {
                                sql.ExcuteDataNonQuery(String.Format("DELETE [Costs] WHERE Id='{0}'", del_cst_id));
                            }
                        }

                        catch
                        {
                            MessageBox.Show("Не удалось удалить данные!", "Ошибка удаления", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }
                        //Отображение обновленной таблицы расходов
                        LoadCosts();
                        break;
                    }
                //Долги
                case ("2"):
                    {
                        try
                        {
                            string del_cst_id = Debts_dgv.CurrentRow.Cells["Номер"].Value.ToString();
                            SqlServer sql = new SqlServer();
                            if (MessageBox.Show("Вы действительно хотите удалить строку?", "Подтверждение удаления", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                            {
                                sql.ExcuteDataNonQuery(String.Format("DELETE [Debts] WHERE Id='{0}'", del_cst_id));
                            }
                        }

                        catch
                        {
                            MessageBox.Show("Не удалось удалить данные!", "Ошибка удаления", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }
                        //Отображение обновленной таблицы долгов
                        LoadDebts();
                        break;
                    }
                //Планирование
                case ("3"):
                    {
                        string del_pln_id = Planing_dgv.CurrentRow.Cells["Номер"].Value.ToString();
                        SqlServer sql = new SqlServer();
                        if (MessageBox.Show("Вы действительно хотите удалить строку?", "Подтверждение удаления", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                        {
                            sql.ExcuteDataNonQuery(String.Format("DELETE [Planings] WHERE Id='{0}'", del_pln_id));
                        }
                        //Отображение обновлённой таблицы планирования
                        LoadPlaning();
                        break;
                    }
                //Категории
                case ("4"):
                    {
                        //ЕСЛИ КАТЕГОРИЯ ЗАНЯТА, ТО НЕЛЬЗЯ ЕЕ УДАЛИТЬ
                        try
                        {
                            string del_cst_id = Categories_dgv.CurrentRow.Cells["Номер"].Value.ToString();
                            SqlServer sql = new SqlServer();
                            if (MessageBox.Show("Вы действительно хотите удалить строку?", "Подтверждение удаления", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                            {
                                sql.ExcuteDataNonQuery(String.Format("DELETE [Categories] WHERE Id='{0}'", del_cst_id));
                            }
                        }

                        catch
                        {
                            MessageBox.Show("Не удалось удалить данные!", "Ошибка удаления", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }
                        //Отображение обновленной таблицы долгов
                        LoadCategories();
                        break;
                    }
            }
        }