public async Task <IActionResult> IniciarEdicao(Edicao edicao) { var edicoes = await contexto.Edicoes.ToListAsync(); var possuiEdicaoAberta = edicoes.Any(x => x.Status == StatusDaEdicao.Aberta); if (possuiEdicaoAberta) { return(BadRequest("Já existe uma edição aberta!")); } var ultimaEdicao = edicoes.Count() > 0 ? edicoes.Max(x => x.Numero) : 0; edicao.DefinirNumeroDaEdicao(ultimaEdicao); contexto.Add(edicao); await contexto.SaveChangesAsync(); if (edicao == null) { return(BadRequest()); } else { return(Ok()); } }