public async Task <List <CandidateDTO> > CalculCandidatesNotes() { var candidatesDTO = new List <CandidateDTO>(); int?note = 0; var candidates = await _repository.GetCandidatesAsync(); var tests = await _repository.GetTestsAsync(); var answers = await _repository.GetAnswersAsync(); foreach (var c in candidates) { foreach (var t in tests) { if (c.Test.Id == t.Id) { foreach (var cr in c.Result) { foreach (var a in answers) { if (cr.AnswerId == a.Id) { if (a.IsGood == 1) { note = note + 1; } } } } } } candidatesDTO.Add( new CandidateDTO(c.FirstName, c.LastName, c.Test.Title, (int)note) ); note = 0; } return(candidatesDTO); }