/// <inheritdoc /> public virtual ILogDto[] GetLogsSince(DateTimeOffset since, params LogType[] types) { var logs = Logs .AsNoTracking() .Where(l => l.CreatedOn >= since); if (types.Length > 0) { logs = logs.Where(l => types.Contains(l.Type)); } return(logs.ToArray <ILogDto>()); }
public async Task <LogIndexActionObject> Index(string orderNumber, string userName, int?page) { using (_unitOfWork) { IQueryable <Log> Logs; LogIndexActionObject _actionObject = new LogIndexActionObject(); int pageSize = 20; if (orderNumber != null) { Logs = _unitOfWork.LogRepository.Find(x => x.OrderNumber == orderNumber); if (Logs == null) { Logs = _unitOfWork.LogRepository.GetAllToIQuerable(); _actionObject.Success = false; _actionObject.Message = "There are no event records related to order with order number: " + orderNumber; } } else if (userName != null) { Logs = _unitOfWork.LogRepository.Find(x => x.UserName == userName); if (Logs == null) { Logs = _unitOfWork.LogRepository.GetAllToIQuerable(); _actionObject.Success = false; _actionObject.Message = "There are no event records related to user with user name: " + userName; } } else { Logs = _unitOfWork.LogRepository.GetAllToIQuerable(); } _actionObject.LogList = await PaginatedList <Log> .CreateAsync(Logs.AsNoTracking(), page ?? 1, pageSize); return(_actionObject); } }
/// <inheritdoc /> public virtual Source <ILogDto> GetLogs(Query?query) { return(Logs .AsNoTracking() .AsSource <ILogDto>()); }