Чего я пытаюсь добиться, так это бюджетного калькулятора. Я использую SQLite, поэтому вся моя работа с базой данных должна быть в строковом формате. ниже моя подпрограмма сохранения, чтобы показать вам, ребята ...
void AddToBudget_Clicked(object sender, System.EventArgs e)
{
Budget Budget = new Budget()
{
OutgoingProductName = OProductName.Text,
OutgoingMonthlyCostS = OMonthlyCost.Text
};
using (SQLiteConnection conn = new SQLiteConnection(App.FilePath))
{
conn.CreateTable<Budget>();
int rowsAdded = conn.Insert(Budget);
}
DisplayAlert("Added!", "Your Monthly Item has been Added to Budget!", "OK");
BindingContext = new Budget();
OnAppearing();
}
Я хочу, чтобы все OutgoingMonthlyCostS
элементы суммировались, прежде чем вычесть поле ввода, в котором пользователь будет вводить свой ежемесячный оклад в. Ниже приведен код для моего OutgoingMonthlyCost
& OutgoingMonthlyCostS
...
private decimal outgoingMonthlyCost { get; set; }
public decimal OutgoingMonthlyCost
{
get => outgoingMonthlyCost;
set
{
outgoingMonthlyCost = value;
OnPropertyChanged("OutgoingMonthlyCost");
}
}
private string outgoingMonthlyCostS { get; set; }
public string OutgoingMonthlyCostS
{
get => outgoingMonthlyCostS;
set
{
outgoingMonthlyCostS = value;
OnPropertyChanged("OutgoingMonthlyCostS");
}
}
public void outgoingMonthlyCostFin()
{
outgoingMonthlyCostS = outgoingMonthlyCost.ToString();
TotalBudget();
}
В настоящее время я так выложил его, но что-то не так, поскольку мое приложение продолжает падать ...
private decimal totalMonthlyCost { get; set; }
public decimal TotalMonthlyCost
{
get => totalMonthlyCost;
set
{
totalMonthlyCost = value;
OnPropertyChanged("totalMonthlyCost");
TotalBudget();
}
}
private string totalMonthlyCostFin { get; set; }
public string TotalMonthlyCostFin
{
get => totalMonthlyCostFin;
set
{
totalMonthlyCostFin = value;
OnPropertyChanged("totalMonthlyCostFin");
}
}
public void TotalBudget()
{
var Conversion = default(decimal);
if (OutgoingMonthlyCost != 0)
{
Conversion += decimal.Round((Convert.ToDecimal(OutgoingMonthlyCostS)), 2, MidpointRounding.AwayFromZero);
TotalMonthlyCostFin = "£" + (TotalMonthlyCost - Conversion).ToString();
}
else
{
TotalMonthlyCostFin = "£0";
}
}