public IndexViewModel Load(OpsFilteringDataTableModel filtering) { filtering.Keyword = filtering.Keyword?.Trim().ToString(); var result = new IndexViewModel(); var taxes = _context.MstTaxes.Where(q => !q.IsDeleted); if (!string.IsNullOrEmpty(filtering.Keyword)) { taxes = taxes.Where(q => q.StartDate.ToString().Contains(filtering.Keyword) || q.EndDate.ToString().Contains(filtering.Keyword) || q.Value.ToString().Equals(filtering.Keyword)); } result.TotalRowsAfterFiltering = taxes.Count(); taxes = Filtering(taxes, filtering); result.Taxes = taxes .Select(q => new { q.Cd, q.StartDate, q.EndDate, q.Value }) .AsEnumerable() .Select(q => new MasterTaxItemModel() { Cd = q.Cd, StartDate = q.StartDate.ToString(Constants.ExactDateFormat), EndDate = q.EndDate?.ToString(Constants.ExactDateFormat), Value = q.Value }).ToList(); return(result); }
public IndexViewModel Load(OpsFilteringDataTableModel filtering) { filtering.Keyword = filtering.Keyword?.Trim().ToString(); var result = new IndexViewModel(); var companyType = _context.MstCompanyTypes.Where(q => !q.IsDeleted); if (!string.IsNullOrEmpty(filtering.Keyword)) { companyType = companyType.Where(q => q.Code.ToLower().Contains(filtering.Keyword.ToLower()) || q.Name.ToLower().Contains(filtering.Keyword.ToLower())); } result.TotalRowsAfterFiltering = companyType.Count(); companyType = Filtering(companyType, filtering); result.CompanyTypes = companyType .Select(q => new { q.Cd, q.Code, q.Name }) .AsEnumerable() .Select(q => new MasterCompanyTypeModel() { Cd = q.Cd, Code = q.Code, Name = q.Name }).ToList(); return(result); }
private IQueryable <MstTax> Filtering(IQueryable <MstTax> taxes, OpsFilteringDataTableModel filtering) { switch (filtering.SortColumnName) { case "StartDate": if (filtering.SortDirection == "asc") { taxes = taxes.OrderBy(x => x.StartDate).Skip(filtering.Start).Take(filtering.Length); } else { taxes = taxes.OrderByDescending(x => x.StartDate).Skip(filtering.Start).Take(filtering.Length); } break; case "EndDate": if (filtering.SortDirection == "asc") { taxes = taxes.OrderBy(x => !x.EndDate.HasValue).ThenBy(x => x.EndDate).Skip(filtering.Start).Take(filtering.Length); } else { taxes = taxes.OrderByDescending(x => !x.EndDate.HasValue).ThenByDescending(x => x.EndDate).Skip(filtering.Start).Take(filtering.Length); } break; case "Value": if (filtering.SortDirection == "asc") { taxes = taxes.OrderBy(x => x.Value).Skip(filtering.Start).Take(filtering.Length); } else { taxes = taxes.OrderByDescending(x => x.Value).Skip(filtering.Start).Take(filtering.Length); } break; default: if (filtering.SortDirection == "asc") { taxes = taxes.OrderBy(x => x.EndDate).Skip(filtering.Start).Take(filtering.Length); } else { taxes = taxes.OrderByDescending(x => x.EndDate).Skip(filtering.Start).Take(filtering.Length); } break; } return(taxes); }
private IQueryable <MstCareer> Filtering(IQueryable <MstCareer> careers, OpsFilteringDataTableModel filtering) { switch (filtering.SortColumnName) { case "code": if (filtering.SortDirection == "asc") { careers = careers.OrderBy(x => x.Code) .Skip(filtering.Start).Take(filtering.Length); } else { careers = careers.OrderByDescending(x => x.Code) .Skip(filtering.Start).Take(filtering.Length); } break; case "name": if (filtering.SortDirection == "asc") { careers = careers.OrderBy(x => x.Name.ToLower()) .Skip(filtering.Start).Take(filtering.Length); } else { careers = careers.OrderByDescending(x => x.Name.ToLower()) .Skip(filtering.Start).Take(filtering.Length); } break; case "nameKana": if (filtering.SortDirection == "asc") { careers = careers.OrderBy(x => x.NameKana.ToLower()) .Skip(filtering.Start).Take(filtering.Length); } else { careers = careers.OrderByDescending(x => x.NameKana.ToLower()) .Skip(filtering.Start).Take(filtering.Length); } break; } return(careers); }
private IQueryable <MstMedia> Filtering(IQueryable <MstMedia> medias, OpsFilteringDataTableModel filtering) { switch (filtering.SortColumnName) { case "name": if (filtering.SortDirection == "asc") { medias = medias.OrderBy(x => x.Name.ToLower()) .Skip(filtering.Start).Take(filtering.Length); } else { medias = medias.OrderByDescending(x => x.Name.ToLower()) .Skip(filtering.Start).Take(filtering.Length); } break; case "code": if (filtering.SortDirection == "asc") { medias = medias.OrderBy(x => x.Code.ToLower()).ThenBy(x => x.BranchCode.ToLower()) .Skip(filtering.Start).Take(filtering.Length); } else { medias = medias.OrderByDescending(x => x.Code.ToLower()).ThenByDescending(x => x.BranchCode.ToLower()) .Skip(filtering.Start).Take(filtering.Length); } break; case "branhCode": if (filtering.SortDirection == "asc") { medias = medias.OrderBy(x => x.BranchCode.ToLower()) .Skip(filtering.Start).Take(filtering.Length); } else { medias = medias.OrderByDescending(x => x.BranchCode.ToLower()) .Skip(filtering.Start).Take(filtering.Length); } break; case "nameKana": if (filtering.SortDirection == "asc") { medias = medias.OrderBy(x => x.NameKana.ToLower()) .Skip(filtering.Start).Take(filtering.Length); } else { medias = medias.OrderByDescending(x => x.NameKana.ToLower()) .Skip(filtering.Start).Take(filtering.Length); } break; case "flag": if (filtering.SortDirection == "asc") { medias = medias.OrderBy(x => x.Flag) .Skip(filtering.Start).Take(filtering.Length); } else { medias = medias.OrderByDescending(x => x.Flag) .Skip(filtering.Start).Take(filtering.Length); } break; case "spec": if (filtering.SortDirection == "asc") { medias = medias.OrderBy(x => x.Spec) .Skip(filtering.Start).Take(filtering.Length); } else { medias = medias.OrderByDescending(x => x.Spec) .Skip(filtering.Start).Take(filtering.Length); } break; } return(medias); }
private IQueryable <MstCompanyType> Filtering(IQueryable <MstCompanyType> companyTypes, OpsFilteringDataTableModel filtering) { switch (filtering.SortColumnName) { case "Cd": if (filtering.SortDirection == "asc") { companyTypes = companyTypes.OrderBy(x => x.Cd).Skip(filtering.Start).Take(filtering.Length); } else { companyTypes = companyTypes.OrderByDescending(x => x.Cd).Skip(filtering.Start).Take(filtering.Length); } break; case "Code": if (filtering.SortDirection == "asc") { companyTypes = companyTypes.OrderBy(x => x.Code).Skip(filtering.Start).Take(filtering.Length); } else { companyTypes = companyTypes.OrderByDescending(x => x.Code).Skip(filtering.Start).Take(filtering.Length); } break; case "Name": if (filtering.SortDirection == "asc") { companyTypes = companyTypes.OrderBy(x => x.Name).Skip(filtering.Start).Take(filtering.Length); } else { companyTypes = companyTypes.OrderByDescending(x => x.Name).Skip(filtering.Start).Take(filtering.Length); } break; default: if (filtering.SortDirection == "asc") { companyTypes = companyTypes.OrderBy(x => x.Cd).Skip(filtering.Start).Take(filtering.Length); } else { companyTypes = companyTypes.OrderByDescending(x => x.Cd).Skip(filtering.Start).Take(filtering.Length); } break; } return(companyTypes); }
private IQueryable <MstOrganization> Filtering(IQueryable <MstOrganization> organizations, OpsFilteringDataTableModel filtering) { switch (filtering.SortColumnName) { case "code": if (filtering.SortDirection == "asc") { organizations = organizations.OrderBy(x => x.Code).Skip(filtering.Start).Take(filtering.Length); } else { organizations = organizations.OrderByDescending(x => x.Code).Skip(filtering.Start).Take(filtering.Length); } break; case "name": if (filtering.SortDirection == "asc") { organizations = organizations.OrderBy(x => x.Name).Skip(filtering.Start).Take(filtering.Length); } else { organizations = organizations.OrderByDescending(x => x.Name).Skip(filtering.Start).Take(filtering.Length); } break; case "nameKana": if (filtering.SortDirection == "asc") { organizations = organizations.OrderBy(x => x.NameKana).Skip(filtering.Start).Take(filtering.Length); } else { organizations = organizations.OrderByDescending(x => x.NameKana).Skip(filtering.Start).Take(filtering.Length); } break; } return(organizations); }
/// <summary> /// Method to implement sort for User/list Survey /// </summary> /// <param name="artists"></param> /// <param name="filtering"></param> /// <returns></returns> private IQueryable <Survey> Filtering(IQueryable <Survey> surveys, OpsFilteringDataTableModel filtering) { switch (filtering.SortColumnName) { case "InsertDate": if (filtering.SortDirection == "asc") { surveys = surveys.OrderBy(x => x.InsertDate).Skip(filtering.Start).Take(filtering.Length); } else { surveys = surveys.OrderByDescending(x => x.InsertDate).Skip(filtering.Start).Take(filtering.Length); } break; case "MediaName": if (filtering.SortDirection == "asc") { surveys = surveys.OrderBy(x => x.Media.Name).Skip(filtering.Start).Take(filtering.Length); } else { surveys = surveys.OrderByDescending(x => x.Media.Name).Skip(filtering.Start).Take(filtering.Length); } break; case "VisitTimeDescription": if (filtering.SortDirection == "asc") { surveys = surveys.OrderBy(x => x.VisitTime).Skip(filtering.Start).Take(filtering.Length); } else { surveys = surveys.OrderByDescending(x => x.VisitTime).Skip(filtering.Start).Take(filtering.Length); } break; case "AgeRangeDescription": if (filtering.SortDirection == "asc") { surveys = surveys.OrderBy(x => x.AgeRange).Skip(filtering.Start).Take(filtering.Length); } else { surveys = surveys.OrderByDescending(x => x.AgeRange).Skip(filtering.Start).Take(filtering.Length); } break; case "GenderName": if (filtering.SortDirection == "asc") { surveys = surveys.OrderBy(x => x.Gender).Skip(filtering.Start).Take(filtering.Length); } else { surveys = surveys.OrderByDescending(x => x.Gender).Skip(filtering.Start).Take(filtering.Length); } break; case "CareerName": if (filtering.SortDirection == "asc") { surveys = surveys.OrderBy(x => x.Career.Name).Skip(filtering.Start).Take(filtering.Length); } else { surveys = surveys.OrderByDescending(x => x.Career.Name).Skip(filtering.Start).Take(filtering.Length); } break; case "IsMarriedDescription": if (filtering.SortDirection == "asc") { surveys = surveys.OrderBy(x => x.IsMarried).Skip(filtering.Start).Take(filtering.Length); } else { surveys = surveys.OrderByDescending(x => x.IsMarried).Skip(filtering.Start).Take(filtering.Length); } break; case "LivingStatusDescription": if (filtering.SortDirection == "asc") { surveys = surveys.OrderBy(x => x.LivingStatus).Skip(filtering.Start).Take(filtering.Length); } else { surveys = surveys.OrderByDescending(x => x.LivingStatus).Skip(filtering.Start).Take(filtering.Length); } break; case "IsComeToBuyDescription": if (filtering.SortDirection == "asc") { surveys = surveys.OrderBy(x => x.IsComeToBuy).Skip(filtering.Start).Take(filtering.Length); } else { surveys = surveys.OrderByDescending(x => x.IsComeToBuy).Skip(filtering.Start).Take(filtering.Length); } break; default: surveys = surveys.OrderByDescending(x => x.InsertDate).Skip(filtering.Start).Take(filtering.Length); break; } return(surveys); }
private IQueryable <MstProduct> Filtering(IQueryable <MstProduct> products, OpsFilteringDataTableModel filtering) { switch (filtering.SortColumnName) { case "code": if (filtering.SortDirection == "asc") { products = products.OrderBy(x => x.Code).Skip(filtering.Start).Take(filtering.Length); } else { products = products.OrderByDescending(x => x.Code).Skip(filtering.Start).Take(filtering.Length); } break; case "japaneseName": if (filtering.SortDirection == "asc") { products = products.OrderBy(x => x.JappaneseName).Skip(filtering.Start).Take(filtering.Length); } else { products = products.OrderByDescending(x => x.JappaneseName).Skip(filtering.Start).Take(filtering.Length); } break; case "itemName": if (filtering.SortDirection == "asc") { products = products.OrderBy(x => x.ItemName).Skip(filtering.Start).Take(filtering.Length); } else { products = products.OrderByDescending(x => x.ItemName).Skip(filtering.Start).Take(filtering.Length); } break; case "originalName": if (filtering.SortDirection == "asc") { products = products.OrderBy(x => x.OriginalName).Skip(filtering.Start).Take(filtering.Length); } else { products = products.OrderByDescending(x => x.OriginalName).Skip(filtering.Start).Take(filtering.Length); } break; case "categoryName": if (filtering.SortDirection == "asc") { products = products.OrderBy(x => x.CategoryName).Skip(filtering.Start).Take(filtering.Length); } else { products = products.OrderByDescending(x => x.CategoryName).Skip(filtering.Start).Take(filtering.Length); } break; case "price": if (filtering.SortDirection == "asc") { products = products.OrderBy(x => x.Price).Skip(filtering.Start).Take(filtering.Length); } else { products = products.OrderByDescending(x => x.Price).Skip(filtering.Start).Take(filtering.Length); } break; case "name": if (filtering.SortDirection == "asc") { products = products.OrderBy(x => x.Name).Skip(filtering.Start).Take(filtering.Length); } else { products = products.OrderByDescending(x => x.Name).Skip(filtering.Start).Take(filtering.Length); } break; case "nameKana": if (filtering.SortDirection == "asc") { products = products.OrderBy(x => x.NameKana).Skip(filtering.Start).Take(filtering.Length); } else { products = products.OrderByDescending(x => x.NameKana).Skip(filtering.Start).Take(filtering.Length); } break; case "artistCode": if (filtering.SortDirection == "asc") { products = products.OrderBy(x => x.Artist.Code).Skip(filtering.Start).Take(filtering.Length); } else { products = products.OrderByDescending(x => x.Artist.Code).Skip(filtering.Start).Take(filtering.Length); } break; case "" + "itemCategory": if (filtering.SortDirection == "asc") { products = products.OrderBy(x => x.ItemCategory).Skip(filtering.Start).Take(filtering.Length); } else { products = products.OrderByDescending(x => x.ItemCategory).Skip(filtering.Start).Take(filtering.Length); } break; default: products = products.OrderBy(x => x.Artist.Code).ThenBy(x => x.Code).Skip(filtering.Start).Take(filtering.Length); break; } return(products); }
private IQueryable <MstArtist> Filtering(IQueryable <MstArtist> artists, OpsFilteringDataTableModel filtering) { switch (filtering.SortColumnName) { case "code": if (filtering.SortDirection == "asc") { artists = artists.OrderBy(x => x.Code).Skip(filtering.Start).Take(filtering.Length); } else { artists = artists.OrderByDescending(x => x.Code).Skip(filtering.Start).Take(filtering.Length); } break; case "name": if (filtering.SortDirection == "asc") { artists = artists.OrderBy(x => x.Name).Skip(filtering.Start).Take(filtering.Length); } else { artists = artists.OrderByDescending(x => x.Name).Skip(filtering.Start).Take(filtering.Length); } break; case "itemName": if (filtering.SortDirection == "asc") { artists = artists.OrderBy(x => x.ItemName).Skip(filtering.Start).Take(filtering.Length); } else { artists = artists.OrderByDescending(x => x.ItemName).Skip(filtering.Start).Take(filtering.Length); } break; case "nameCategory": if (filtering.SortDirection == "asc") { artists = artists.OrderBy(x => x.CategoryName).Skip(filtering.Start).Take(filtering.Length); } else { artists = artists.OrderByDescending(x => x.CategoryName).Skip(filtering.Start).Take(filtering.Length); } break; case "nameKana": if (filtering.SortDirection == "asc") { artists = artists.OrderBy(x => x.NameKana).Skip(filtering.Start).Take(filtering.Length); } else { artists = artists.OrderByDescending(x => x.NameKana).Skip(filtering.Start).Take(filtering.Length); } break; case "isFavorited": if (filtering.SortDirection == "asc") { artists = artists.OrderBy(x => x.IsFavorited).Skip(filtering.Start).Take(filtering.Length); } else { artists = artists.OrderByDescending(x => x.IsFavorited).Skip(filtering.Start).Take(filtering.Length); } break; } return(artists); }
private IQueryable <MstProductAgreementType> Filtering(IQueryable <MstProductAgreementType> productAgreementTypes, OpsFilteringDataTableModel filtering) { switch (filtering.SortColumnName) { case "code": if (filtering.SortDirection == "asc") { productAgreementTypes = productAgreementTypes.OrderBy(x => x.Code).Skip(filtering.Start).Take(filtering.Length); } else { productAgreementTypes = productAgreementTypes.OrderByDescending(x => x.Code).Skip(filtering.Start).Take(filtering.Length); } break; case "name": if (filtering.SortDirection == "asc") { productAgreementTypes = productAgreementTypes.OrderBy(x => x.Name).Skip(filtering.Start).Take(filtering.Length); } else { productAgreementTypes = productAgreementTypes.OrderByDescending(x => x.Name).Skip(filtering.Start).Take(filtering.Length); } break; case "nameKana": if (filtering.SortDirection == "asc") { productAgreementTypes = productAgreementTypes.OrderBy(x => x.NameKana).Skip(filtering.Start).Take(filtering.Length); } else { productAgreementTypes = productAgreementTypes.OrderByDescending(x => x.NameKana).Skip(filtering.Start).Take(filtering.Length); } break; } return(productAgreementTypes); }
private IQueryable <MstTechnique> Filtering(IQueryable <MstTechnique> techniques, OpsFilteringDataTableModel filtering) { switch (filtering.SortColumnName) { case "code": if (filtering.SortDirection == "asc") { techniques = techniques.OrderBy(x => x.Code).Skip(filtering.Start).Take(filtering.Length); } else { techniques = techniques.OrderByDescending(x => x.Code).Skip(filtering.Start).Take(filtering.Length); } break; case "name": if (filtering.SortDirection == "asc") { techniques = techniques.OrderBy(x => x.Name).Skip(filtering.Start).Take(filtering.Length); } else { techniques = techniques.OrderByDescending(x => x.Name).Skip(filtering.Start).Take(filtering.Length); } break; case "nameKana": if (filtering.SortDirection == "asc") { techniques = techniques.OrderBy(x => x.NameKana).Skip(filtering.Start).Take(filtering.Length); } else { techniques = techniques.OrderByDescending(x => x.NameKana).Skip(filtering.Start).Take(filtering.Length); } break; } return(techniques); }
private IQueryable <MstPayment> Filtering(IQueryable <MstPayment> payments, OpsFilteringDataTableModel filtering) { switch (filtering.SortColumnName) { case "Category": if (filtering.SortDirection == "asc") { payments = payments.OrderBy(x => x.Category).Skip(filtering.Start).Take(filtering.Length); } else { payments = payments.OrderByDescending(x => x.Category).Skip(filtering.Start).Take(filtering.Length); } break; case "Code": if (filtering.SortDirection == "asc") { payments = payments.OrderBy(x => x.Code).Skip(filtering.Start).Take(filtering.Length); } else { payments = payments.OrderByDescending(x => x.Code).Skip(filtering.Start).Take(filtering.Length); } break; case "Name": if (filtering.SortDirection == "asc") { payments = payments.OrderBy(x => x.Name).Skip(filtering.Start).Take(filtering.Length); } else { payments = payments.OrderByDescending(x => x.Name).Skip(filtering.Start).Take(filtering.Length); } break; case "NameKn": if (filtering.SortDirection == "asc") { payments = payments.OrderBy(x => x.NameKn).Skip(filtering.Start).Take(filtering.Length); } else { payments = payments.OrderByDescending(x => x.NameKn).Skip(filtering.Start).Take(filtering.Length); } break; default: if (filtering.SortDirection == "asc") { payments = payments.OrderBy(x => x.Code).Skip(filtering.Start).Take(filtering.Length); } else { payments = payments.OrderByDescending(x => x.Code).Skip(filtering.Start).Take(filtering.Length); } break; } return(payments); }
private IQueryable <MstDepartment> Filtering(IQueryable <MstDepartment> departments, OpsFilteringDataTableModel filtering) { switch (filtering.SortColumnName) { case "code": if (filtering.SortDirection == "asc") { departments = departments.OrderBy(x => x.Code).Skip(filtering.Start).Take(filtering.Length); } else { departments = departments.OrderByDescending(x => x.Code).Skip(filtering.Start).Take(filtering.Length); } break; case "name": if (filtering.SortDirection == "asc") { departments = departments.OrderBy(x => x.Name).Skip(filtering.Start).Take(filtering.Length); } else { departments = departments.OrderByDescending(x => x.Name).Skip(filtering.Start).Take(filtering.Length); } break; case "nameKana": if (filtering.SortDirection == "asc") { departments = departments.OrderBy(x => x.NameKana).Skip(filtering.Start).Take(filtering.Length); } else { departments = departments.OrderByDescending(x => x.NameKana).Skip(filtering.Start).Take(filtering.Length); } break; } return(departments); }
private IQueryable <MstSalesman> Filtering(IQueryable <MstSalesman> salesman, OpsFilteringDataTableModel filtering) { switch (filtering.SortColumnName) { case "Code": if (filtering.SortDirection == "asc") { salesman = salesman.OrderBy(x => x.Code) .Skip(filtering.Start).Take(filtering.Length); } else { salesman = salesman.OrderByDescending(x => x.Code) .Skip(filtering.Start).Take(filtering.Length); } break; case "Name": if (filtering.SortDirection == "asc") { salesman = salesman.OrderBy(x => x.Name.ToLower()) .Skip(filtering.Start).Take(filtering.Length); } else { salesman = salesman.OrderByDescending(x => x.Name.ToLower()) .Skip(filtering.Start).Take(filtering.Length); } break; case "SalemanNameKana": if (filtering.SortDirection == "asc") { salesman = salesman.OrderBy(x => x.NameKana.ToLower()) .Skip(filtering.Start).Take(filtering.Length); } else { salesman = salesman.OrderByDescending(x => x.NameKana.ToLower()) .Skip(filtering.Start).Take(filtering.Length); } break; default: salesman = salesman.OrderBy(x => x.Code) .Skip(filtering.Start).Take(filtering.Length); break; } return(salesman); }
private IQueryable <MstEvent> Filtering(IQueryable <MstEvent> events, OpsFilteringDataTableModel filtering) { switch (filtering.SortColumnName) { case "EventCode": if (filtering.SortDirection == "asc") { events = events.OrderBy(x => x.Code) .Skip(filtering.Start).Take(filtering.Length); } else { events = events.OrderByDescending(x => x.Code) .Skip(filtering.Start).Take(filtering.Length); } break; case "Name": if (filtering.SortDirection == "asc") { events = events.OrderBy(x => x.Name.ToLower()) .Skip(filtering.Start).Take(filtering.Length); } else { events = events.OrderByDescending(x => x.Name.ToLower()) .Skip(filtering.Start).Take(filtering.Length); } break; case "EventNameKana": if (filtering.SortDirection == "asc") { events = events.OrderBy(x => x.NameKana.ToLower()) .Skip(filtering.Start).Take(filtering.Length); } else { events = events.OrderByDescending(x => x.NameKana.ToLower()) .Skip(filtering.Start).Take(filtering.Length); } break; case "StartDate": if (filtering.SortDirection == "asc") { events = events.OrderBy(x => x.StartDate) .Skip(filtering.Start).Take(filtering.Length); } else { events = events.OrderByDescending(x => x.StartDate) .Skip(filtering.Start).Take(filtering.Length); } break; case "EndDate": if (filtering.SortDirection == "asc") { events = events.OrderBy(x => x.EndDate) .Skip(filtering.Start).Take(filtering.Length); } else { events = events.OrderByDescending(x => x.EndDate) .Skip(filtering.Start).Take(filtering.Length); } break; case "SalemanName": if (filtering.SortDirection == "asc") { events = events.OrderBy(x => x.MainSalesman.Name.ToLower()) .Skip(filtering.Start).Take(filtering.Length); } else { events = events.OrderByDescending(x => x.MainSalesman.Name.ToLower()) .Skip(filtering.Start).Take(filtering.Length); } break; default: events = events.OrderByDescending(x => x.StartDate) .Skip(filtering.Start).Take(filtering.Length); break; } return(events); }