private IQueryable <Data.Dao.ContactWithDetailsQueryResult> BaseQuery(Guid?contactUid = null) => ( from c in _unitOfWork.Query <Data.Dao.Contact>() join d in _unitOfWork.Query <Data.Dao.ContactDetail>() on c.Id equals d.ContactId into cd where (contactUid == null || c.Uid == contactUid) orderby c.Id select new Data.Dao.ContactWithDetailsQueryResult { Contact = c, Details = cd.ToList() } ).AsNoTracking();
public async Task <ManagerResponse <Contact> > Get(int pageNumber, int pageSize) { _logger.LogInformation("Get: Begin"); var totalCount = await _unitOfWork.Query <Data.Dao.Contact>() .LongCountAsync(); var skip = (pageNumber - 1) * pageSize; var daos = await _unitOfWork.Query <Data.Dao.Contact>() .AsNoTracking() .OrderBy(o => o.Id) .Skip(skip) .Take(pageSize) .ToListAsync(); var models = _mapper.Map <IEnumerable <Contact> >(daos) .ToList(); var result = new ManagerResponse <Contact> { ResultStatus = Common.Enums.ManagerResponseResult.Success, Result = new List <Contact>(), PageMeta = new PagingMetadata { PageNumber = pageNumber, PageSize = pageSize, Total = totalCount } }; result.Result.AddRange(models); _logger.LogInformation("Get: End"); return(result); }
private IQueryable <Data.Dao.Contact> ParentQuery(Guid contactUid) => _unitOfWork.Query <Data.Dao.Contact>() .Where(o => o.Uid == contactUid);