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 }); } }
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, "Ошибка:"); } }