示例#1
0
        public async Task <IRespostaDeCadastroDeMaterial> CadastraMaterial(ISolicitacaoDeCadastroDeMaterial solicitacao)
        {
            await unitOfWork.BeginTransaction();

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

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

                var material = new Material(
                    solicitacao.Id,
                    solicitacao.Nome,
                    solicitacao.Descricao,
                    solicitacao.CustoPadrao,
                    fabricante,
                    componente
                    );

                //

                await repositorioDeMateriais.Add(material);

                //

                await unitOfWork.Commit();

                //

                return(new RespostaDeCadastroDeMaterial
                {
                    Id = solicitacao.Id,
                });
            }
            catch (Exception e)
            {
                await unitOfWork.Rollback();

                throw;
            }
        }
示例#2
0
        public async Task <IRespostaDeCadastroDeFabricante> AtualizaFabricante(int fabricanteId, ISolicitacaoDeCadastroDeFabricante solicitacao)
        {
            await unitOfWork.BeginTransaction();

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

                //

                fabricante.Id = solicitacao.Id;

                fabricante.Nome = solicitacao.Nome;

                fabricante.Marca = solicitacao.Marca;

                fabricante.Site = solicitacao.Site;

                //

                await repositorioDeFabricantes.Update(fabricante);

                //

                await unitOfWork.Commit();

                //

                return(new RespostaDeCadastroDeFabricante
                {
                    Id = fabricanteId,
                });
            }
            catch (Exception e)
            {
                await unitOfWork.Rollback();

                throw;
            }
        }
        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;
            }
        }