private async Task <CreateParticipacaoResult> CreateParticipacaoInternalAsync(Guid idCategoria, Guid idFilme, CancellationToken cancellationToken) { // Validar que a Categoria existe var categoria = await context.Categorias.FindAsync(new object[] { idCategoria }, cancellationToken); if (categoria is null) { throw new KeyNotFoundException("Categoria não encontrada"); } // Validar que o Filme existe if ((await context.Filmes.FindAsync(new object[] { idFilme }, cancellationToken)) is null) { throw new KeyNotFoundException("Filme não encontrado"); } // Inserir a Partipacao através da Categoria var novaParticipacao = new Models.Participacao { IdCategoria = idCategoria, IdFilme = idFilme }; categoria.Participantes.Add(novaParticipacao); // Salvar Alterações await context.SaveChangesAsync(cancellationToken); // Retornar o result return(new CreateParticipacaoResult { DthCriacao = DateTime.Now, IdParticipacao = novaParticipacao.Id }); }
public ListPorParticipacaoIdResult(Models.Participacao participacao) { Participacao = participacao; }