Beispiel #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));
        }
        public ActionResult ListAll(string errorMessage, bool showAll = false)
        {
            var model = new BudgetListViewModel(userManager.GetRoles(User.Identity.GetUserId()));
            IEnumerable <Budget> budgets = null;

            if (showAll)
            {
                model.Error = errorMessage;
                budgets     = budgetRepository.Where(b => b.Client.IsActive).OrderBy(b => b.IsHandled).ThenBy(b => b.Month).ToList();
            }
            else
            {
                var currentUserId = User.Identity.GetUserId();
                model.Error = errorMessage;
                budgets     = budgetRepository.Where(b => b.Client.IsActive && (b.Client.AccountManagerId == currentUserId || b.Client.ConsultantId == currentUserId)).OrderBy(b => b.IsHandled).ThenBy(b => b.Month).ToList();
            }

            foreach (var budget in budgets)
            {
                var budgetViewModel = new BudgetViewModel(budget);
                model.Budgets.Add(budgetViewModel);
            }

            if (User.IsInRole("consultant"))
            {
                model.CanMarkBudgetAsDone = true;
            }
            else
            {
                model.CanMarkBudgetAsDone = false;
            }

            return(View(model));
        }
Beispiel #3
0
        public virtual ActionResult Index()
        {
            var budgets = ProjectionManager.GetBudgetsList().GetBudgetsUserCanView(GetCurrentUserId());

            var model = new BudgetListViewModel(budgets);

            return(View(model));
        }