public async Task <IRespostaDeCadastroDeComponente> CadastraComponente(ISolicitacaoDeCadastroDeComponente solicitacao) { await unitOfWork.BeginTransaction(); try { Componente componentePai; if (solicitacao.ComponentePaiId.HasValue) { componentePai = await repositorioDeComponentes.ObtemComponente(solicitacao.ComponentePaiId.Value); } else { componentePai = null; } var unidadeDeMedida = await repositorioDeUnidadesDeMedidas.ObtemUnidadeDeMedida(solicitacao.UnidadePadraoSigla); var componente = new Componente( solicitacao.Id, solicitacao.Nome, componentePai, unidadeDeMedida ); // await repositorioDeComponentes.Add(componente); // await unitOfWork.Commit(); // return(new RespostaDeCadastroDeComponente { Id = solicitacao.Id, }); } catch (Exception e) { await unitOfWork.Rollback(); throw; } }
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; } }
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; } }