public async Task Update(FabricacaoDeComponente fabricacaoDeComponente)
        {
            try
            {
                await db.SaveChangesAsync();
            }
            catch (Exception)
            {
                // TODO: Tratar erros de persistência aqui.

                throw new ApplicationException();
            }
        }
        public async Task <IRespostaDeCadastroDeFabricacaoDeComponente> CadastraFabricacaoDeComponente(ISolicitacaoDeCadastroDeFabricacaoDeComponente solicitacao)
        {
            await unitOfWork.BeginTransaction();

            try
            {
                var fabricante = await repositorioDeFabricantes.ObtemFabricante(solicitacao.FabricanteId);

                var componente = await repositorioDeComponentes.ObtemComponente(solicitacao.ComponenteId);

                var fabricacaoDeComponente = new FabricacaoDeComponente(
                    fabricante,
                    componente
                    );

                //

                await repositorioDeFabricacoesDeComponentes.Add(fabricacaoDeComponente);

                //

                await unitOfWork.Commit();

                //

                return(new RespostaDeCadastroDeFabricacaoDeComponente
                {
                });
            }
            catch (Exception e)
            {
                await unitOfWork.Rollback();

                throw;
            }
        }