public void GetTrialBalance(DateTime Date) { CultureInfo info = new CultureInfo("en-EN"); info.NumberFormat.CurrencySymbol = "Rs"; info.DateTimeFormat = new DateTimeFormatInfo(); info.DateTimeFormat.Calendar = new GregorianCalendar(GregorianCalendarTypes.Localized); info.DateTimeFormat.AMDesignator = "AM"; info.DateTimeFormat.PMDesignator = "PM"; System.Threading.Thread.CurrentThread.CurrentCulture = info; System.Threading.Thread.CurrentThread.CurrentUICulture = info; Tbms = new ObservableCollection <Rms.Classes.TrialBalanceVm>(); TotalDebit = 0; TotalCredit = 0; #region grouping List <LedgerAccount> acountlistwithparentacount = new List <LedgerAccount>(); foreach (var item in LedgerAccounts.Where(a => a.parentLedgerAccount != null)) { acountlistwithparentacount.Add(item); } List <LedgerAccount> accountlistwithoutparentaccount = new List <LedgerAccount>(); accountlistwithoutparentaccount = LedgerAccounts.Except(acountlistwithparentacount).ToList(); var groups = acountlistwithparentacount.GroupBy(a => a.parentLedgerAccount); #endregion foreach (var i in groups) { Tbms.Add(new TrialBalanceVm { LedgerAccountName = i.Key.AccountName, IsParentAccount = true }); foreach (var item in LedgerAccounts.Where(a => a.parentLedgerAccount == i.Key)) { var v = GetBalanceForTrialBalance(item, Date); if (v != null) { Tbms.Add(v); } } } foreach (var item in accountlistwithoutparentaccount) { var v = GetBalanceForTrialBalance(item, Date); if (v != null) { v.IsParentAccount = true; Tbms.Add(v); } } TotalRows = new ObservableCollection <Rms.Classes.TrialBalanceVm>( new List <TrialBalanceVm> { new TrialBalanceVm { LedgerAccountName = "Total", DebitSide = TotalDebit, CreditSide = TotalCredit } }); }
public void GetTrialBalance() { Tbms = new ObservableCollection <Rms.Classes.TrialBalanceVm>(); TotalDebit = 0; TotalCredit = 0; #region grouping List <LedgerAccount> acountlistwithparentacount = new List <LedgerAccount>(); foreach (var item in LedgerAccounts.Where(a => a.parentLedgerAccount != null)) { acountlistwithparentacount.Add(item); } List <LedgerAccount> accountlistwithoutparentaccount = new List <LedgerAccount>(); accountlistwithoutparentaccount = LedgerAccounts.Except(acountlistwithparentacount).ToList(); var groups = acountlistwithparentacount.GroupBy(a => a.parentLedgerAccount); #endregion foreach (var i in groups) { Tbms.Add(new TrialBalanceVm { LedgerAccountName = i.Key.AccountName }); foreach (var item in LedgerAccounts.Where(a => a.parentLedgerAccount == i.Key)) { var v = GetBalanceForTrialBalance(item); if (v != null) { Tbms.Add(v); } } } foreach (var item in accountlistwithoutparentaccount) { var v = GetBalanceForTrialBalance(item); if (v != null) { Tbms.Add(v); } } TotalRows = new ObservableCollection <Rms.Classes.TrialBalanceVm>( new List <TrialBalanceVm> { new TrialBalanceVm { LedgerAccountName = "Total", DebitSide = TotalDebit, CreditSide = TotalCredit } }); }
public async void Init2() { try { LedgerTransactions = new ObservableCollection <LedgerTransaction>(await Service.GetAllLedgerTransactionsAsync()); Ledgergenerals = new ObservableCollection <LedgerGeneral>(await Service.GetAllLedgerGeneralsAsync()); LedgerTransactionDetails = new ObservableCollection <LedgerTransactionDetail>(Service.GetAllLedgerTransactionDetails()); //LedgerAccounts =new ObservableCollection<LedgerAccount>(LedgerAccounts.OrderByDescending(a => a.LedgerAccountId)); LedgerAccounts = new ObservableCollection <LedgerAccount>(LedgerAccounts.OrderBy(b => b.AccountName)); getJournalsBydate(); } catch (Exception ex) { throw ex; } }
public void GetIncomeStatement() { Revenues = new ObservableCollection <RevenueVm>(); Expenses = new ObservableCollection <ExpenseVm>(); TotalExpenseBalance = 0; TotalRevenueBalance = 0; foreach (var item in LedgerAccounts.Where(a => a.AccountClassId == 3)) { decimal debitbalance, creditbalance; GetDebitCreditTotal(item, out debitbalance, out creditbalance); var v = GetRevenues(item, debitbalance, creditbalance); if (v != null) { Revenues.Add(v); } } foreach (var item in LedgerAccounts.Where(a => a.AccountClassId == 2)) { decimal debitbalance, creditbalance; GetDebitCreditTotal(item, out debitbalance, out creditbalance); var v = GetExpenses(item, debitbalance, creditbalance); if (v != null) { Expenses.Add(v); } } TotalRevenueRows = new ObservableCollection <RevenueVm>(new List <RevenueVm> { new RevenueVm { LedgerAccountName = "Total Revenues", Amount = TotalRevenueBalance } }); TotalExpenseRows = new ObservableCollection <ExpenseVm>(new List <ExpenseVm> { new ExpenseVm { LedgerAccountName = "Total Expenses", Amount = TotalExpenseBalance } }); NetIncomes = new ObservableCollection <Rms.Classes.NetIncome>(new List <NetIncome> { new NetIncome { LedgerAccountName = "Total", Amount = GetNetIncome() } }); }
public void GetBalanceSheet() { try { Assets = new ObservableCollection <AssetsVm>(); Liabilities = new ObservableCollection <LiabilitiesVm>(); Equities = new ObservableCollection <Rms.Classes.EquityVm>(); LiabilitiesAndEquity = new ObservableCollection <Rms.Classes.LiabilitiesAndEquity>(); TotalAssetsBalance = 0; TotalLiabilitiesBalance = 0; TotalEquityBalance = 0; #region grouping List <LedgerAccount> acountlistwithparentacount = new List <LedgerAccount>(); foreach (var item in LedgerAccounts.Where(a => a.parentLedgerAccount != null)) { acountlistwithparentacount.Add(item); } List <LedgerAccount> accountlistwithoutparentaccount = new List <LedgerAccount>(); accountlistwithoutparentaccount = LedgerAccounts.Except(acountlistwithparentacount).ToList(); var groups = acountlistwithparentacount.GroupBy(a => a.parentLedgerAccount); #endregion foreach (var item in groups) { decimal assetgroupbalance = 0; decimal liabilitiesgroupbalance = 0; decimal equitygroupbalance = 0; foreach (var i in LedgerAccounts.Where(a => a.parentLedgerAccount == item.Key && a.AccountClassId == 1)) { var v = GetAssets(i); if (v != null) { assetgroupbalance += v.Amount; } } if (assetgroupbalance != 0) { Assets.Add(new AssetsVm { LedgerAccountName = item.Key.AccountName, Amount = assetgroupbalance }); } foreach (var i in LedgerAccounts.Where(a => a.AccountClassId == 4 && a.parentLedgerAccount == item.Key)) { var v = GetLiabilities(i); if (v != null) { liabilitiesgroupbalance += v.Amount; } } if (liabilitiesgroupbalance != 0) { Liabilities.Add(new LiabilitiesVm { LedgerAccountName = item.Key.AccountName, Amount = liabilitiesgroupbalance }); } foreach (var i in LedgerAccounts.Where(a => a.AccountClassId == 5 && a.parentLedgerAccount == item.Key)) { var v = GetEquities(i); if (v != null) { equitygroupbalance += v.Amount; } } if (equitygroupbalance != 0) { Equities.Add(new EquityVm { LedgerAccountName = item.Key.AccountName, Amount = equitygroupbalance }); } } foreach (var item in accountlistwithoutparentaccount.Where(a => a.AccountClassId == 1)) { var v = GetAssets(item); if (v != null) { Assets.Add(v); } } foreach (var item in accountlistwithoutparentaccount.Where(a => a.AccountClassId == 4)) { var v = GetLiabilities(item); if (v != null) { Liabilities.Add(v); } } foreach (var item in accountlistwithoutparentaccount.Where(a => a.AccountClassId == 5)) { var v = GetEquities(item); if (v != null) { Equities.Add(v); } } GetIncomeStatement(true); var netincome = GetNetIncome(); if (netincome != 0) { Equities.Add(new EquityVm { LedgerAccountName = "Net Income", Amount = netincome }); } LiabilitiesAndEquity.Add(new Rms.Classes.LiabilitiesAndEquity { LedgerAccountName = "Total", Amount = TotalEquityBalance + GetNetIncome() + TotalLiabilitiesBalance }); TotalAssetsRows = new ObservableCollection <AssetsVm>(new List <AssetsVm> { new AssetsVm { LedgerAccountName = "Total Assets", Amount = TotalAssetsBalance } }); TotalLiabilitiesRows = new ObservableCollection <LiabilitiesVm>(new List <LiabilitiesVm> { new LiabilitiesVm { LedgerAccountName = "Total Liabilities", Amount = TotalLiabilitiesBalance } }); TotalEquitiesRows = new ObservableCollection <EquityVm>(new List <EquityVm> { new EquityVm { LedgerAccountName = "Total Equities", Amount = TotalEquityBalance + GetNetIncome() } }); } catch (Exception ex) { MessageBox.Show("Cannot Show BalanceSheet " + ex.Message); } }
public void GetIncomeStatement(bool ForBalanceSheet) { Revenues = new ObservableCollection <RevenueVm>(); Expenses = new ObservableCollection <ExpenseVm>(); TotalExpenseBalance = 0; TotalRevenueBalance = 0; #region grouping List <LedgerAccount> acountlistwithparentacount = new List <LedgerAccount>(); foreach (var item in LedgerAccounts.Where(a => a.parentLedgerAccount != null)) { acountlistwithparentacount.Add(item); } List <LedgerAccount> accountlistwithoutparentaccount = new List <LedgerAccount>(); accountlistwithoutparentaccount = LedgerAccounts.Except(acountlistwithparentacount).ToList(); var groups = acountlistwithparentacount.GroupBy(a => a.parentLedgerAccount); #endregion foreach (var i in groups) { decimal revenuegroupbalance = 0; decimal expensegroupbalance = 0; foreach (var item in LedgerAccounts.Where(a => a.AccountClassId == 3 && a.parentLedgerAccount == i.Key)) { decimal debitbalance, creditbalance; GetDebitCreditTotal(item, ForBalanceSheet, out debitbalance, out creditbalance); var v = GetRevenues(item, debitbalance, creditbalance); if (v != null) { revenuegroupbalance += v.Amount; } } foreach (var item in LedgerAccounts.Where(a => a.AccountClassId == 2 && a.parentLedgerAccount == i.Key)) { decimal debitbalance, creditbalance; GetDebitCreditTotal(item, ForBalanceSheet, out debitbalance, out creditbalance); var v = GetExpenses(item, debitbalance, creditbalance); if (v != null) { expensegroupbalance += v.Amount; } } if (revenuegroupbalance > 0) { Revenues.Add(new RevenueVm { LedgerAccountName = i.Key.AccountName, Amount = revenuegroupbalance }); } if (expensegroupbalance > 0) { Expenses.Add(new ExpenseVm { LedgerAccountName = i.Key.AccountName, Amount = expensegroupbalance }); } } foreach (var item in accountlistwithoutparentaccount.Where(a => a.AccountClassId == 3)) { decimal debitbalance, creditbalance; GetDebitCreditTotal(item, ForBalanceSheet, out debitbalance, out creditbalance); var v = GetRevenues(item, debitbalance, creditbalance); if (v != null) { Revenues.Add(v); } } foreach (var item in accountlistwithoutparentaccount.Where(a => a.AccountClassId == 2)) { decimal debitbalance, creditbalance; GetDebitCreditTotal(item, ForBalanceSheet, out debitbalance, out creditbalance); var v = GetExpenses(item, debitbalance, creditbalance); if (v != null) { Expenses.Add(v); } } TotalRevenueRows = new ObservableCollection <RevenueVm>(new List <RevenueVm> { new RevenueVm { LedgerAccountName = "Total Revenues", Amount = TotalRevenueBalance } }); TotalExpenseRows = new ObservableCollection <ExpenseVm>(new List <ExpenseVm> { new ExpenseVm { LedgerAccountName = "Total Expenses", Amount = TotalExpenseBalance } }); NetIncomes = new ObservableCollection <Rms.Classes.NetIncome>(new List <NetIncome> { new NetIncome { LedgerAccountName = "Total", Amount = GetNetIncome() } }); }
public void GetBalanceSheet() { CultureInfo info = new CultureInfo("ne-NP"); info.NumberFormat.CurrencySymbol = "Rs"; info.DateTimeFormat = new DateTimeFormatInfo(); info.DateTimeFormat.Calendar = new GregorianCalendar(GregorianCalendarTypes.Localized); info.DateTimeFormat.AMDesignator = "AM"; info.DateTimeFormat.PMDesignator = "PM"; System.Threading.Thread.CurrentThread.CurrentCulture = info; Thread.CurrentThread.CurrentUICulture = info; Assets = new ObservableCollection <AssetsVm>(); Liabilities = new ObservableCollection <LiabilitiesVm>(); Equities = new ObservableCollection <Rms.Classes.EquityVm>(); LiabilitiesAndEquity = new ObservableCollection <Rms.Classes.LiabilitiesAndEquity>(); TotalAssetsBalance = 0; TotalLiabilitiesBalance = 0; TotalEquityBalance = 0; Reports.Add(new BalanceSheetExport { AccountType = "Assets", Date = BalanceSheetDate.Date.ToLongDateString() }); #region grouping List <LedgerAccount> acountlistwithparentacount = new List <LedgerAccount>(); foreach (var item in LedgerAccounts.Where(a => a.parentLedgerAccount != null)) { acountlistwithparentacount.Add(item); } List <LedgerAccount> accountlistwithoutparentaccount = new List <LedgerAccount>(); accountlistwithoutparentaccount = LedgerAccounts.Except(acountlistwithparentacount).ToList(); var groups = acountlistwithparentacount.GroupBy(a => a.parentLedgerAccount); #endregion #region foreach foreach (var item in groups) { decimal assetgroupbalance = 0; foreach (var i in LedgerAccounts.Where(a => a.parentLedgerAccount == item.Key && a.AccountClassId == 1)) { var v = GetAssets(i); if (v != null) { assetgroupbalance += v.Amount; } } if (assetgroupbalance > 0) { Reports.Add(new BalanceSheetExport { Account = item.Key.AccountName, Balance = assetgroupbalance.ToString("C") }); // Assets.Add(new AssetsVm { LedgerAccountName = item.Key.AccountName, Amount = assetgroupbalance }); } } #endregion foreach (var item in accountlistwithoutparentaccount.Where(a => a.AccountClassId == 1)) { var v = GetAssets(item); if (v != null) { Reports.Add(new BalanceSheetExport { Account = v.LedgerAccountName, Balance = v.Amount.ToString("C") }); } } Reports.Add(new BalanceSheetExport { TotalHeading = "Total Assets", Total = TotalAssetsBalance.ToString("C") }); Reports.Add(new BalanceSheetExport { AccountType = "Liabilities" }); #region foreach foreach (var item in groups) { decimal liabilitiesgroupbalance = 0; foreach (var i in LedgerAccounts.Where(a => a.AccountClassId == 4 && a.parentLedgerAccount == item.Key)) { var v = GetLiabilities(i); if (v != null) { liabilitiesgroupbalance += v.Amount; } } if (liabilitiesgroupbalance > 0) { Reports.Add(new BalanceSheetExport { Account = item.Key.AccountName, Balance = liabilitiesgroupbalance.ToString("C") }); // Liabilities.Add(new LiabilitiesVm { LedgerAccountName = item.Key.AccountName, Amount = liabilitiesgroupbalance }); } } #endregion foreach (var item in accountlistwithoutparentaccount.Where(a => a.AccountClassId == 4)) { var v = GetLiabilities(item); if (v != null) { //Liabilities.Add(v); Reports.Add(new BalanceSheetExport { Account = v.LedgerAccountName, Balance = v.Amount.ToString("C") }); } } Reports.Add(new BalanceSheetExport { TotalHeading = "Total Liabilities", Total = TotalLiabilitiesBalance.ToString("C") }); Reports.Add(new BalanceSheetExport { AccountType = "Equity" }); #region foreach foreach (var item in groups) { decimal equitygroupbalance = 0; foreach (var i in LedgerAccounts.Where(a => a.AccountClassId == 5 && a.parentLedgerAccount == item.Key)) { var v = GetEquities(i); if (v != null) { equitygroupbalance += v.Amount; } } if (equitygroupbalance > 0) { Reports.Add(new BalanceSheetExport { Account = item.Key.AccountName, Balance = equitygroupbalance.ToString("C") }); } } #endregion foreach (var item in accountlistwithoutparentaccount.Where(a => a.AccountClassId == 5)) { var v = GetEquities(item); if (v != null) { //Equities.Add(v); Reports.Add(new BalanceSheetExport { Account = v.LedgerAccountName, Balance = v.Amount.ToString("C") }); } } GetIncomeStatement(); var lande = TotalEquityBalance + GetNetIncome() + TotalLiabilitiesBalance; var totalquity = TotalEquityBalance + GetNetIncome(); Reports.Add(new BalanceSheetExport { Account = "Net Income", Balance = GetNetIncome().ToString("C") }); Reports.Add(new BalanceSheetExport { TotalHeading = "Total Equities", Total = totalquity.ToString("C") }); Reports.Add(new BalanceSheetExport { }); Reports.Add(new BalanceSheetExport { TotalHeading = "Liabilities And Equity", Total = lande.ToString("C") }); }
public ObservableCollection <IncomeStatementExport> GetIncomeStatement() { CultureInfo info = new CultureInfo("ne-NP"); info.NumberFormat.CurrencySymbol = "Rs"; info.DateTimeFormat = new DateTimeFormatInfo(); info.DateTimeFormat.Calendar = new GregorianCalendar(GregorianCalendarTypes.Localized); info.DateTimeFormat.AMDesignator = "AM"; info.DateTimeFormat.PMDesignator = "PM"; System.Threading.Thread.CurrentThread.CurrentCulture = info; Thread.CurrentThread.CurrentUICulture = info; Revenues = new ObservableCollection <RevenueVm>(); Expenses = new ObservableCollection <ExpenseVm>(); TotalExpenseBalance = 0; TotalRevenueBalance = 0; #region grouping List <LedgerAccount> acountlistwithparentacount = new List <LedgerAccount>(); foreach (var item in LedgerAccounts.Where(a => a.parentLedgerAccount != null)) { acountlistwithparentacount.Add(item); } List <LedgerAccount> accountlistwithoutparentaccount = new List <LedgerAccount>(); accountlistwithoutparentaccount = LedgerAccounts.Except(acountlistwithparentacount).ToList(); var groups = acountlistwithparentacount.GroupBy(a => a.parentLedgerAccount); #endregion Reports.Add(new IncomeStatementExport { AccountType = "Revenue", Date = IncomeStatementDate.Date.ToLongDateString() }); foreach (var i in groups) { decimal revenuegroupbalance = 0; foreach (var item in LedgerAccounts.Where(a => a.AccountClassId == 3 && a.parentLedgerAccount == i.Key)) { decimal debitbalance, creditbalance; GetDebitCreditTotal(item, out debitbalance, out creditbalance); var v = GetRevenues(item, debitbalance, creditbalance); if (v != null) { revenuegroupbalance += v.Amount; } } if (revenuegroupbalance > 0) { Reports.Add(new IncomeStatementExport { Account = i.Key.AccountName, Balance = revenuegroupbalance.ToString("C") }); // Revenues.Add(new RevenueVm { LedgerAccountName = i.Key.AccountName, Amount = revenuegroupbalance }); } } foreach (var item in accountlistwithoutparentaccount.Where(a => a.AccountClassId == 3)) { decimal debitbalance, creditbalance; GetDebitCreditTotal(item, out debitbalance, out creditbalance); var v = GetRevenues(item, debitbalance, creditbalance); if (v != null) { Reports.Add(new IncomeStatementExport { Account = v.LedgerAccountName, Balance = v.Amount.ToString("C") }); } } Reports.Add(new IncomeStatementExport { TotalHeading = "TotalRevenue", Total = TotalRevenueBalance.ToString("C") }); //TotalRevenueRows = new ObservableCollection<RevenueVm>(new List<RevenueVm> //{ new RevenueVm { LedgerAccountName="Total Revenues", Amount=TotalRevenueBalance } }); Reports.Add(new IncomeStatementExport { AccountType = "Expense" }); foreach (var i in groups) { decimal expensegroupbalance = 0; foreach (var item in LedgerAccounts.Where(a => a.AccountClassId == 2 && a.parentLedgerAccount == i.Key)) { decimal debitbalance, creditbalance; GetDebitCreditTotal(item, out debitbalance, out creditbalance); var v = GetExpenses(item, debitbalance, creditbalance); if (v != null) { expensegroupbalance += v.Amount; } } if (expensegroupbalance > 0) { Reports.Add(new IncomeStatementExport { Account = i.Key.AccountName, Balance = expensegroupbalance.ToString("C") }); // Expenses.Add(new ExpenseVm { LedgerAccountName = i.Key.AccountName, Amount = expensegroupbalance }); } } foreach (var item in accountlistwithoutparentaccount.Where(a => a.AccountClassId == 2)) { decimal debitbalance, creditbalance; GetDebitCreditTotal(item, out debitbalance, out creditbalance); var v = GetExpenses(item, debitbalance, creditbalance); if (v != null) { Reports.Add(new IncomeStatementExport { Account = v.LedgerAccountName, Balance = v.Amount.ToString("C") }); } } Reports.Add(new IncomeStatementExport { TotalHeading = "Total Expense", Total = TotalExpenseBalance.ToString("C") }); //TotalExpenseRows = new ObservableCollection<ExpenseVm>(new List<ExpenseVm> //{ new ExpenseVm { LedgerAccountName="Total Expenses", Amount=TotalExpenseBalance } }); Reports.Add(new IncomeStatementExport { TotalHeading = "Net Income", Total = GetNetIncome().ToString("C") }); //NetIncomes = new ObservableCollection<Rms.Classes.NetIncome>(new List<NetIncome> //{ new NetIncome { LedgerAccountName="Total", Amount=GetNetIncome() } }); return(Reports); }
public void GetIncomeChart() { Revenues = new ObservableCollection <Rms.Classes.RevenueVm>(); try { TotalExpenseBalance = 0; TotalRevenueBalance = 0; var lineSerie = new OxyPlot.Series.LineSeries { ToolTip = "Revenue", // LabelFormatString = "Revenue", StrokeThickness = 1, MarkerSize = 3, Color = OxyColors.Green, MarkerFill = OxyColors.Green, MarkerStroke = OxyColors.Green, MarkerType = MarkerType.Diamond,// markerTypes[data.Key], CanTrackerInterpolatePoints = false, Title = "Revenue" }; var ExpenselineSerie = new OxyPlot.Series.LineSeries { ToolTip = "Expense", // LabelFormatString = "Expense", StrokeThickness = 1, MarkerSize = 3, Color = OxyColors.Red, MarkerFill = OxyColors.Red, MarkerStroke = OxyColors.Red, MarkerType = MarkerType.Diamond,// markerTypes[data.Key], CanTrackerInterpolatePoints = false, Title = "Expense" }; var NetIncomelineSerie = new OxyPlot.Series.LineSeries { ToolTip = "Net Income", // LabelFormatString = "Net Income", StrokeThickness = 1, MarkerSize = 3, Color = OxyColors.Blue, MarkerFill = OxyColors.Blue, MarkerStroke = OxyColors.Blue, MarkerType = MarkerType.Diamond,// markerTypes[data.Key], CanTrackerInterpolatePoints = false, Title = "Net Income" }; for (int i = 1; i <= DateTime.Today.Month + 1; i++) { int year = DateTime.Today.Year; DateTime interval = DateTime.Parse(string.Format("{0}-{1}-{2}", i, 1, year)); interval = interval.AddDays(-1); decimal Revenuebalance = 0; decimal ExpenseBalance = 0; foreach (var item in LedgerAccounts.Where(a => a.AccountClassId == 3)) { decimal debitbalance, creditbalance; GetDebitCreditTotal(item, interval, out debitbalance, out creditbalance); var v = GetRevenues(item, debitbalance, creditbalance); if (v != null) { Revenuebalance += v.Amount; // Revenues.Add(v); } } foreach (var item in LedgerAccounts.Where(a => a.AccountClassId == 2)) { decimal debitbalance, creditbalance; GetDebitCreditTotal(item, interval, out debitbalance, out creditbalance); var v = GetExpenses(item, debitbalance, creditbalance); if (v != null) { ExpenseBalance += v.Amount; } } lineSerie.Points.Add(new DataPoint(OxyPlot.Axes.DateTimeAxis.ToDouble(interval), (double)Revenuebalance)); ExpenselineSerie.Points.Add(new DataPoint(OxyPlot.Axes.DateTimeAxis.ToDouble(interval), (double)ExpenseBalance)); NetIncomelineSerie.Points.Add(new DataPoint(OxyPlot.Axes.DateTimeAxis.ToDouble(interval), (double)Revenuebalance - (double)ExpenseBalance)); } PlotModel.Series.Add(lineSerie); PlotModel.Series.Add(ExpenselineSerie); PlotModel.Series.Add(NetIncomelineSerie); } catch (Exception ex) { throw ex; } }
public void GetTrialBalance(DateTime Date) { try { Tbms = new ObservableCollection <Rms.Classes.TrialBalanceVm>(); TotalDebit = 0; TotalCredit = 0; #region grouping List <LedgerAccount> acountlistwithparentacount = new List <LedgerAccount>(); foreach (var item in LedgerAccounts.Where(a => a.parentLedgerAccount != null)) { acountlistwithparentacount.Add(item); } List <LedgerAccount> accountlistwithoutparentaccount = new List <LedgerAccount>(); accountlistwithoutparentaccount = LedgerAccounts.Except(acountlistwithparentacount).ToList(); var groups = acountlistwithparentacount.GroupBy(a => a.parentLedgerAccount); #endregion foreach (var i in groups) { bool moneyentered = false; Tbms.Add(new TrialBalanceVm { LedgerAccountName = i.Key.AccountName, IsParentAccount = true }); foreach (var item in LedgerAccounts.Where(a => a.parentLedgerAccount == i.Key)) { var v = GetBalanceForTrialBalance(item, Date); if (v != null) { Tbms.Add(v); moneyentered = true; } } if (!moneyentered) { Tbms.Remove(Tbms.LastOrDefault()); } } foreach (var item in accountlistwithoutparentaccount) { var v = GetBalanceForTrialBalance(item, Date); if (v != null) { v.IsParentAccount = true; Tbms.Add(v); } } TotalRows = new ObservableCollection <Rms.Classes.TrialBalanceVm>( new List <TrialBalanceVm> { new TrialBalanceVm { LedgerAccountName = "Total", DebitSide = TotalDebit, CreditSide = TotalCredit } }); } catch (Exception ex) { throw ex; } }