Beispiel #1
0
        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;
 }