internal DataModel.Budget GetBudget(string oCat) { List <DataModel.Budget> lBudgets = oFactory.oData.Budget_RetrieveAll(); DataModel.Budget oBudget = lBudgets.Where(tmp => tmp.Category == oCat).FirstOrDefault(); return(oBudget); }
internal DataModel.Budget RemoveBudget(DataModel.Budget oBudget) { try { oFactory.oData.Budget_Delete((DataModel.eCategory)Enum.Parse(typeof(DataModel.eCategory), oBudget.Category)); } catch (Exception ex) { oBudget.Success = false; oBudget.Message = "Failed to remove Budget: " + ex.Message + ex.StackTrace; } return(oBudget); }
private void Budget_Update(DataModel.Budget oBudget) { List <DataModel.Budget> lBudgets = Budget_RetrieveAll(); for (int i = 0; i < lBudgets.Count; i++) { if (lBudgets[i].Category == oBudget.Category) { lBudgets[i] = oBudget; break; } } UpdateBudgetsFile(lBudgets); }
internal DataModel.Budget AddUpdateBudget(DataModel.Budget oBudget) { try { oFactory.oData.Budget_AddUpdate(oBudget); if (!ValidateBudget((DataModel.eCategory)Enum.Parse(typeof(DataModel.eCategory), oBudget.Category))) { oBudget.Message = OverBudgetMessage; } } catch (Exception ex) { oBudget.Success = false; oBudget.Message = "Failed to add Budget: " + ex.Message + ex.StackTrace; } return(oBudget); }
private bool ValidateBudget(DataModel.eCategory oCategory) { // Grab all Transactions that have an amount and under the category inputted and they said that they want to include it in the budget. List <DataModel.Transaction> lTransactions = oFactory.oData.RetrieveTransactions().Where(tmpTran => tmpTran.IgnoreBudget == false && tmpTran.Category == oCategory.ToString() && tmpTran.Amount != null && tmpTran.Amount > 0 && DateTime.Parse(tmpTran.TransactionDate).Month == DateTime.Now.Month).ToList(); // Get the budget for the inputted category DataModel.Budget oBudget = oFactory.oData.Budget_RetrieveAll().Where(tmpBudget => tmpBudget.Category == oCategory.ToString()).FirstOrDefault(); if (oBudget != null && !string.IsNullOrEmpty(oBudget.Value) && lTransactions?.Count > 0) { decimal BudgetValue = Convert.ToDecimal(oBudget.Value); decimal TransactionValue = lTransactions.Sum(tmpTran => (decimal)tmpTran.Amount); if (TransactionValue > BudgetValue) { return(false); } } return(true); }
public void Budget_AddUpdate(DataModel.Budget oBudget) { List <DataModel.Budget> lBudgets = Budget_RetrieveAll(); DataModel.Budget existingBudget = lBudgets.Where(tmpBudget => tmpBudget.Category == oBudget.Category).FirstOrDefault(); for (int i = 0; i < lBudgets.Count; i++) { if (lBudgets[i].Category == oBudget.Category) { lBudgets[i] = oBudget; break; } } if (existingBudget == null) { lBudgets.Add(oBudget); } UpdateBudgetsFile(lBudgets); }