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));
        }
Example #2
0
 public Task <IPagedList <PlagiarizedFunctionNavigation> > Handle(GetLastPlagiarizedFunctionsByFunctionQuery request,
                                                                  CancellationToken cancellationToken)
 {
     return(_readSuspectFunctionRepository.GetPlagiarizedFunctions(request));
 }