internal static StemSeries CreateSaldoChangePoints(this BudgetVm aBudgetVm, DateTime aStartDate, DateTime aEndDate) { StemSeries lSerie = new StemSeries(); lSerie.Title = aBudgetVm.Bezeichnung; lSerie.XAxisKey = "X"; lSerie.YAxisKey = "Y"; lSerie.MarkerType = MarkerType.Circle; lSerie.Color = OxyColors.Transparent; lSerie.MarkerFill = OxyColors.Black; var lBuchungenRelevant = aBudgetVm.Buchungen.OrderBy(aB => aB.Datum).Where(aB => aB.Datum >= aStartDate && aB.Datum <= aEndDate); int lSaldo = aBudgetVm.Buchungen.Where(aB => aB.Datum < aStartDate).Sum(aB => aB.Betrag); foreach (var lBuchung in lBuchungenRelevant) { lSaldo += lBuchung.Betrag; DataPoint lPoint = new DataPoint( DateTimeAxis.ToDouble(lBuchung.Datum), Convert.ToDouble(lBuchung.BetragDisplay)); lSerie.Points.Add(lPoint); } return(lSerie); }
internal static ColumnSeries CreateInExKassoBalken(this BudgetVm aBudgetVm, DateTime aStartDate, DateTime aEndDate, CategoryAxis aCategories) { ColumnSeries lSerie = new ColumnSeries(); lSerie.LabelPlacement = LabelPlacement.Inside; lSerie.LabelFormatString = "{0:#,#.00}"; lSerie.XAxisKey = "XCat"; lSerie.YAxisKey = "Y"; var lBuchungenRelevant = aBudgetVm.Buchungen.OrderBy(aB => aB.Datum).Where(aB => aB.Datum >= aStartDate && aB.Datum <= aEndDate); foreach (var lBuchung in lBuchungenRelevant) { var lItem = new ColumnItem(Convert.ToDouble(lBuchung.BetragDisplay), aCategories.Labels.Count); if (lBuchung.Betrag > 0) { // Einzahlung lItem.Color = OxyColors.YellowGreen; } else { // Bezahlung lItem.Color = OxyColors.IndianRed; } lSerie.Items.Add(lItem); aCategories.Labels.Add(MakeBalkenLabel(lBuchung.Bezeichnung, lBuchung.Datum)); } return(lSerie); }
public IEnumerable <BuchungVm> GetByBudget(BudgetVm aBudgetVm) { List <BuchungVm> lResult = new List <BuchungVm>(); if (aBudgetVm.Id >= 0) { foreach (var lRow in this.mDb.Buchung.GetRowsByBudget(aBudgetVm.Id)) { lResult.Add(new BuchungVm(aBudgetVm, lRow)); } } return(lResult); }
public IEnumerable <DauerauftragVm> GetByBudget(BudgetVm aBudgetVm) { List <DauerauftragVm> lResult = new List <DauerauftragVm>(); if (aBudgetVm.Id >= 0) { foreach (var lRow in this.mDb.Dauerauftrag.GetRows(aBudgetVm.Id)) { lResult.Add(new DauerauftragVm(aBudgetVm, lRow)); } } return(lResult); }
private void EditAndSave(BudgetVm aBudget, string aDialogText) { var lDlg = new RenameDialog() { Owner = Window.GetWindow(this), Title = aDialogText, Bezeichnung = aBudget.Bezeichnung }; var lResult = lDlg.ShowDialog(); if (!lResult.HasValue || !lResult.Value || string.IsNullOrEmpty(lDlg.Bezeichnung)) { return; } aBudget.Bezeichnung = lDlg.Bezeichnung; aBudget.Save(false); }
internal void SaveBudget(BudgetVm aBudgetVm) { if (!aBudgetVm.Validate().IsValid) { throw new DataException("Es sind noch Validierungsfehler auf dem BudgetVm vorhanden!"); } if (aBudgetVm.Row.Status == DtoStatus.Created) { // To create var lId = mDb.Budget.InsertRow(aBudgetVm.Row); // Reload from Database var lRow = mDb.Budget.GetSingleRow(lId, false); aBudgetVm.Row = lRow; } else if (aBudgetVm.Row.Status == DtoStatus.Updated) { // To update mDb.Budget.UpdateSingleRow(aBudgetVm.Row); // Reload from Database aBudgetVm.Row = mDb.Budget.GetSingleRow(aBudgetVm.Row.ID, false); } else if (aBudgetVm.Row.Status == DtoStatus.Deleted) { if (aBudgetVm.Id >= 0) { // Alle buchungen löschen this.mDb.Buchung.DeleteRowsByBudget(aBudgetVm.Id); // Alle Daueraufträge löschen this.mDb.Dauerauftrag.DeleteRowsByBudget(aBudgetVm.Id); // Budget löschen this.mDb.Budget.DeleteSingleRow(aBudgetVm.Row); return; } } aBudgetVm.SaveDependencies(); }
//internal static LineSeries CreateSaldoverlaufLine(this BudgetVm aBudgetVm, DateTime aStartDate, DateTime aEndDate, bool aIncludeStartAndEndSaldo) //{ // LineSeries lSerie = new LineSeries(); // lSerie.Title = aBudgetVm.Bezeichnung; // lSerie.XAxisKey = "X"; // lSerie.YAxisKey = "Y"; // var lBuchungenRelevant = aBudgetVm.Buchungen.OrderBy(aB => aB.Datum).Where(aB => aB.Datum >= aStartDate && aB.Datum <= aEndDate); // int lSaldo = aBudgetVm.Buchungen.Where(aB => aB.Datum < aStartDate).Sum(aB => aB.Betrag); // if (aIncludeStartAndEndSaldo) // { // // Startwert // lSerie.Points.Add(new DataPoint(DateTimeAxis.ToDouble(aStartDate), Convert.ToDouble(MoneyManager.GetFrankenRappen(lSaldo, true)))); // } // foreach (var lBuchung in lBuchungenRelevant) // { // lSaldo += lBuchung.Betrag; // DataPoint lPoint = new DataPoint( // DateTimeAxis.ToDouble(lBuchung.Datum), // Convert.ToDouble(MoneyManager.GetFrankenRappen(lSaldo, true))); // lSerie.Points.Add(lPoint); // } // if (aIncludeStartAndEndSaldo) // { // // Endwert // lSerie.Points.Add(new DataPoint(DateTimeAxis.ToDouble(aEndDate), Convert.ToDouble(MoneyManager.GetFrankenRappen(lSaldo, true)))); // } // return lSerie; //} internal static StairStepSeries CreateSaldoChangeStairLine(this BudgetVm aBudgetVm, DateTime aStartDate, DateTime aEndDate, bool aIncludeStartAndEndSaldo) { StairStepSeries lSerie = new StairStepSeries(); lSerie.Title = aBudgetVm.Bezeichnung; lSerie.XAxisKey = "X"; lSerie.YAxisKey = "Y"; lSerie.MarkerType = MarkerType.Circle; var lBuchungenRelevant = aBudgetVm.Buchungen.OrderBy(aB => aB.Datum).Where(aB => aB.Datum >= aStartDate && aB.Datum <= aEndDate); int lSaldo = aBudgetVm.Buchungen.Where(aB => aB.Datum < aStartDate).Sum(aB => aB.Betrag); if (aIncludeStartAndEndSaldo) { // Startwert lSerie.Points.Add(new DataPoint(DateTimeAxis.ToDouble(aStartDate), Convert.ToDouble(MoneyManager.GetFrankenRappen(lSaldo, true)))); } foreach (var lBuchung in lBuchungenRelevant) { lSaldo += lBuchung.Betrag; DataPoint lPoint = new DataPoint( DateTimeAxis.ToDouble(lBuchung.Datum), Convert.ToDouble(MoneyManager.GetFrankenRappen(lSaldo, true))); lSerie.Points.Add(lPoint); } if (aIncludeStartAndEndSaldo) { // Endwert lSerie.Points.Add(new DataPoint(DateTimeAxis.ToDouble(aEndDate), Convert.ToDouble(MoneyManager.GetFrankenRappen(lSaldo, true)))); } return(lSerie); }