/// <summary> /// Перевод средств между клиентами /// </summary> /// <param name="Sum_Transfer"></param> internal void Transfer(TextBox Sum_Transfer, TextBlock Selected_Finance, TextBlock Current_Finance) { try { MainWindow.ML.all_Cash_Accounts.All_cash_acc[selectedId].Client.SetLeve(); if (agent.Work == true) { int x = 0; if (Int32.TryParse(Sum_Transfer.Text, out x)) { } else { throw new MyExeption("Сумма Перевода введена не корректно"); } if (needId == -1) { throw new MyExeption("Вы пытаетесь сделать перевод на несуществующий счет!"); } int sum = Convert.ToInt32(Sum_Transfer.Text); // Перегрузка операторов > if (sum > 0 || MainWindow.ML.all_Cash_Accounts.All_cash_acc[selectedId] < sum /*sum < Convert.ToInt32(MainWindow.ML.all_Cash_Accounts.All_cash_acc[selectedId].Acc_finance)*/) { ///Используются методы расширения MainWindow.ML.all_Cash_Accounts.All_cash_acc[selectedId].Acc_finance = MainWindow.ML.all_Cash_Accounts.All_cash_acc[selectedId].Acc_finance.SubUint(sum); MainWindow.ML.all_Cash_Accounts.All_cash_acc[needId].Acc_finance = MainWindow.ML.all_Cash_Accounts.All_cash_acc[needId].Acc_finance.SumUint(sum); //было //MainWindow.ML.all_Cash_Accounts.All_cash_acc[selectedId].Acc_finance = (Convert.ToInt32(MainWindow.ML.all_Cash_Accounts.All_cash_acc[selectedId].Acc_finance) - sum).ToString(); //MainWindow.ML.all_Cash_Accounts.All_cash_acc[needId].Acc_finance = (Convert.ToInt32(MainWindow.ML.all_Cash_Accounts.All_cash_acc[needId].Acc_finance) + sum).ToString(); var cl = MainWindow.ML.all_Cash_Accounts.All_cash_acc[selectedId].Client; var one = MainWindow.ML.all_Cash_Accounts.All_cash_acc[selectedId].IdCashAcc; var two = MainWindow.ML.all_Cash_Accounts.All_cash_acc[needId].IdCashAcc; Logi l = new Logi(("Перевод мeждусчитами " + one + " и " + two + " на сумму " + sum + "p. " + (DateTime.Now).ToString())); MainWindow.ML.LogiAll.Logis.Add(l); MainWindow.ML.LogiAll.Save(); Current_Finance.Text = MainWindow.ML.all_Cash_Accounts.All_cash_acc[selectedId].Acc_finance; Selected_Finance.Text = MainWindow.ML.all_Cash_Accounts.All_cash_acc[needId].Acc_finance; Ev_Mes += Mes; Ev_Mes("Вы перевели " + sum.ToString()); Ev_Mes -= Mes; } else { MessageBox.Show("Вы ввели не коректную сумму"); } } } catch (MyExeption e) { MessageBox.Show("Проверьте вводимые значения. " + e.Message); } }
/// <summary> /// Переводит средства со счета на счет /// </summary> /// <param name="Combo_Selected_Acc"></param> /// <param name="Sum_Transfer"></param> /// <param name="Selected_Finance"></param> internal void Trasfer(ComboBox Combo_Selected_Acc, TextBox Sum_Transfer, TextBlock Selected_Finance, TextBlock Current_Finance) { if (Sum_Transfer.Text != "") { try { var id = ((Cash_Account)Combo_Selected_Acc.SelectedItem); (MainWindow.ML.all_Cash_Accounts[id.Client.Passport])[0].Client.SetLeve(); if ((MainWindow.ML.all_Cash_Accounts[id.Client.Passport])[0].Client.Work == true) { // var id = ((Cash_Account)Combo_Selected_Acc.SelectedItem); uint sum_toTrans = 0; if (UInt32.TryParse(Sum_Transfer.Text, out sum_toTrans)) { } else { throw new MyExeption("Вы ввели некоректную сумму для перевода"); } if (sum_toTrans > Convert.ToUInt32(Selected_Finance.Text)) { MessageBox.Show("Недостаточно средств!"); } else { foreach (var acc in curent_acc) { if (id == acc) { ///Используются методы расширения acc.Acc_finance = acc.Acc_finance.SubUint(sum_toTrans); // acc.Acc_finance = (Convert.ToUInt32(acc.Acc_finance) - sum_toTrans).ToString(); //Selected_Finance.Text = acc.Acc_finance; } else if (acc.IdCashAcc == cur_acc1.IdCashAcc) { ///Используются методы расширения acc.Acc_finance = acc.Acc_finance.SumUint(sum_toTrans); //БЫЛО // acc.Acc_finance = (Convert.ToUInt32(acc.Acc_finance) + sum_toTrans).ToString(); Current_Finance.Text = acc.Acc_finance; } } Sum_Transfer.BorderBrush = Brushes.Gray; Combo_Selected_Acc.SelectedItem = null; Sum_Transfer.Text = ""; Ev_Mes += Mes; Ev_Mes("Вы перевели " + sum_toTrans.ToString()); var l = new Logi(("Перевод междусчитами на сумму " + sum_toTrans + "p. " + (DateTime.Now).ToString())); MainWindow.ML.LogiAll.Logis.Add(l); MainWindow.ML.LogiAll.Save(); Ev_Mes -= Mes; } } } catch (MyExeption e) { Sum_Transfer.BorderBrush = Brushes.Red; MessageBox.Show("Вы ввели некоректные данные. " + e.Message); } } else { MessageBox.Show("ВВедите Сумму перевода."); } }