Ejemplo n.º 1
0
        public IActionResult Get(int count)
        {
            var userFromAuth = UserService.GetUserFromClaims(this.User, UserRepo, RequestLogger);

            RequestLogger.UserId = userFromAuth.Id.ToString();

            var budgets = BudgetRepo.FindCountByOwner(userFromAuth.Id, count);

            return(Ok(budgets));
        }
Ejemplo n.º 2
0
        public IActionResult Delete([FromBody] Budget budget)
        {
            var userFromAuth = UserService.GetUserFromClaims(this.User, UserRepo, RequestLogger);

            RequestLogger.UserId = userFromAuth.Id.ToString();

            if (!budget.IsNew)
            {
                BudgetRepo.Delete(userFromAuth.Id, budget.Id);
            }
            var blankBudget = BudgetService.BuildNewBudget(budget.Description, budget.Year, budget.Month, userFromAuth.Id, userFromAuth.UserName);

            blankBudget.UpgradeBudgetIfNeeded(AccountRepo.FindAllByOwner(userFromAuth.Id));
            return(Ok(blankBudget));
        }
Ejemplo n.º 3
0
        public IActionResult Put([FromBody] Budget budget)
        {
            var userFromAuth = UserService.GetUserFromClaims(this.User, UserRepo, RequestLogger);

            RequestLogger.UserId = userFromAuth.Id.ToString();

            var accounts = AccountRepo.FindAllByOwner(userFromAuth.Id);

            CompleteMissingAccountActuals(budget, userFromAuth.Id, accounts);
            BudgetRepo.Upsert(budget, userFromAuth.UserName);
            var savedBudget = BudgetRepo.FindById(userFromAuth.Id, budget.Id);

            savedBudget.UpgradeBudgetIfNeeded(AccountRepo.FindAllByOwner(userFromAuth.Id));
            return(Ok(savedBudget));
        }
Ejemplo n.º 4
0
        public IActionResult Get(string description, int year, int month)
        {
            var userFromAuth = UserService.GetUserFromClaims(this.User, UserRepo, RequestLogger);

            RequestLogger.UserId = userFromAuth.Id.ToString();

            var budget = BudgetRepo.FindByIndex(userFromAuth.Id, description, month, year);

            // Not found, create a new "blank" budget they can use instead.
            if (budget == null)
            {
                budget = BudgetService.BuildNewBudget(description, year, month, userFromAuth.Id, userFromAuth.UserName);
            }
            budget.UpgradeBudgetIfNeeded(AccountRepo.FindAllByOwner(userFromAuth.Id));
            return(Ok(budget));
        }
Ejemplo n.º 5
0
        public IActionResult Get()
        {
            var userFromAuth = UserService.GetUserFromClaims(this.User, UserRepo, RequestLogger);

            RequestLogger.UserId = userFromAuth.Id.ToString();

            var statusModel = new UserStatusModel()
            {
                IsEnabled    = userFromAuth.IsEnabled,
                AccountCount = AccountRepo.FindCountByOwner(userFromAuth.Id),
                BudgetCount  = BudgetRepo.FindCountByOwner(userFromAuth.Id),
            };

            if (statusModel.AccountCount == 0 || statusModel.BudgetCount == 0)
            {
                statusModel.IsNew = true;
            }
            return(Ok(statusModel));
        }
Ejemplo n.º 6
0
        public IActionResult Post([FromBody] BudgetCopyRequest budgetCopyRequest)
        {
            var userFromAuth = UserService.GetUserFromClaims(this.User, UserRepo, RequestLogger);

            RequestLogger.UserId = userFromAuth.Id.ToString();

            if (budgetCopyRequest.SourceId.CompareTo(Guid.Empty) == 0)
            {
                return(StatusCode(400, "Invalid Source ID."));
            }

            if (budgetCopyRequest.DestinationMonth <= 0 || budgetCopyRequest.DestinationMonth > 12 || budgetCopyRequest.DestinationYear < 2000)
            {
                return(StatusCode(400, "Invalid Destination Month or Year."));
            }

            if (budgetCopyRequest.DestinationDescription.IsNullOrEmpty())
            {
                return(StatusCode(400, "Invalid Destination Description."));
            }

            var sourceBudget = BudgetRepo.FindById(userFromAuth.Id, budgetCopyRequest.SourceId);

            // Not found, create a new "blank" budget they can use instead.
            if (sourceBudget == null)
            {
                return(NotFound($"Budget Source with ID '{budgetCopyRequest.SourceId}' Not Found."));
            }

            var destinationBudget = BudgetService.BuildNewBudget(budgetCopyRequest.DestinationDescription, budgetCopyRequest.DestinationYear, budgetCopyRequest.DestinationMonth, userFromAuth.Id, userFromAuth.UserName);

            destinationBudget.UpgradeBudgetIfNeeded(AccountRepo.FindAllByOwner(userFromAuth.Id));
            sourceBudget.CopyFinancialsToDestinationBudget(destinationBudget, budgetCopyRequest.CopyActuals, true);
            BudgetRepo.Upsert(destinationBudget, userFromAuth.UserName);

            var savedBudget = BudgetRepo.FindById(userFromAuth.Id, destinationBudget.Id);

            return(Ok(savedBudget));
        }
Ejemplo n.º 7
0
        private IActionResult GetStatusInternal(bool acknowledgeAccomplishments)
        {
            var userFromAuth = UserService.GetUserFromClaims(this.User, UserRepo, RequestLogger);

            RequestLogger.UserId = userFromAuth.Id.ToString();

            var statusModel = new UserStatusModel()
            {
                IsEnabled    = userFromAuth.IsEnabled,
                AccountCount = AccountRepo.FindCountByOwner(userFromAuth.Id),
                BudgetCount  = BudgetRepo.FindCountByOwner(userFromAuth.Id),
            };

            if (statusModel.AccountCount == 0 || statusModel.BudgetCount == 0)
            {
                statusModel.IsNew = true;
            }
            if (AccomplishmentService.GetAccomplishmentsAndSettings(statusModel, userFromAuth, acknowledgeAccomplishments))
            {
                UserRepo.UpsertFromEditableModelStates(userFromAuth, userFromAuth.UserName);
            }
            return(Ok(statusModel));
        }