Epiworx.Data.EntityFramework.WeekDataFactory.Fetch C# (CSharp) Method

Fetch() private method

private Fetch ( Csla ctx, WeekDataCriteria criteria ) : IQueryable
ctx Csla
criteria WeekDataCriteria
return IQueryable
        private IQueryable<Week> Fetch(
             Csla.Data.ObjectContextManager<ApplicationEntities> ctx,
             WeekDataCriteria criteria)
        {
            IQueryable<Week> query = ctx.ObjectContext.Weeks;

            if (criteria.WeekId != null)
            {
                query = query.Where(row => row.WeekId == criteria.WeekId);
            }

            if (criteria.EndDate != null
                && criteria.EndDate.DateFrom.Date != DateTime.MinValue.Date)
            {
                query = query.Where(row => row.EndDate >= criteria.EndDate.DateFrom);
            }

            if (criteria.EndDate != null
                && (criteria.EndDate.DateTo.Date != DateTime.MaxValue.Date))
            {
                query = query.Where(row => row.EndDate <= criteria.EndDate.DateTo);
            }

            if (criteria.Period != null)
            {
                query = query.Where(row => row.Period == criteria.Period);
            }

            if (criteria.StartDate != null
                && criteria.StartDate.DateFrom.Date != DateTime.MinValue.Date)
            {
                query = query.Where(row => row.StartDate >= criteria.StartDate.DateFrom);
            }

            if (criteria.StartDate != null
                && (criteria.StartDate.DateTo.Date != DateTime.MaxValue.Date))
            {
                query = query.Where(row => row.StartDate <= criteria.StartDate.DateTo);
            }

            if (criteria.Year != null)
            {
                query = query.Where(row => row.Year == criteria.Year);
            }

            if (criteria.CreatedBy != null)
            {
                query = query.Where(row => row.CreatedBy == criteria.CreatedBy);
            }

            if (criteria.CreatedDate != null
                && criteria.CreatedDate.DateFrom.Date != DateTime.MinValue.Date)
            {
                query = query.Where(row => row.CreatedDate >= criteria.CreatedDate.DateFrom);
            }

            if (criteria.CreatedDate != null
                && (criteria.CreatedDate.DateTo.Date != DateTime.MaxValue.Date))
            {
                query = query.Where(row => row.CreatedDate <= criteria.CreatedDate.DateTo);
            }

            if (criteria.ModifiedBy != null)
            {
                query = query.Where(row => row.ModifiedBy == criteria.ModifiedBy);
            }

            if (criteria.ModifiedDate != null
                && criteria.ModifiedDate.DateFrom.Date != DateTime.MinValue.Date)
            {
                query = query.Where(row => row.ModifiedDate >= criteria.ModifiedDate.DateFrom);
            }

            if (criteria.ModifiedDate != null
                && (criteria.ModifiedDate.DateTo.Date != DateTime.MaxValue.Date))
            {
                query = query.Where(row => row.ModifiedDate <= criteria.ModifiedDate.DateTo);
            }

            if (criteria.SortBy != null)
            {
                query = query.OrderBy(string.Format(
                    "{0} {1}",
                    criteria.SortBy,
                    criteria.SortOrder == ListSortDirection.Ascending ? "ASC" : "DESC"));
            }

            if (criteria.SkipRecords != null)
            {
                query = query.Skip(criteria.SkipRecords.Value);
            }

            if (criteria.MaximumRecords != null)
            {
                query = query.Take(criteria.MaximumRecords.Value);
            }

            return query;
        }

Same methods

WeekDataFactory::Fetch ( WeekDataCriteria criteria ) : WeekData
WeekDataFactory::Fetch ( Week week, WeekData weekData ) : void