コード例 #1
0
        private IQueryable <ExpenseMDO> GetExpenseQuery(int userId, DateTime expenseDate, IList <IExpenseType> expenseTypes = null)
        {
            IQueryable <ExpenseMDO> expenseCollection         = new MongoDBManager().GetAll <ExpenseMDO>(EXPENSES);
            IQueryable <ExpenseMDO> expenseFilteredCollection = (from i in expenseCollection.Where(x => x.UserId == userId) select i);

            if (!expenseDate.IsDefault())
            {
                expenseFilteredCollection = expenseFilteredCollection.Where <ExpenseMDO>(x => x.ExpenseDate == expenseDate);
                if ((expenseTypes != null && expenseTypes.Any()))
                {
                    List <int> expenseTypeIds = expenseTypes.Select(t => t.TypeId).ToList <int>();
                    expenseFilteredCollection = expenseFilteredCollection.Where <ExpenseMDO>(x => x.ExpenseType.TypeId.In(expenseTypeIds));
                }
            }
            else if ((expenseTypes != null && expenseTypes.Any()))
            {
                List <int> expenseTypeIds = expenseTypes.Select(t => t.TypeId).ToList <int>();
                expenseFilteredCollection = expenseFilteredCollection.Where <ExpenseMDO>(x => x.ExpenseType.TypeId.In(expenseTypeIds));
            }
            return(expenseFilteredCollection.OrderByDescending(x => x.ExpenseDate)); // Order by desc by expense date (not considering Modified Date)
        }
コード例 #2
0
        private IQueryable <IncomeMDO> GetIncomeQuery(int userId, DateTime incomeDate, List <IIncomeType> incomeTypes = null)
        {
            IQueryable <IncomeMDO> incomeCollection         = new MongoDBManager().GetAll <IncomeMDO>("Incomes");
            IQueryable <IncomeMDO> incomeFilteredCollection = (from i in incomeCollection.Where(x => x.UserId == userId)
                                                               //orderby i.RowNumber ascending
                                                               select i);

            if (!incomeDate.IsDefault())
            {
                incomeFilteredCollection = incomeFilteredCollection.Where <IncomeMDO>(x => x.IncomeDate == incomeDate);
                if ((incomeTypes != null && incomeTypes.Any()))
                {
                    List <int> incomeTypeIds = incomeTypes.Select(t => t.TypeId).ToList <int>();
                    incomeFilteredCollection = incomeFilteredCollection.Where <IncomeMDO>(x => x.IncomeType.TypeId.In(incomeTypeIds));
                }
            }
            else if ((incomeTypes != null && incomeTypes.Any()))
            {
                List <int> incomeTypeIds = incomeTypes.Select(t => t.TypeId).ToList <int>();
                incomeFilteredCollection = incomeFilteredCollection.Where <IncomeMDO>(x => x.IncomeType.TypeId.In(incomeTypeIds));
            }
            return(incomeFilteredCollection);
        }