public String GetCategoryName(int CategoryId) { CategoryExpenseClient ac = new CategoryExpenseClient(); CategoryExpense category = ac.Find(CategoryId); return(category.Name); }
public object GetExpensePerCategory(int id) { var exp = from e in db.Expenses join c in db.ResourceItemCategories on e.ResourceItemCategoryId equals c.Id group e by c.Name into g select new { name = g.Key, thesum = g.Sum(e => e.Cost) }; var expenses = new List <CategoryExpense>(); foreach (var e in exp) { var expense = new CategoryExpense(); expense.Category = e.name; expense.ExpensePercent = e.thesum; expenses.Add(expense); } //var expense = new CategoryExpense(); //expense.Category = "cat 1"; //expense.ExpensePercent = 11; //expenses.Add(expense); //expense = new CategoryExpense(); //expense.Category = "cat 2"; //expense.ExpensePercent = 15; //expenses.Add(expense); //expense = new CategoryExpense(); //expense.Category = "cat 3"; //expense.ExpensePercent = 22; //expenses.Add(expense); return(expenses); }
public ActionResult Create(CategoryExpense CategoryExpense) { CategoryExpenseClient client = new CategoryExpenseClient(); client.Create(CategoryExpense); return(RedirectToAction("Index")); }
public async Task <IActionResult> PutCategory([FromRoute] int id, [FromBody] CategoryExpense CategoryExpense) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != CategoryExpense.Id) { return(BadRequest()); } _context.Entry(CategoryExpense).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!CategoryExpenseExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public ActionResult Edit(CategoryExpense CEVM) { CategoryExpenseClient client = new CategoryExpenseClient(); client.Edit(CEVM); return(RedirectToAction("Index")); }
protected ObservableCollection <CategoryExpense> GetCategorizedMonthResults(IEnumerable <Expense> expenses) { //var categories = await CategoriesDataStore.GetItemsAsync(true); var categories = App.CategoriesList; //List<string> categoryStrings = categories.Select(category => category.Name).ToList(); try { ObservableCollection <CategoryExpense> categoryExpenses = new ObservableCollection <CategoryExpense>(); foreach (var category in categories) { var sum = expenses.Where(expense => expense.BudgetItem.Name == category).Sum(expense => expense.Money); CategoryExpense categoryExpense = new CategoryExpense { Category = category, Money = sum }; categoryExpenses.Add(categoryExpense); } return(categoryExpenses); } catch (Exception ex) { Debug.WriteLine(ex); throw; } }
private static int CalculatePercentOfExecution(CategoryExpense category) { if (category.PlannedMoney == 0 && category.Money > 0) { return(999); } return((int)(category.Money / category.PlannedMoney * 100)); }
public CategoryExpenseDto UpdateCategoryExpenseAmountSpentAndAmountLeft(CategoryExpenseDto categoryExpenseDto) { CategoryExpense categoryExpense = _categoriesDAL.UpdateCategoryExpenseAmountSpentAndAmountLeft(categoryExpenseDto.CategoryExpenseId, categoryExpenseDto.AmountSpent, categoryExpenseDto.AmountLeft); if (categoryExpense != null) { CategoryExpenseDto mappedCategoryExpense = _mapper.Map <CategoryExpenseDto>(categoryExpense); return(mappedCategoryExpense); } return(null); }
public async Task <IActionResult> PostCategoryExpense([FromBody] CategoryExpense CategoryExpense) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } _context.CategoryExpense.Add(CategoryExpense); await _context.SaveChangesAsync(); return(CreatedAtAction("GetCategoryExpense", new { id = CategoryExpense.Id }, CategoryExpense)); }
public ActionResult Create() { ClaimsPrincipal currentUser = User; var userId = currentUser.FindFirst(ClaimTypes.NameIdentifier).Value; var model = new CategoryExpense { UserId = userId }; return(View(model)); }
public bool Edit(CategoryExpense CategoryExpense) { try { HttpClient client = new HttpClient { BaseAddress = new Uri(Base_URL) }; client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); HttpResponseMessage response = client.PutAsJsonAsync("CategoryExpenses/" + CategoryExpense.Id, CategoryExpense).Result; return(response.IsSuccessStatusCode); } catch { return(false); } }
public void GetExpensesPerCategory() { CategoryExpenses.Clear(); var totalExpenseAmount = Expense.TotalExpensesAmount(); foreach (var category in Models.Categories.CategoriesCollection) { var expenses = Expense.GetExpenses(category); var AmountInCategory = expenses.Sum(expense => expense.Amount); var categoryExpense = new CategoryExpense() { Category = category, ExpensesPercentage = AmountInCategory / totalExpenseAmount }; CategoryExpenses.Add(categoryExpense); } }
public void GetExpensesPerCategory() { CategoryExpenses.Clear(); var totalExpensesAmount = Expense.GetTotalExpensesAmount(); foreach (var category in Categories) { var expenses = Expense.GetExpenses(category); var expensesAmountInCategory = expenses.Sum(e => e.Amount); var categoryExpense = new CategoryExpense { Category = category, ExpensesPercentage = expensesAmountInCategory / totalExpensesAmount }; CategoryExpenses.Add(categoryExpense); } }
/* * public DataResult UpdateCategoryExpense(CategoryExpenseDto categoryExpenseDto) * { * CategoryExpense categoryExpense = _categoriesDAL.GetCategoryExpenseById(categoryExpenseDto.CategoryExpenseId); * * if (categoryExpense != null) * { * if (Decimal.Compare(categoryExpense.UpperBudgetAmount, categoryExpenseDto.UpperBudgetAmount) != 0 || Decimal.Compare(categoryExpense.LowerBudgetAmount, categoryExpenseDto.LowerBudgetAmount) != 0) * { * decimal updatedLowerBudgetAmount = categoryExpenseDto.LowerBudgetAmount; * decimal updatedUpperBudgetAmount = categoryExpenseDto.UpperBudgetAmount; * * _categoriesDAL.UpdateCategoryExpenseBudgetLimits(categoryExpenseDto.CategoryExpenseId, updatedUpperBudgetAmount, updatedLowerBudgetAmount); * } * else if (Decimal.Compare(categoryExpense.AmountLeft, categoryExpenseDto.AmountLeft) != 0 || Decimal.Compare(categoryExpense.AmountSpent, categoryExpenseDto.AmountSpent) != 0) * { * decimal updatedAmountLeft = categoryExpenseDto.AmountLeft; * decimal updatedAmountSpent = categoryExpenseDto.AmountSpent; * * _categoriesDAL.UpdateCategoryExpenseAmountSpentAndAmountLeft(categoryExpenseDto.CategoryExpenseId, updatedAmountSpent, updatedAmountLeft); * } * } * * CategoryExpense updatedCategoryExpense = _categoriesDAL.GetCategoryExpenseById(categoryExpenseDto.CategoryExpenseId); * * if (updatedCategoryExpense != null) * { * CategoryExpenseDto mappedCategoryExpense = _mapper.Map<CategoryExpenseDto>(updatedCategoryExpense); * * return mappedCategoryExpense; * } * * return null; * } */ public DataResult UpdateCategoryExpenseBudgetLimits(CategoryExpenseDto categoryExpenseDto) { List <string> validationMessages = new List <string>(); bool success = false; CategoryExpenseDto mappedCategoryExpense = null; CategoryExpense categoryExpense = _categoriesDAL.UpdateCategoryExpenseBudgetLimits(categoryExpenseDto.CategoryExpenseId, categoryExpenseDto.UpperBudgetAmount, categoryExpenseDto.LowerBudgetAmount); decimal updatedAmountLeft = categoryExpense.UpperBudgetAmount - categoryExpense.AmountSpent; if (updatedAmountLeft < 0) { updatedAmountLeft = 0; } categoryExpense = _categoriesDAL.UpdateCategoryExpenseAmountSpentAndAmountLeft(categoryExpenseDto.CategoryExpenseId, categoryExpense.AmountSpent, updatedAmountLeft); if (categoryExpense != null) { List <Transaction> transactions = _transactionsDAL.GetTransactionsByCategoryExpenseId(categoryExpense.CategoryExpenseId).OrderByDescending(t => t.Date).ToList(); categoryExpense.Transactions = transactions; mappedCategoryExpense = _mapper.Map <CategoryExpenseDto>(categoryExpense); if (mappedCategoryExpense != null) { success = true; } } if (!success) { validationMessages.Add("Could not update budget limits. Please refresh page and try again."); } return(new DataResult(mappedCategoryExpense, success, validationMessages)); }
public DataResult UpdateCategoryStatuses(string userId, List <CategoryStatusDto> categoryStatusDtos) { List <string> validationMessages = new List <string>(); bool success = false; CategoryData categoryData = _categoriesDAL.GetCategoryData(userId); MonthExpenditure activeMonthExpenditure = _monthExpenditureDAL.GetActiveMonthExpenditure(userId); CategoryDataDto categoryDataDto = null; if (activeMonthExpenditure != null) { List <CategoryExpense> categoryExpenses = _categoriesDAL.GetCategoryExpensesByMonthExpenditureId(activeMonthExpenditure.MonthExpenditureId).ToList(); bool updateStatus = true; foreach (var categoryStatus in categoryStatusDtos.Where(cs => cs.State != State.Unchanged)) { if (categoryStatus.State == State.Unchanged) { continue; } else if (categoryStatus.State == State.Added) { CategoryExpense categoryExpense = _categoriesDAL.CreateCategoryExpense(userId, categoryStatus.CategoryTypeId, activeMonthExpenditure.MonthExpenditureId); updateStatus = (categoryExpense == null) ? false : true; } else if (categoryStatus.State == State.Deleted) { CategoryExpense categoryExpense = categoryExpenses.FirstOrDefault(ce => ce.CategoryTypeId == categoryStatus.CategoryTypeId); updateStatus = _categoriesDAL.DeleteCategoryExpense(categoryExpense.CategoryExpenseId); } updateStatus = _categoriesDAL.UpdateCategoryStatus(userId, categoryStatus.CategoryTypeId, categoryStatus.IsActive); } if (updateStatus) { List <CategoryStatusDto> categoryStatuses = MapCategoryStatuses(userId); categoryExpenses = _categoriesDAL.GetCategoryExpensesByMonthExpenditureId(activeMonthExpenditure.MonthExpenditureId).OrderBy(ce => ce.CategoryTypeId).ToList(); foreach (CategoryExpense categoryExpense in categoryExpenses) { List <Transaction> transactions = _transactionsDAL.GetTransactionsByCategoryExpenseId(categoryExpense.CategoryExpenseId).OrderByDescending(t => t.Date).ToList(); categoryExpense.Transactions = transactions; } List <CategoryExpenseDto> mappedCategoryExpense = _mapper.Map <List <CategoryExpenseDto> >(categoryExpenses); categoryDataDto = new CategoryDataDto() { CategoryExpenses = mappedCategoryExpense, CategoryStatuses = categoryStatuses }; } success = updateStatus; } if (!success) { validationMessages.Add("Cannot update category settings. Please refresh page and try again."); } return(new DataResult(categoryDataDto, success, validationMessages)); }