Пример #1
0
        public IApiResult Update(UpdateBank operation)
        {
            var result = operation.ExecuteAsync().Result;

            if (result is ValidationsOutput)
            {
                return(new ApiResult <List <ValidationItem> >()
                {
                    Data = ((ValidationsOutput)result).Errors
                });
            }
            else
            {
                return(new ApiResult <object>()
                {
                    Status = ApiResult <object> .ApiStatus.Success
                });
            }
        }
Пример #2
0
        private void metroButUpdateForControlForm_Click(object sender, EventArgs e)
        {
            try
            {
                if (metroTabControlCF.SelectedTab.Text == "Приход")
                {
                    if (metroGridPlus.SelectedCells.Count != 0)
                    {
                        string ID_Pass         = manipulationDB.generationID("SELECT ИД FROM Паспорт WHERE ФИО='" + metroGridPlus.CurrentRow.Cells[1].Value + "' AND СиН ='" + metroGridPlus.CurrentRow.Cells[2].Value + "' AND Идентификатор='" + metroGridPlus.CurrentRow.Cells[3].Value + "'");
                        string ID_Organization = manipulationDB.generationID("SELECT ИД FROM Организация WHERE Наименование='" + metroGridPlus.CurrentRow.Cells[4].Value + "'");
                        string ID_Valute       = manipulationDB.generationID("SELECT ИД FROM Валюта WHERE [Сокращенное наименование]='" + metroGridPlus.CurrentRow.Cells[8].Value + "'");
                        string ID_Bank         = manipulationDB.generationID("SELECT ИД FROM Банк WHERE Паспорт='" + ID_Pass + "' AND Организация='" + ID_Organization + "' AND Валюта='" + ID_Valute + "'");

                        string ID_Operation = manipulationDB.generationID("SELECT ИД FROM Операция WHERE Наименование='" + metroGridPlus.CurrentRow.Cells[5].Value + "'");

                        if (ID_Bank == null || ID_Bank == "")
                        {
                            MessageBox.Show("Ошибка: банк не найден!", "Банка с заданными параметрами в базе данных более не существует. Удалите данную запись или перепишите операцию на имя другого банка!");
                        }
                        else
                        {
                            string newStrWithPoint = Convert.ToString(metroGridPlus.CurrentRow.Cells[7].Value).Replace(",", ".");
                            string queryPlusInBank = "UPDATE Банк SET Сумма=Сумма-@money WHERE ИД=@id";
                            connect.Open();
                            SqlCommand commBankPlus = new SqlCommand(queryPlusInBank, connect);
                            commBankPlus.Parameters.AddWithValue("@money", newStrWithPoint);
                            commBankPlus.Parameters.AddWithValue("@id", ID_Bank);
                            commBankPlus.ExecuteScalar();
                            connect.Close();
                        }
                        string query_Plus = "SELECT ИД FROM Приход WHERE Банк=@bank AND Наименование=@oper AND Описание=@info AND Сумма=@sum AND Валюта=@val";

                        string ID_Plus = "";
                        try
                        {
                            SqlCommand comm = new SqlCommand(query_Plus, connect);
                            connect.Open();
                            comm.Parameters.AddWithValue("@bank", ID_Bank);
                            comm.Parameters.AddWithValue("@oper", ID_Operation);
                            comm.Parameters.AddWithValue("@info", metroGridPlus.CurrentRow.Cells[6].Value);
                            comm.Parameters.AddWithValue("@sum", metroGridPlus.CurrentRow.Cells[7].Value);
                            comm.Parameters.AddWithValue("@val", ID_Valute);

                            if (comm.ExecuteScalar() != null)
                            {
                                ID_Plus = comm.ExecuteScalar().ToString();
                            }
                            else
                            {
                                ID_Plus = "";
                            }
                            connect.Close();

                            manipulationProgramm.ZapisIndex(ID_Plus);

                            UpdatePlus updatePlus = new UpdatePlus();
                            updatePlus.Show();
                            manipulationDB.SelectComboBox("SELECT * FROM Паспорт", updatePlus.metroComboBoxPass, "ФИО", "ИД");
                            manipulationDB.SelectComboBox("SELECT * FROM Организация", updatePlus.metroComboBoxOrg, "Наименование", "ИД");
                            manipulationDB.SelectComboBox("SELECT * FROM Операция", updatePlus.metroComboBoxNameOper, "Наименование", "ИД");
                            manipulationDB.SelectComboBox("SELECT * FROM Валюта", updatePlus.metroComboBoxVal, "Сокращенное наименование", "ИД");

                            updatePlus.metroComboBoxPass.Text = Convert.ToString(metroGridPlus.CurrentRow.Cells[1].Value);

                            string querySelSINPlus = "SELECT СиН FROM Паспорт WHERE ИД=@ID";
                            connect.Open();
                            SqlCommand commSIN = new SqlCommand(querySelSINPlus, connect);
                            commSIN.Parameters.AddWithValue("@ID", updatePlus.metroComboBoxPass.SelectedValue);
                            updatePlus.metroTextBoxSiN.Text = Convert.ToString(commSIN.ExecuteScalar());
                            connect.Close();

                            string querySelIDENTIFITYPlus = "SELECT Идентификатор FROM Паспорт WHERE ИД=@ID";
                            connect.Open();
                            SqlCommand commID = new SqlCommand(querySelIDENTIFITYPlus, connect);
                            commID.Parameters.AddWithValue("@ID", updatePlus.metroComboBoxPass.SelectedValue);
                            updatePlus.metroTextBoxIdentificator.Text = Convert.ToString(commID.ExecuteScalar());
                            connect.Close();

                            updatePlus.metroComboBoxNameOper.Text = Convert.ToString(metroGridPlus.CurrentRow.Cells[5].Value);
                            updatePlus.metroTextBoxInfo.Text      = Convert.ToString(metroGridPlus.CurrentRow.Cells[6].Value);
                            updatePlus.metroTextBoxSum.Text       = Convert.ToString(metroGridPlus.CurrentRow.Cells[7].Value);
                            updatePlus.metroComboBoxVal.Text      = Convert.ToString(metroGridPlus.CurrentRow.Cells[8].Value);//nen
                        }
                        catch (SqlException exSQL)
                        {
                            MessageBox.Show(exSQL.Message, "Ошибка работы с базой данных:");
                        }
                        catch (Exception ex)
                        {
                            MessageBox.Show(ex.Message, "Ошибка работы с приложением:");
                        }
                        finally
                        {
                            connect.Close();
                        }
                    }
                    else
                    {
                        MessageBox.Show("Выберите строку, которую хотите изменить!!!", "Ошибка");
                    }
                }
                else if (metroTabControlCF.SelectedTab.Text == "Расход")
                {
                    if (metroGridMinus.SelectedCells.Count != 0)
                    {
                        string ID_Pass         = manipulationDB.generationID("SELECT ИД FROM Паспорт WHERE ФИО='" + metroGridMinus.CurrentRow.Cells[1].Value + "' AND СиН ='" + metroGridMinus.CurrentRow.Cells[2].Value + "' AND Идентификатор='" + metroGridMinus.CurrentRow.Cells[3].Value + "'");
                        string ID_Organization = manipulationDB.generationID("SELECT ИД FROM Организация WHERE Наименование='" + metroGridMinus.CurrentRow.Cells[4].Value + "'");
                        string ID_Valute       = manipulationDB.generationID("SELECT ИД FROM Валюта WHERE [Сокращенное наименование]='" + metroGridMinus.CurrentRow.Cells[8].Value + "'");
                        string ID_Bank         = manipulationDB.generationID("SELECT ИД FROM Банк WHERE Паспорт='" + ID_Pass + "' AND Организация='" + ID_Organization + "' AND Валюта='" + ID_Valute + "'");

                        string ID_Operation = manipulationDB.generationID("SELECT ИД FROM Операция WHERE Наименование='" + metroGridMinus.CurrentRow.Cells[5].Value + "'");

                        if (ID_Bank == null || ID_Bank == "")
                        {
                            MessageBox.Show("Ошибка: банк не найден!", "Банка с заданными параметрами в базе данных более не существует. Удалите данную запись или перепишите операцию на имя другого банка!");
                        }
                        else
                        {
                            string newStrWithPoint = Convert.ToString(metroGridMinus.CurrentRow.Cells[7].Value).Replace(",", ".");
                            string queryPlusInBank = "UPDATE Банк SET Сумма=Сумма+@money WHERE ИД=@id";
                            connect.Open();
                            SqlCommand commBankPlus = new SqlCommand(queryPlusInBank, connect);
                            commBankPlus.Parameters.AddWithValue("@money", newStrWithPoint);
                            commBankPlus.Parameters.AddWithValue("@id", ID_Bank);
                            commBankPlus.ExecuteScalar();
                            connect.Close();
                        }

                        string query_Minus = "SELECT ИД FROM Расход WHERE Банк=@bank AND Наименование=@oper " +
                                             "AND Описание=@info AND Сумма=@sum AND Валюта=@val";

                        string ID_Minus = "";
                        try
                        {
                            SqlCommand comm = new SqlCommand(query_Minus, connect);
                            connect.Open();
                            comm.Parameters.AddWithValue("@bank", ID_Bank);
                            comm.Parameters.AddWithValue("@oper", ID_Operation);
                            comm.Parameters.AddWithValue("@info", metroGridMinus.CurrentRow.Cells[6].Value);
                            comm.Parameters.AddWithValue("@sum", metroGridMinus.CurrentRow.Cells[7].Value);
                            comm.Parameters.AddWithValue("@val", ID_Valute);

                            if (comm.ExecuteScalar() != null)
                            {
                                ID_Minus = comm.ExecuteScalar().ToString();
                            }
                            else
                            {
                                ID_Minus = "";
                            }
                            connect.Close();

                            manipulationProgramm.ZapisIndex(ID_Minus);

                            UpdateMinus updateMinus = new UpdateMinus();
                            updateMinus.Show();
                            manipulationDB.SelectComboBox("SELECT * FROM Паспорт", updateMinus.metroComboBoxPass, "ФИО", "ИД");
                            manipulationDB.SelectComboBox("SELECT * FROM Организация", updateMinus.metroComboBoxOrg, "Наименование", "ИД");
                            manipulationDB.SelectComboBox("SELECT * FROM Операция", updateMinus.metroComboBoxNameOper1, "Наименование", "ИД");
                            manipulationDB.SelectComboBox("SELECT * FROM Валюта", updateMinus.metroComboBoxVal1, "Сокращенное наименование", "ИД");

                            updateMinus.metroComboBoxPass.Text = Convert.ToString(metroGridMinus.CurrentRow.Cells[1].Value);

                            string querySelSINPlus = "SELECT СиН FROM Паспорт WHERE ИД=@ID";
                            connect.Open();
                            SqlCommand commSIN = new SqlCommand(querySelSINPlus, connect);
                            commSIN.Parameters.AddWithValue("@ID", updateMinus.metroComboBoxPass.SelectedValue);
                            updateMinus.metroTextBoxSiN.Text = Convert.ToString(commSIN.ExecuteScalar());
                            connect.Close();

                            string querySelIDENTIFITYPlus = "SELECT Идентификатор FROM Паспорт WHERE ИД=@ID";
                            connect.Open();
                            SqlCommand commID = new SqlCommand(querySelIDENTIFITYPlus, connect);
                            commID.Parameters.AddWithValue("@ID", updateMinus.metroComboBoxPass.SelectedValue);
                            updateMinus.metroTextBoxIdentificator.Text = Convert.ToString(commID.ExecuteScalar());
                            connect.Close();

                            updateMinus.metroComboBoxNameOper1.Text = Convert.ToString(metroGridMinus.CurrentRow.Cells[5].Value);
                            updateMinus.metroTextBoxInfo1.Text      = Convert.ToString(metroGridMinus.CurrentRow.Cells[6].Value);
                            updateMinus.metroTextBoxSum1.Text       = Convert.ToString(metroGridMinus.CurrentRow.Cells[7].Value);
                            updateMinus.metroComboBoxVal1.Text      = Convert.ToString(metroGridMinus.CurrentRow.Cells[8].Value);//nen
                        }
                        catch (SqlException exSQL)
                        {
                            MessageBox.Show(exSQL.Message, "Ошибка работы с базой данных:");
                        }
                        catch (Exception ex)
                        {
                            MessageBox.Show(ex.Message, "Ошибка работы с приложением:");
                        }
                        finally
                        {
                            connect.Close();
                        }
                    }
                    else
                    {
                        MessageBox.Show("Выберите строку, которую хотите изменить!!!", "Ошибка");
                    }
                }
                else if (metroTabControlCF.SelectedTab.Text == "Банк")
                {
                    if (metroGridBank.SelectedCells.Count != 0)
                    {
                        string ID_Pass         = manipulationDB.generationID("SELECT ИД FROM Паспорт WHERE ФИО='" + metroGridBank.CurrentRow.Cells[1].Value + "' AND СиН ='" + metroGridBank.CurrentRow.Cells[2].Value + "' AND Идентификатор='" + metroGridBank.CurrentRow.Cells[3].Value + "'");
                        string ID_Organization = manipulationDB.generationID("SELECT ИД FROM Организация WHERE Наименование='" + metroGridBank.CurrentRow.Cells[4].Value + "'");
                        string ID_Valute       = manipulationDB.generationID("SELECT ИД FROM Валюта WHERE [Сокращенное наименование]='" + metroGridBank.CurrentRow.Cells[8].Value + "'");

                        try
                        {
                            string query_Bank = "SELECT ИД FROM Банк WHERE Паспорт=@pass AND Организация=@organiz " +
                                                "AND Должность=@rank AND [Дата регистрации]=@dateRef AND Сумма=@sum AND Валюта=@val";

                            string ID_Bank = "";

                            SqlCommand comm = new SqlCommand(query_Bank, connect);
                            connect.Open();
                            comm.Parameters.AddWithValue("@pass", ID_Pass);
                            comm.Parameters.AddWithValue("@organiz", ID_Organization);
                            comm.Parameters.AddWithValue("@rank", metroGridBank.CurrentRow.Cells[5].Value);
                            comm.Parameters.AddWithValue("@dateRef", metroGridBank.CurrentRow.Cells[6].Value);
                            comm.Parameters.AddWithValue("@sum", metroGridBank.CurrentRow.Cells[7].Value);
                            comm.Parameters.AddWithValue("@val", ID_Valute);

                            if (comm.ExecuteScalar() != null)
                            {
                                ID_Bank = comm.ExecuteScalar().ToString();
                            }
                            else
                            {
                                ID_Bank = "";
                            }
                            connect.Close();

                            manipulationProgramm.ZapisIndex(ID_Bank);

                            UpdateBank updateBank = new UpdateBank();
                            updateBank.Show();

                            manipulationDB.SelectComboBox("SELECT * FROM Организация", updateBank.metroComboBoxOrganization, "Наименование", "ИД");
                            manipulationDB.SelectComboBox("SELECT * FROM Валюта", updateBank.metroComboBoxVal, "Сокращенное наименование", "ИД");
                            manipulationDB.SelectComboBox("SELECT * FROM Паспорт", updateBank.metroComboBoxPass, "ФИО", "ИД");

                            updateBank.metroComboBoxPass.Text         = Convert.ToString(metroGridBank.CurrentRow.Cells[1].Value);
                            updateBank.metroTextBoxSiN.Text           = Convert.ToString(metroGridBank.CurrentRow.Cells[2].Value);
                            updateBank.metroTextBoxIdentificator.Text = Convert.ToString(metroGridBank.CurrentRow.Cells[3].Value);
                            updateBank.metroComboBoxOrganization.Text = Convert.ToString(metroGridBank.CurrentRow.Cells[4].Value);
                            updateBank.metroTextBoxRank.Text          = Convert.ToString(metroGridBank.CurrentRow.Cells[5].Value);
                            updateBank.metroTextBoxDateOfReg.Text     = Convert.ToString(metroGridBank.CurrentRow.Cells[6].Value);
                            updateBank.metroTextBoxSum.Text           = Convert.ToString(metroGridBank.CurrentRow.Cells[7].Value);
                            updateBank.metroComboBoxVal.Text          = Convert.ToString(metroGridBank.CurrentRow.Cells[8].Value);
                        }
                        catch (SqlException exSQL)
                        {
                            MessageBox.Show(exSQL.Message, "Ошибка работы с базой данных:");
                        }
                        catch (Exception ex)
                        {
                            MessageBox.Show(ex.Message, "Ошибка работы с приложением:");
                        }
                        finally
                        {
                            connect.Close();
                        }
                    }
                    else
                    {
                        MessageBox.Show("Выберите строку, которую хотите изменить!!!", "Ошибка");
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Ошибка:");
            }
        }