/// <summary> /// Метод меняет сумму вклада в зависимости от действия совершенного со вкладом /// </summary> private void ChangeMoneyMethod() { try { if (SelectInclusion != null) { if (RadioAdd == true) { // Прибавление вносимой суммы в выбранный вклад SelectInclusion.Inclusion = SelectInclusion.Inclusion + AddMoney; InclusionMoneyEvent?.Invoke($"Внесена сумма {AddMoney} на счет {SelectInclusion.Bill}"); } if (RadioWithdraw == true && SelectInclusion.Inclusion >= AddMoney) { // Вычитание вносимой суммы в выбранный вклад SelectInclusion.Inclusion = SelectInclusion.Inclusion - AddMoney; InclusionMoneyEvent?.Invoke($"Сумма {AddMoney} снята со счета {SelectInclusion.Bill}"); } else if (RadioWithdraw == true && SelectInclusion.Inclusion < AddMoney) { InclusionMoneyEvent?.Invoke($"На вашем счете недостаточно средств. Максимальная сума которую вы можете снять {SelectInclusion.Inclusion}"); } InclusionModel inclusionModel = new InclusionModel(); // Расчет итоговой суммы внесении дополнительной суммы SelectInclusion.Sum = inclusionModel.Calculate(SelectInclusion.DateInclusion, SelectInclusion.DateEndInclusion, SelectInclusion.Inclusion, SelectInclusion.Percents, SelectInclusion.Capitalize); } else { // Исключение вызывается если отсутствует фокус на один из счетов throw new BankException(2, "Не выбран счет", @"Выберите счет пополнения\списания"); } } catch (BankException e) when(e.Error == 2) { MessageBox.Show($"Код ошибки = {e.Error}. {e.Message}. {e.Recommendations}"); } }
/// <summary> /// Консруктор, принимающий переданный объект клиента /// </summary> /// <param name="incModel"></param> public InclusionViewModel(Client incModel) { InclusionModel inclusionModel = new InclusionModel(); // Расчет итоговой суммы по всем вкладам при открытии окна управления foreach (var t in incModel.Inclusions) { t.Sum = inclusionModel.Calculate(t.DateInclusion, t.DateEndInclusion, t.Inclusion, t.Percents); } IncModel = incModel; Percents = IncModel.Percents; this.inclusions = IncModel.Inclusions; DateEndInclusion = DateTime.Today.AddMonths(12); // Вызов метода определения статуса вклада InclusionStatus(); }