Beispiel #1
0
        public Goal GetGoalById(string goalId, string clientId)
        {
            MongoDatabase database = new MongoDatabase(databaseName, connectionString);
            Goal          goal     = database.LoadRecordById <Goal>(tableName, goalId, nameof(Goal.Id));
            Account       account  = new AccountDataService(connectionString).GetAccountById(goal.AccountId, clientId);

            goal.CurrentAmount = account?.CurrentBalance;
            goal.AccountName   = account?.AccountName;
            return(goal.ClientId != clientId ? null : goal);
        }
Beispiel #2
0
        public List <Goal> GetGoals(string clientId)
        {
            MongoDatabase database = new MongoDatabase(databaseName, connectionString);
            var           filter   = Builders <Goal> .Filter.Eq(nameof(Goal.ClientId), clientId);

            List <Goal> goals = database.LoadRecordsByFilter(tableName, filter);

            foreach (IGrouping <string, Goal> accountGoals in goals.GroupBy(g => g.AccountId))
            {
                Account account = new AccountDataService(connectionString).GetAccountById(accountGoals.Key, clientId);
                if (account == null)
                {
                    continue;
                }

                foreach (Goal accountGoal in accountGoals)
                {
                    accountGoal.CurrentAmount = account.CurrentBalance;
                    accountGoal.AccountName   = account.AccountName;
                }
            }

            return(goals);
        }