public async Task <IActionResult> List(int?id) { var vm = new BudgetListViewModel(); var user = await _userManager.GetUserAsync(HttpContext.User); var userID = _userManager.GetUserId(User); IEnumerable <Budget> budgets = _budgetRepo.GetAll(userID); if (id != null) { vm.Budgets = budgets; vm.Budget = _budgetRepo.Get((int)id); vm.Expenses = _budgetRepo.GetExpenses((int)id); return(View(vm)); } var budget = _budgetRepo.GetAll(userID).FirstOrDefault(); if (budget != null) { vm.Budget = budget; vm.Expenses = _budgetRepo.GetExpenses(budget.Id); vm.Budgets = budgets; return(View(vm)); } return(View(vm)); }
public int Add(ExpenditureParam param) { int id = 0; Validate.NotNull(param.ExpenditureName, "Expenditure name is required."); var budget = _budgetRepository.Get(param.BudgetId); Validate.NotNull(budget, "Budget name is not found."); Expenditure modelHeader = new Expenditure(); using (_unitOfWork) { var currentData = _expenditureRepository.GetByExpenditureDate(param.ExpenditureDate); if (currentData == null) { Expenditure model = new Expenditure(param.ExpenditureDate, param.Price, param.CreatedBy, param.CreatedDate); _expenditureRepository.Insert(model); id = model.Id; modelHeader = model; //insert detail ExpenditureDetail modelDetail = new ExpenditureDetail(param.ExpenditureName, param.ExpenditureDefinition, param.Price, model, budget, param.CreatedBy, param.CreatedDate); _expenditureDetailRepository.Insert(modelDetail); } else { //insert detail ExpenditureDetail modelDetail = new ExpenditureDetail(param.ExpenditureName, param.ExpenditureDefinition, param.Price, modelHeader, budget, param.CreatedBy, param.CreatedDate); _expenditureDetailRepository.Insert(modelDetail); //add total var dataHeader = _expenditureRepository.Get(param.ExpenditureId); var totalPerDay = CalculateTotalPerDay(param.ExpenditureId); var grandTotal = dataHeader.Total + totalPerDay; dataHeader.AddTotal(grandTotal); } _unitOfWork.Commit(); } return(id); }
public int Add(IncomeParam param) { int id = 0; Validate.NotNull(param.IncomeName, "Income name is required."); var budget = _budgetRepository.Get(param.BudgetId); Validate.NotNull(budget, "Budget name is not found."); isExist(param.IncomeName, param.IncomeDate); using (_unitOfWork) { Income model = new Income(param.IncomeName, param.Definition, param.IncomeDate, param.Amount, budget, param.CreatedBy, param.CreatedDate); _incomeRepository.Insert(model); _unitOfWork.Commit(); id = model.Id; } return(id); }
public static void GenerateEvent( IBudgetRepository budgetRepository, IEventRepository eventRepository, IUserRepository userRepository, List<Dictionary<Guid, int>> eventGuids, Guid userId) { var user = userRepository.GetById(userId); var events = new Event(user); var budgets = new Budget(user); foreach (var eventGuid in eventGuids) { var budget = budgetRepository.Get(eventGuid.First().Key); var eventItem = new Budget(budget, eventGuid.First().Value); events.AddItem(budget); } }
public async Task <IEnumerable <Budget> > Get([FromQuery] DateTime date) { return(await _repository.Get(date)); }
public Budget Get(int id) { return(_budgetRepository.Get(id)); }
public List <Budget> Get() { return(budgetRepository.Get()); }