public async Task <ReportContract[]> GetReports(int taskId, string userId) { var task = await _repository.GetTask(taskId); var reports = task.Reports.Where(r => r.UserId == userId).ToArray(); if (reports.Length is 0) { throw new ReportsNotFoundException(); } return(reports.Select(r => _reportContractReconstructionFactory.Create(r)).ToArray()); }