async void MenuItem_Clicked(object sender, System.EventArgs e) { int s = DateTime.DaysInMonth(DateTime.Now.Year, DateTime.Now.Month); var mi = ((MenuItem)sender); var viewCellSelected = sender as MenuItem; var calculationToDelete = viewCellSelected?.BindingContext as SQL_SpaarDoelen; await _connection.ExecuteAsync("Update SQL_Budget SET Value = Value + ? Where Name = ?", calculationToDelete.Saved, "Budget"); var Transaction = new SQL_Transacties(); Transaction.Date = DateTime.Now; Transaction.Value = calculationToDelete.Saved; Transaction.Category = "Spaardoel"; Transaction.Name = "Opnamen Spaardoel: " + calculationToDelete.Name; Transaction.Recurring = false; await _connection.InsertAsync(Transaction); await _connection.DeleteAsync(calculationToDelete); var spaardoelen = await _connection.Table <SQL_SpaarDoelen>().ToListAsync(); _sqlSpaarDoelen = new ObservableCollection <SQL_SpaarDoelen>(spaardoelen); ListView.ItemsSource = _sqlSpaarDoelen; }
public async Task <double> BudgetPlaybackSpaardoel(int days, double budget) { while (days > 0) //This is the main loop responsible for calculating all spaardoel progression. { //Defining some local variables var playbackDate = DateTime.Now.AddDays(-days + 1); //Want to make sure to calculate for the right day. var spaardoelen = await _connection.QueryAsync <SQL_SpaarDoelen>("SELECT * FROM SQL_SpaarDoelen WHERE NOT Completed"); //Load all not completed Spaardoelen from the database. foreach (var item in spaardoelen) //Loop to make sure we don't forget a Spaardoel, selected from query above. { //This loop contains 2 tasks: //Task 1, is to add all the deposits to the transaction table //Task 2, is to check if we have completed the spaardoel //Task 1: Prepairing new transaction var transaction = new SQL_Transacties { Date = playbackDate, Value = item.Value, Category = "Spaardoel", Name = "Inleg Spaardoel: " + item.Name, Recurring = false, Recurtype = "" }; Debug.WriteLine("Updating budget, ? lowered the budget with ?", item.Name, item.Value); await _connection.InsertAsync(transaction); //Push transaction to database budget += transaction.Value; //Updating the budget, with the daily deposit amount //Update Progressbar item.ProgressBar = (item.TotalDays - item.Days) / item.TotalDays; item.Saved += -item.Value; //Task 2: Check if spaardoel is completed if (item.Days <= 0) { //Change Completed to True await _connection.ExecuteAsync("Update SQL_SpaarDoelen SET Completed = 1 , ProgressBar = ? Where Id = ?", item.ProgressBar, item.Id); Debug.WriteLine("Spaardoel ? is completed, Updating to completed!", item.Name); } else { //lower day by 1 //item.Days--; await _connection.ExecuteAsync("Update SQL_SpaarDoelen SET Days = ? , ProgressBar = ? , Saved = ? Where Id = ?", (item.Days - 1), item.ProgressBar, item.Saved, item.Id); Debug.WriteLine("Spaardoel ? Days have been lowered by 1, ? Remaining", item.Name, item.Days); } } days--; //Lower the day count by 1 because otherwise we'll be stuck here for a looooooong while } return(budget); //Return new budget }
public async Task <double> BudgetPlaybackBudget(int days, double budget) { while (days > 0) //This is the main loop responsible for the daily budget calculations. { double transvalue = 0; int s = DateTime.DaysInMonth(DateTime.Now.Year, DateTime.Now.AddDays((-days + 1)).Month); var recurringTransacties = await _connection.QueryAsync <SQL_Transacties>("SELECT * FROM SQL_Transacties WHERE Recurring"); foreach (var item in recurringTransacties) { if (item.Recurtype == "Maandelijks") { transvalue += item.Value / s; budget += item.Value / s; } else if (item.Recurtype == "Per kwartaal") { transvalue += item.Value / (k / 4); budget += item.Value / (k / 4); } else if (item.Recurtype == "Jaarlijks") { transvalue += item.Value / k; budget += item.Value / k; } } //add new transaction for overviews var transaction = new SQL_Transacties(); transaction.Date = DateTime.Now.AddDays((-days + 1)); transaction.Value = transvalue; transaction.Category = "Budget"; transaction.Recurring = false; transaction.Name = ("Budget voor " + transaction.Date.ToString("dd/MM/yyyy", CultureInfo.InvariantCulture)); transaction.Recurtype = ""; await _connection.InsertAsync(transaction); days--; //Lower the day count by 1 because otherwise we'll be stuck here } return(budget); //Return new budget }
private async void InsertTransaction() { var Transaction = new SQL_Transacties(); Transaction.Date = DateTime.Now; Transaction.Value = -InputDay; Transaction.Category = "Inleg Spaardoel"; Transaction.Name = "Inleg Spaardoel: " + SpaardoelNaam.Text; Transaction.Recurring = false; await _connection.InsertAsync(Transaction); //Fake it till you make it! var list_budget = await _connection.QueryAsync <SQL_Transacties>("SELECT * FROM SQL_Budget"); _budget -= InputDay; foreach (var item in list_budget) { _budget += item.Value; } await _connection.ExecuteAsync("Update SQL_Budget SET Value = ? Where Name = ?", _budget, "Budget"); }
private async void Button_OnClicked(object sender, EventArgs e) { int s = DateTime.DaysInMonth(DateTime.Now.Year, DateTime.Now.Month); int k = GetDaysInYear(DateTime.Now.Year); if (Pick_cat.SelectedItem == null) { await DisplayAlert("Alert", "Kies een geldige categorie", "OK"); } else if (Bedrag.Text == null) { await DisplayAlert("Alert", "Voer een bedrag in", "OK"); } else if (double.Parse(Bedrag.Text.Replace(",", "."), System.Globalization.CultureInfo.InvariantCulture) == 0.00) { await DisplayAlert("Alert", "Voer een geldig bedrag in", "OK"); } else { var player = Plugin.SimpleAudioPlayer.CrossSimpleAudioPlayer.Current; player.Load("cash.wav"); player.Play(); var inkomsten = new SQL_Transacties(); //link with table inkomsten.Date = DateTime.Now; inkomsten.Value = double.Parse(Bedrag.Text.Replace(",", "."), System.Globalization.CultureInfo.InvariantCulture); inkomsten.Category = Pick_cat.SelectedItem.ToString(); inkomsten.Recurring = Maand_Inkomst.IsToggled; inkomsten.Recurtype = ""; if (Naam.Text == null) { inkomsten.Name = Pick_cat.SelectedItem.ToString(); } else { inkomsten.Name = Naam.Text; } var list_budget = await _connection.QueryAsync <SQL_Transacties>("SELECT * FROM SQL_Budget"); if (Maand_Inkomst.IsToggled) { inkomsten.Recurtype = recurtype.SelectedItem.ToString(); inkomsten.Name += " - " + recurtype.SelectedItem.ToString(); await _connection.InsertAsync(inkomsten); inkomsten.Recurring = false; inkomsten.Name = $"Update budget - {inkomsten.Category}"; // if it is monthly income if (recurtype.SelectedItem.ToString() == "Maandelijks") { _budget += inkomsten.Value / s; inkomsten.Value /= s; foreach (var item in list_budget) { _budget += item.Value; } await _connection.InsertAsync(inkomsten); await _connection.ExecuteAsync("Update SQL_Budget SET Value = ? Where Name = ?", _budget, "Budget"); } // if it is quartarly income else if (recurtype.SelectedItem.ToString() == "Per kwartaal") { _budget += inkomsten.Value / (k / 4); inkomsten.Value /= (k / 4); foreach (var item in list_budget) { _budget += item.Value; } await _connection.InsertAsync(inkomsten); await _connection.ExecuteAsync("Update SQL_Budget SET Value = ? Where Name = ?", _budget, "Budget"); } // if it is a yearly incme else if (recurtype.SelectedItem.ToString() == "Jaarlijks") { _budget += inkomsten.Value / k; inkomsten.Value /= k; foreach (var item in list_budget) { _budget += item.Value; } await _connection.InsertAsync(inkomsten); await _connection.ExecuteAsync("Update SQL_Budget SET Value = ? Where Name = ?", _budget, "Budget"); } } else if (!Maand_Inkomst.IsToggled) { _budget += inkomsten.Value; foreach (var item in list_budget) { _budget += item.Value; } await _connection.InsertAsync(inkomsten); await _connection.ExecuteAsync("Update SQL_Budget SET Value = ? Where Name = ?", _budget, "Budget"); } await DisplayAlert("Gelukt", "Inkomsten succesvol toegevoegd", "OK"); if (App.Current.Properties.ContainsKey("savedPropA")) { Analytics.TrackEvent("Inkomsten Aangemaakt"); await Navigation.PushAsync(new BudgetBuddyPage()); Navigation.RemovePage(this); } else { App.Current.MainPage = new Uitgaven(); } } }
private async void Button_OnClicked(object sender, EventArgs e) { _Bedrag = Convert.ToDouble(Bedrag.Text, System.Globalization.CultureInfo.InvariantCulture); if (Pick_cat.SelectedItem == null) { await DisplayAlert("Alert", "Kies een geldige categorie", "OK"); } else if (Bedrag.Text == null) { await DisplayAlert("Alert", "Voer een bedrag in", "OK"); } else if (double.Parse(Bedrag.Text.Replace(",", "."), System.Globalization.CultureInfo.InvariantCulture) == 0.00) { await DisplayAlert("Alert", "Voer een geldig bedrag in", "OK"); } else { var player = Plugin.SimpleAudioPlayer.CrossSimpleAudioPlayer.Current; player.Load("cash.wav"); player.Play(); var uitgaven = new SQL_Transacties(); uitgaven.Date = DateTime.Now; uitgaven.Value = -double.Parse(Bedrag.Text.Replace(",", "."), System.Globalization.CultureInfo.InvariantCulture); uitgaven.Category = Pick_cat.SelectedItem.ToString(); uitgaven.Recurring = Vaste_Lasten.IsToggled; uitgaven.Recurtype = ""; if (Naam.Text == null) { uitgaven.Name = Pick_cat.SelectedItem.ToString(); } else { uitgaven.Name = Naam.Text; } var list_budget = await _connection.QueryAsync <SQL_Transacties>("SELECT * FROM SQL_Budget"); if (Vaste_Lasten.IsToggled) { // add database entry for budget samenstelling uitgaven.Recurtype = recurtype.SelectedItem.ToString(); uitgaven.Name += " - " + recurtype.SelectedItem.ToString(); await _connection.InsertAsync(uitgaven); //change variables for update budget record uitgaven.Recurring = false; uitgaven.Name = $"Update budget - {uitgaven.Category}"; int k = GetDaysInYear(DateTime.Now.Year); if (recurtype.SelectedItem.ToString() == "Maandelijks") { _budget += uitgaven.Value / s; uitgaven.Value /= s; foreach (var item in list_budget) { _budget += item.Value; } await _connection.InsertAsync(uitgaven); await _connection.ExecuteAsync("Update SQL_Budget SET Value = ? Where Name = ?", _budget, "Budget"); } else if (recurtype.SelectedItem.ToString() == "Per kwartaal") { _budget += uitgaven.Value / (k / 4); uitgaven.Value /= (k / 4); foreach (var item in list_budget) { _budget += item.Value; } await _connection.InsertAsync(uitgaven); await _connection.ExecuteAsync("Update SQL_Budget SET Value = ? Where Name = ?", _budget, "Budget"); } else if (recurtype.SelectedItem.ToString() == "Jaarlijks") { _budget += uitgaven.Value / k; uitgaven.Value /= k; foreach (var item in list_budget) { _budget += item.Value; } await _connection.InsertAsync(uitgaven); await _connection.ExecuteAsync("Update SQL_Budget SET Value = ? Where Name = ?", _budget, "Budget"); } } else if (!Vaste_Lasten.IsToggled) { _budget += uitgaven.Value; foreach (var item in list_budget) { _budget += item.Value; } await _connection.InsertAsync(uitgaven); await _connection.ExecuteAsync("Update SQL_Budget SET Value = ? Where Name = ?", _budget, "Budget"); } await DisplayAlert("Gelukt", "Uitgaven succesvol toegevoegd", "OK"); if (App.Current.Properties.ContainsKey("savedPropA")) { Analytics.TrackEvent("Uitgaven Toegevoed"); await Navigation.PushAsync(new BudgetBuddyPage()); Navigation.RemovePage(this); } else { App.Current.Properties.Add("savedPropA", "start"); App.Current.SavePropertiesAsync(); App.Current.MainPage = new MainPage(); } } }