public async Task <IPagedList <PlagiarizedFunctionNavigation> > GetPlagiarizedFunctions( GetLastPlagiarizedFunctionsByFunctionQuery query) { var functions = await GetIncludeUserFunction() .Where(uF => !uF.User.IsDeleted && !uF.Function.IsDeleted && uF.Function.CheatingFunctions .Any(cF => !cF.CheatingFunction.IsDeleted && cF.IsValid == null && cF.CheatingFunctionId == query.FunctionId)) .ToListAsync(); functions = functions.GroupBy(uF => uF.FunctionId) .Select(userFuncGrp => userFuncGrp.OrderByDescending(function => function.LastModificationDate).First() ) .ToList(); return(functions.Select(uF => ToPlagiarizedFunctionNavigation(uF, query.FunctionId)).FromEnumerable(query)); }
public Task <IPagedList <PlagiarizedFunctionNavigation> > Handle(GetLastPlagiarizedFunctionsByFunctionQuery request, CancellationToken cancellationToken) { return(_readSuspectFunctionRepository.GetPlagiarizedFunctions(request)); }