public async Task <IEnumerable <TurmaDto> > ObterTurmasAtribuidasAoProfessorPorEscolaEAnoLetivo(string rfProfessor, string codigoEscola, int anoLetivo) { IEnumerable <TurmaDto> turmasDto = null; var chaveCache = $"Turmas-Professor-{rfProfessor}-ano-{anoLetivo}-escolal-{codigoEscola}"; var disciplinasCacheString = repositorioCache.Obter(chaveCache); if (!string.IsNullOrWhiteSpace(disciplinasCacheString)) { turmasDto = JsonConvert.DeserializeObject <IEnumerable <TurmaDto> >(disciplinasCacheString); } else { turmasDto = await servicoEOL.ObterTurmasAtribuidasAoProfessorPorEscolaEAnoLetivo(rfProfessor, codigoEscola, anoLetivo); if (turmasDto != null && turmasDto.Any()) { await repositorioCache.SalvarAsync(chaveCache, JsonConvert.SerializeObject(turmasDto)); } } return(turmasDto); }