public Common.PagedList GetMembers(SearchParameter param) { var pagedRecord = new Common.PagedList(); using (var context = _unitOfWork.DbContext) { Func <Member, object> orderByFunc = null; if (param.SortBy == "Lastname") { orderByFunc = item => item.Name; } else if (param.SortBy == "Firstname") { orderByFunc = item => item.FirstName; } else { orderByFunc = item => item.LastName; } //aa == null ? false : aa.Onlin pagedRecord.Content = (from m in context.Members join hhmTemp in context.HouseHoldMembers on m.MemberId equals hhmTemp.MemberId into hhmTempJoin from hhm in hhmTempJoin.DefaultIfEmpty() join hhTemp in context.HouseHolds on hhm.HouseHoldId equals hhTemp.HouseHoldId into hhTempJoin from hh in hhTempJoin.DefaultIfEmpty() select new Member { MemberId = m.MemberId, LastName = m.LastName, FirstName = m.FirstName, MemberOf = m.MemberOf ?? "NONE", Email = m.Email, Phone = m.Phone, DateOfBirth = m.DOB.Value, HouseholdName = hh.Name }).Where(x => param.SearchText == null || ((x.LastName.Contains(param.SearchText)) )).OrderBy(orderByFunc) .Skip((param.PageNumber - 1) * param.PageSize) .Take(param.PageSize) .ToList(); pagedRecord.TotalRecords = (from m in context.Members join hhmTemp in context.HouseHoldMembers on m.MemberId equals hhmTemp.MemberId into hhmTempJoin from hhm in hhmTempJoin.DefaultIfEmpty() join hhTemp in context.HouseHolds on hhm.HouseHoldId equals hhTemp.HouseHoldId into hhTempJoin from hh in hhTempJoin.DefaultIfEmpty() select m).Count(); pagedRecord.CurrentPage = param.PageNumber; pagedRecord.PageSize = param.PageSize; return(pagedRecord); } }
public Common.PagedList GetMembers(SearchParameter param) { var pagedRecord = new Common.PagedList(); using (var context = _unitOfWork.DbContext) { Func<Member, object> orderByFunc = null; if (param.SortBy == "Lastname") orderByFunc = item => item.Name; else if (param.SortBy == "Firstname") orderByFunc = item => item.FirstName; else orderByFunc = item => item.LastName; //aa == null ? false : aa.Onlin pagedRecord.Content = (from m in context.Members join hhmTemp in context.HouseHoldMembers on m.MemberId equals hhmTemp.MemberId into hhmTempJoin from hhm in hhmTempJoin.DefaultIfEmpty() join hhTemp in context.HouseHolds on hhm.HouseHoldId equals hhTemp.HouseHoldId into hhTempJoin from hh in hhTempJoin.DefaultIfEmpty() select new Member { MemberId = m.MemberId, LastName = m.LastName, FirstName = m.FirstName, MemberOf = m.MemberOf ?? "NONE", Email = m.Email, Phone = m.Phone, DateOfBirth = m.DOB.Value, HouseholdName = hh.Name }).Where(x => param.SearchText == null || ((x.LastName.Contains(param.SearchText)) )).OrderBy(orderByFunc) .Skip((param.PageNumber - 1) * param.PageSize) .Take(param.PageSize) .ToList(); pagedRecord.TotalRecords = (from m in context.Members join hhmTemp in context.HouseHoldMembers on m.MemberId equals hhmTemp.MemberId into hhmTempJoin from hhm in hhmTempJoin.DefaultIfEmpty() join hhTemp in context.HouseHolds on hhm.HouseHoldId equals hhTemp.HouseHoldId into hhTempJoin from hh in hhTempJoin.DefaultIfEmpty() select m).Count(); pagedRecord.CurrentPage = param.PageNumber; pagedRecord.PageSize = param.PageSize ; return pagedRecord; } }