У меня есть проект, в котором у меня есть такие поля, как цена, количество, общая сумма, уплаченная сумма, ожидающая сумма и сумма кредита. Теперь расчет общей суммы выполняется с помощью оператора умножения. Теперь, когда пользователь вводит оплаченную сумму, происходит следующий расчет: Общая сумма - Оплаченная сумма = Ожидаемая сумма.
Предположим, что общая сумма равна 40, а оплаченная сумма равна 20, поэтому в ожидании будет 20. Через несколько дней оставшаяся сумма кредита будет зачислена, поэтому она будет равна 20, поэтому расчет, который я сейчас пытался выполнить, - это ожидающая сумма - сумма кредита = ожидающая сумма. Таким образом, окончательная сумма должна быть равна 0. Ниже приведен скриншот внешнего интерфейса:
Я попробовал следующий код со своей стороны, но поле ожидающей суммы не достигает 0 или оставшейся суммы. Ниже приведен мой код:
private void Price_TextChanged(object sender, TextChangedEventArgs e)
{
Multiply();
}
private void Quantity_TextChanged(object sender, TextChangedEventArgs e)
{
Multiply();
}
public void Multiply()
{
int a, b;
bool isAValid = int.TryParse(txtprice.Text, out a);
bool isBValid = int.TryParse(txtquantity.Text, out b);
if (isAValid && isBValid)
{
txttotalamount.Text = (a * b).ToString();
}
else
{
txttotalamount.Text = "Invalid Input";
}
}
private void TotalAmount_TextChanged(object sender, TextChangedEventArgs e)
{
Subtract();
}
private void PaidAmount_TextChanged(object sender, TextChangedEventArgs e)
{
Subtract();
}
private void PendingAmount_TextChanged(object sender, TextChangedEventArgs e)
{
Subtract();
}
private void txtcreditamountpaid_TextChanged(object sender, TextChangedEventArgs e)
{
Subtract();
}
public void Subtract()
{
int a, b,c,d;
bool isAValid = int.TryParse(txttotalamount.Text, out a);
bool isBValid = int.TryParse(txtpaidamount.Text, out b);
bool isCValid = int.TryParse(txtpendingamount.Text,out c);
bool isDValid = int.TryParse(txtcreditamountpaid.Text, out d);
if (isAValid && isBValid)
{
string e = (a - b).ToString();
txtpendingamount.Text = (e).ToString();
}
else if (isCValid && isDValid)
{
string f=(c-d).ToString();
txtpendingamount.Text = (f).ToString();
}
else
{
txtpendingamount.Text = "invalid Input";
}
}
}
Я ожидаю, что вывод в поле ожидающей суммы будет равен 0 или оставшейся сумме, введенной в поле суммы кредита. Я пробовал от себя, но это не работает!