public void NovaRequisicao(RequisicaoDeCompraVm requisicaoDeCompraVm) { try { _unitOfWork.BeginTransaction(); Usuario criador = _usuarios.BuscaPorLogin(requisicaoDeCompraVm.Criador); Fornecedor fornecedorPretendido = _fornecedores.BuscaPeloCodigo(requisicaoDeCompraVm.FornecedorPretendido); Produto material = _produtos.BuscaPeloCodigo(requisicaoDeCompraVm.Material); UnidadeDeMedida unidadeDeMedida = _unidadesDeMedida.BuscaPeloCodigoInterno(requisicaoDeCompraVm.UnidadeMedida).Single(); var requisicaoDeCompra = new RequisicaoDeCompra(criador, requisicaoDeCompraVm.Requisitante, fornecedorPretendido, Convert.ToDateTime(requisicaoDeCompraVm.DataDeRemessa), Convert.ToDateTime(requisicaoDeCompraVm.DataDeLiberacao), Convert.ToDateTime(requisicaoDeCompraVm.DataDeSolicitacao), requisicaoDeCompraVm.Centro, unidadeDeMedida, requisicaoDeCompraVm.Quantidade, material, requisicaoDeCompraVm.Descricao, requisicaoDeCompraVm.NumeroItem, requisicaoDeCompraVm.NumeroRequisicao, requisicaoDeCompraVm.CodigoGrupoDeCompra, requisicaoDeCompraVm.Mrp.ToUpper().Equals("B")); //var processoDeCotacaoDeMaterial = requisicaoDeCompra.GerarProcessoDeCotacaoDeMaterial(); _requisicoesDeCompra.Save(requisicaoDeCompra); //_processosDeCotacao.Save(processoDeCotacaoDeMaterial); _unitOfWork.Commit(); } catch (Exception) { _unitOfWork.RollBack(); throw; } }
public int Salvar(ProcessoCotacaoFreteCadastroVm processoCotacaoFreteCadastroVm) { try { _unitOfWork.BeginTransaction(); UnidadeDeMedida unidadeDeMedida = _unidadesDeMedida.BuscaPeloCodigoInterno(processoCotacaoFreteCadastroVm.CodigoUnidadeMedida).Single(); Itinerario itinerario = _itinerarios.BuscaPeloCodigo(processoCotacaoFreteCadastroVm.CodigoItinerario).Single(); Produto produto = _produtos.BuscaPeloCodigo(processoCotacaoFreteCadastroVm.CodigoMaterial); ProcessoDeCotacaoDeFrete processo; if (processoCotacaoFreteCadastroVm.Id.HasValue) { processo = (ProcessoDeCotacaoDeFrete)_processosDeCotacao.BuscaPorId(processoCotacaoFreteCadastroVm.Id.Value).Single(); //processo.Atualizar(produto, processoCotacaoFreteCadastroVm.QuantidadeMaterial, // unidadeDeMedida, processoCotacaoFreteCadastroVm.Requisitos, processoCotacaoFreteCadastroVm.NumeroDoContrato, // Convert.ToDateTime(processoCotacaoFreteCadastroVm.DataLimiteRetorno), Convert.ToDateTime(processoCotacaoFreteCadastroVm.DataValidadeCotacaoInicial), // Convert.ToDateTime(processoCotacaoFreteCadastroVm.DataValidadeCotacaoFinal), itinerario); processo.Atualizar(processoCotacaoFreteCadastroVm.Requisitos, processoCotacaoFreteCadastroVm.NumeroDoContrato, Convert.ToDateTime(processoCotacaoFreteCadastroVm.DataLimiteRetorno), Convert.ToDateTime(processoCotacaoFreteCadastroVm.DataValidadeCotacaoInicial), Convert.ToDateTime(processoCotacaoFreteCadastroVm.DataValidadeCotacaoFinal), itinerario); processo.AtualizarItem(produto, processoCotacaoFreteCadastroVm.QuantidadeMaterial, unidadeDeMedida); } else { //processo = new ProcessoDeCotacaoDeFrete(produto, processoCotacaoFreteCadastroVm.QuantidadeMaterial, // unidadeDeMedida, processoCotacaoFreteCadastroVm.Requisitos,processoCotacaoFreteCadastroVm.NumeroDoContrato, // Convert.ToDateTime(processoCotacaoFreteCadastroVm.DataLimiteRetorno), Convert.ToDateTime(processoCotacaoFreteCadastroVm.DataValidadeCotacaoInicial), // Convert.ToDateTime(processoCotacaoFreteCadastroVm.DataValidadeCotacaoFinal), itinerario); _processoDeCotacaoFactory.AdicionarItem(produto, processoCotacaoFreteCadastroVm.QuantidadeMaterial, unidadeDeMedida); processo = _processoDeCotacaoFactory.CriarProcesso(processoCotacaoFreteCadastroVm.Requisitos, processoCotacaoFreteCadastroVm.NumeroDoContrato, Convert.ToDateTime(processoCotacaoFreteCadastroVm.DataLimiteRetorno), Convert.ToDateTime(processoCotacaoFreteCadastroVm.DataValidadeCotacaoInicial), Convert.ToDateTime(processoCotacaoFreteCadastroVm.DataValidadeCotacaoFinal), itinerario); } _processosDeCotacao.Save(processo); _unitOfWork.Commit(); return(processo.Id); } catch (Exception) { _unitOfWork.RollBack(); throw; } }