示例#1
0
        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;
            }
        }
示例#2
0
        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;
            }
        }