Beispiel #1
0
        private IEnumerable <SumByCategories> RetrieveDataFromStorage(
            ITransactionFilteredSource transactionFilteredSource)
        {
            var allTransactions = transactionFilteredSource.GetTransactions(_transactionStorage).ToArray();//_transactionStorage.GetAllTransactions();

            var totalSum = allTransactions.Sum(x => x.Total);

            var sumByCategories = allTransactions.GroupBy(x => new Tuple <IAccount, ICategory>(x.Account, x.Category));

            var sum = sumByCategories.Select(g => new SumByCategories
            {
                Account    = g.Key.Item1,
                Category   = g.Key.Item2,
                Total      = g.Sum(x => x.Total),
                Percentage = GetPercentage(g.Sum(x => x.Total), totalSum),
            });

            return(sum);
        }
Beispiel #2
0
 public IEnumerable <ITransaction> Execute(ITransactionFilteredSource transactionFilteredSource)
 {
     return(transactionFilteredSource.GetTransactions(_transactionStorage));
 }