private static IQueryable <CategorySummary> GetCategoriesSummaryItems(DateTime startDate,
                                                                       CategoryTypesEnum assetType, PersonalFinanceContainer context)
 {
     return(from category in context.Categories.Include(item => item.Items)
            where category.CategoryTypesId == (int)assetType &&
            category.Items.Count() > 0 &&
            category.Items.Any(item => item.DateAcquired >= startDate)
            select new CategorySummary
     {
         Id = category.Id,
         Name = category.Name,
         Total = category.Items.Sum(item => item.Value)
     });
 }
 private static IQueryable <PersonalFinance.Models.Item> GetOwnedItems(DateTime startDate, DateTime endDate,
                                                                       CategoryTypesEnum assetType, PersonalFinanceContainer context)
 {
     return(from asset in context.Items.Include(item => item.Category)
            where (asset.Category.CategoryType.Id == (int)assetType && (asset.DateAcquired >= startDate) && asset.DateAcquired <= endDate)
            orderby asset.DateAcquired
            select asset);
 }
 private static IQueryable <CategorySummary> GetCategoriesSummary(DateTime startDate, DateTime endDate,
                                                                  CategoryTypesEnum categoryType, PersonalFinanceContainer context)
 {
     return(from category in context.Categories.Include(table => table.Transactions)
            where category.CategoryTypesId == (int)categoryType &&
            category.Transactions.Count() > 0 &&
            category.Transactions.Any(transaction => transaction.Date >= startDate && transaction.Date <= endDate)
            select new CategorySummary
     {
         Id = category.Id,
         Name = category.Name,
         Total = category.Transactions.Sum(tran => tran.Amount)
     });
 }
        private static IQueryable <Transactions> GetSpending(DateTime startDate, DateTime endDate,
                                                             CategoryTypesEnum categoryType, PersonalFinanceContainer context)
        {
            var transactions = context.Transactions
                               .Include(table => table.Category)
                               //.Include(table => table.Category.CategoryType)
                               .Include(table => table.Partner);

            return(from transaction in transactions
                   where (transaction.Category.CategoryTypesId == (int)categoryType) &&
                   (transaction.Date >= startDate && transaction.Date <= endDate)
                   select transaction);
        }