Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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));
 }
Esempio n. 6
0
 public Budget Get(int id)
 {
     return(_budgetRepository.Get(id));
 }
Esempio n. 7
0
 public List <Budget> Get()
 {
     return(budgetRepository.Get());
 }