Example #1
0
        public IActionResult Store(CreateViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(RedirectToAction("Index", "Error", new { errorMessage = ExpenseManagerResource.InvalidInputData }));
            }

            var account            = CurrentAccountProvider.GetCurrentAccount(HttpContext.User);
            var existingCategories = _expenseFacade.ListItemTypes(model.Name, account.Id, null);

            if (existingCategories.Count != 0)
            {
                return(RedirectToAction("Index", "Error", new { errorMessage = ExpenseManagerResource.CategoryExists }));
            }

            var costType = Mapper.Map <CostType>(model);

            costType.AccountId = account.Id;

            _expenseFacade.CreateItemType(costType);

            return(RedirectToAction("Index", new { successMessage = ExpenseManagerResource.CategoryCreated }));
        }
Example #2
0
        public IActionResult AddAccessToAccount(AddAccessViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(RedirectWithError(ExpenseManagerResource.InvalidInputData));
            }

            var user = GetUserFromEmail(model.Email);

            if (user == null)
            {
                return(RedirectWithError(ExpenseManagerResource.EmailDoesntExist));
            }
            if (user.AccountId != Guid.Empty) // todo this might not be best check
            {
                return(RedirectWithError(ExpenseManagerResource.AlreadyHasAccount));
            }

            var account = CurrentAccountProvider.GetCurrentAccount(HttpContext.User);

            _accountFacade.AttachAccountToUser(user.Id, account.Id, model.AccessType);

            return(RedirectToAction("Index", new { successMessage = ExpenseManagerResource.AccessGranted }));
        }