Ejemplo n.º 1
0
        public void InserirProduto(decimal CodigoDocumento, List <ProdutoDocumento> listaItemOrcamento)
        {
            try
            {
                ProdutoDocumentoDAL ItemDAL = new ProdutoDocumentoDAL();
                ItemDAL.ExcluirTodos(CodigoDocumento);
                AbrirConexao();
                foreach (ProdutoDocumento p in listaItemOrcamento)
                {
                    strSQL = "insert into PRODUTO_DO_DOCUMENTO(CD_DOCUMENTO," +
                             "CD_PROD_DOCUMENTO," +
                             "DS_UNIDADE, " +
                             "QT_SOLICITADA, " +
                             "CD_PRODUTO," +
                             "DS_PRODUTO,CD_SITUACAO, OB_PROD_DOCUMENTO) values (@v1,@v2,@v3,@v4,@v5,@v6,135,@v7)";

                    Cmd = new SqlCommand(strSQL, Con);

                    Cmd.Parameters.AddWithValue("@v1", CodigoDocumento);
                    Cmd.Parameters.AddWithValue("@v2", p.CodigoItem);
                    Cmd.Parameters.AddWithValue("@v3", p.Unidade);
                    Cmd.Parameters.AddWithValue("@v4", p.Quantidade);
                    Cmd.Parameters.AddWithValue("@v5", p.CodigoProduto);
                    Cmd.Parameters.AddWithValue("@v6", p.Cpl_DscProduto);
                    Cmd.Parameters.AddWithValue("@v7", p.Cpl_DescRoteiro);
                    Cmd.ExecuteNonQuery();
                }
            }
            catch (SqlException ex)
            {
                if (ex.Errors.Count > 0)                 // Assume the interesting stuff is in the first error
                {
                    switch (ex.Errors[0].Number)
                    {
                    case 2601:                             // Primary key violation
                        throw new DuplicateNameException("Inclusão não Permitida!!! Chave já consta no Banco de Dados. Mensagem :" + ex.Message.ToString(), ex);

                    case 2627:                             // Primary key violation
                        throw new DuplicateNameException("Inclusão não Permitida!!! Chave já consta no Banco de Dados. Mensagem :" + ex.Message.ToString(), ex);

                    default:
                        throw new Exception("Erro ao Incluir produtos do documento: " + ex.Message.ToString());
                    }
                }
            }
            catch (Exception ex)
            {
                throw new Exception("Erro ao gravar produtos do documento: " + ex.Message.ToString());
            }
            finally
            {
                FecharConexao();
            }
        }
Ejemplo n.º 2
0
        public void AtualizaSituacaoSolicitacaoCompra(decimal CodigoDocumento, int CodigoSituacao, int CodigoUsuario, int CodigoMaquina)
        {
            AbrirConexao();

            SqlCommand cmd1 = new SqlCommand();
            SqlCommand cmd2 = new SqlCommand();
            SqlCommand cmd3 = new SqlCommand();


            SqlTransaction transaction = Con.BeginTransaction();

            try
            {
                //Monta Tela
                List <EventoDocumento>  ListaEvento   = new List <EventoDocumento>();
                List <AnexoDocumento>   ListaAnexo    = new List <AnexoDocumento>();
                List <ProdutoDocumento> ListaProdutos = new List <ProdutoDocumento>();
                ProdutoDocumentoDAL     RnPd          = new ProdutoDocumentoDAL();
                Doc_SolCompra           p1            = new Doc_SolCompra();
                Doc_SolCompraDAL        docDAL        = new Doc_SolCompraDAL();
                EventoDocumentoDAL      eve           = new EventoDocumentoDAL();
                AnexoDocumentoDAL       anexo         = new AnexoDocumentoDAL();

                p1            = docDAL.PesquisarSolCompra(CodigoDocumento);
                ListaProdutos = RnPd.ObterItemSolCompra(CodigoDocumento);
                ListaProdutos = ListaProdutos.Where(x => x.CodigoSituacao != 134).ToList();
                ListaEvento   = eve.ObterEventos(CodigoDocumento);
                ListaAnexo    = anexo.ObterAnexos(CodigoDocumento);

                //Gravar Documento
                p1.Cpl_Maquina = CodigoMaquina;
                p1.Cpl_Usuario = CodigoUsuario;

                p1.CodigoSituacao     = CodigoSituacao;
                p1.MotivoCancelamento = "";
                docDAL.SalvarSolicitacao(p1, ListaProdutos, EventoDocumento2(ListaEvento, p1.CodigoSituacao, p1.Cpl_Usuario, p1.Cpl_Maquina), ListaAnexo);

                transaction.Commit();
            }
            catch (SqlException ex)
            {
                transaction.Rollback();

                if (ex.Errors.Count > 0) // Assume the interesting stuff is in the first error
                {
                    switch (ex.Errors[0].Number)
                    {
                    case 547:     // Foreign Key violation
                        throw new InvalidOperationException("Alteração do Documento não permitida!!! Existe Relacionamentos Obrigatórios com a Tabela. Mensagem :" + ex.Message.ToString(), ex);

                    default:
                        throw new Exception("Erro ao alterar documento: " + ex.Message.ToString());
                    }
                }
            }
            catch (Exception ex)
            {
                throw new Exception("Erro ao alterar documento: " + ex.Message.ToString());
            }
            finally
            {
                FecharConexao();
            }
        }
Ejemplo n.º 3
0
        public void AprovarSolicitacaoCompra(LiberacaoDocumento p)
        {
            AbrirConexao();

            SqlCommand cmd1 = new SqlCommand();
            SqlCommand cmd2 = new SqlCommand();
            SqlCommand cmd3 = new SqlCommand();


            SqlTransaction transaction = Con.BeginTransaction();

            cmd1 = new SqlCommand("update LIBERACAO_DO_DOCUMENTO set DT_LIBERACAO = @v3, CD_USUARIO = @v4, CD_MAQUINA = @v5 " +
                                  "where CD_INDEX = @v1 ", Con, transaction);
            cmd1.Parameters.AddWithValue("@v1", p.CodigoLiberacao);
            cmd1.Parameters.AddWithValue("@v3", p.DataLiberacao);
            cmd1.Parameters.AddWithValue("@v4", p.CodigoUsuario);
            cmd1.Parameters.AddWithValue("@v5", p.CodigoMaquina);

            try
            {
                cmd1.ExecuteNonQuery();

                //Monta Tela
                List <EventoDocumento>  ListaEvento   = new List <EventoDocumento>();
                List <AnexoDocumento>   ListaAnexo    = new List <AnexoDocumento>();
                List <ProdutoDocumento> ListaProdutos = new List <ProdutoDocumento>();
                ProdutoDocumentoDAL     RnPd          = new ProdutoDocumentoDAL();
                Doc_SolCompra           p1            = new Doc_SolCompra();
                Doc_SolCompraDAL        docDAL        = new Doc_SolCompraDAL();
                EventoDocumentoDAL      eve           = new EventoDocumentoDAL();
                AnexoDocumentoDAL       anexo         = new AnexoDocumentoDAL();

                p1            = docDAL.PesquisarSolCompra(p.CodigoDocumento);
                ListaProdutos = RnPd.ObterItemSolCompra(p.CodigoDocumento);
                ListaProdutos = ListaProdutos.Where(x => x.CodigoSituacao != 134).ToList();
                ListaEvento   = eve.ObterEventos(p.CodigoDocumento);
                ListaAnexo    = anexo.ObterAnexos(p.CodigoDocumento);

                //Gravar Documento
                p1.Cpl_Maquina = p.CodigoMaquina;
                p1.Cpl_Usuario = p.CodigoUsuario;

                p1.CodigoSituacao     = 202;
                p1.MotivoCancelamento = "";
                docDAL.SalvarSolicitacao(p1, ListaProdutos, EventoDocumento(ListaEvento, p1.CodigoSituacao, p1.Cpl_Usuario, p1.Cpl_Maquina), ListaAnexo);

                transaction.Commit();
            }
            catch (SqlException ex)
            {
                transaction.Rollback();

                if (ex.Errors.Count > 0) // Assume the interesting stuff is in the first error
                {
                    switch (ex.Errors[0].Number)
                    {
                    case 547:     // Foreign Key violation
                        throw new InvalidOperationException("Alteração do Documento não permitida!!! Existe Relacionamentos Obrigatórios com a Tabela. Mensagem :" + ex.Message.ToString(), ex);

                    default:
                        throw new Exception("Erro ao alterar documento: " + ex.Message.ToString());
                    }
                }
            }
            catch (Exception ex)
            {
                throw new Exception("Erro ao alterar documento: " + ex.Message.ToString());
            }
            finally
            {
                FecharConexao();
            }
        }
Ejemplo n.º 4
0
        public void CancelarSolicitacaoCompra(LiberacaoDocumento LibDocumento, string strMotivo)
        {
            try
            {
                AbrirConexao();

                SqlCommand cmd1 = new SqlCommand();


                cmd1 = new SqlCommand("delete from LIBERACAO_DO_DOCUMENTO where CD_INDEX = @v1;", Con);
                cmd1.Parameters.AddWithValue("@v1", LibDocumento.CodigoDocumento);
                cmd1.ExecuteNonQuery();

                //Monta Tela
                List <EventoDocumento>  ListaEvento   = new List <EventoDocumento>();
                List <AnexoDocumento>   ListaAnexo    = new List <AnexoDocumento>();
                List <ProdutoDocumento> ListaProdutos = new List <ProdutoDocumento>();
                ProdutoDocumentoDAL     RnPd          = new ProdutoDocumentoDAL();
                Doc_SolCompra           p             = new Doc_SolCompra();
                Doc_SolCompraDAL        docDAL        = new Doc_SolCompraDAL();
                EventoDocumentoDAL      eve           = new EventoDocumentoDAL();
                AnexoDocumentoDAL       anexo         = new AnexoDocumentoDAL();

                p             = docDAL.PesquisarSolCompra(LibDocumento.CodigoDocumento);
                ListaProdutos = RnPd.ObterItemSolCompra(p.CodigoDocumento);
                ListaProdutos = ListaProdutos.Where(x => x.CodigoSituacao != 134).ToList();;
                ListaEvento   = eve.ObterEventos(LibDocumento.CodigoDocumento);
                ListaAnexo    = anexo.ObterAnexos(LibDocumento.CodigoDocumento);

                //Gravar Documento

                p.Cpl_Maquina = LibDocumento.CodigoMaquina;
                p.Cpl_Usuario = LibDocumento.CodigoUsuario;

                p.CodigoSituacao     = 203;
                p.MotivoCancelamento = strMotivo;
                docDAL.SalvarSolicitacao(p, ListaProdutos, EventoDocumento(ListaEvento, p.CodigoSituacao, p.Cpl_Usuario, p.Cpl_Maquina), ListaAnexo);
            }
            catch (SqlException ex)
            {
                if (ex.Errors.Count > 0)
                {
                    switch (ex.Errors[0].Number)
                    {
                    case 547:
                        throw new InvalidOperationException("Devolução do Documento não permitida!!! Existe Relacionamentos Obrigatórios com a Tabela. Mensagem :" + ex.Message.ToString(), ex);

                    default:
                        throw new Exception("Erro ao CancelarSolicitacaoCompra: " + ex.Message.ToString());
                    }
                }
            }
            catch (Exception ex)
            {
                throw new Exception("Erro ao CancelarSolicitacaoCompra: " + ex.Message.ToString());
            }
            finally
            {
                FecharConexao();
            }
        }
Ejemplo n.º 5
0
        public void Atualizar(Doc_NotaFiscal p, List <ProdutoDocumento> listaItens, EventoDocumento eventoDocumento, List <AnexoDocumento> ListaAnexoDocumento, List <ParcelaDocumento> ListaParcelaDocumento)
        {
            try
            {
                Doc_NotaFiscal p2 = new Doc_NotaFiscal();
                p2 = PesquisarDocumento(Convert.ToInt32(p.CodigoDocumento));
                GerarLog(p, p2);
                AbrirConexao();
                strSQL = "update [DOCUMENTO] set CD_TIPO_DOCUMENTO = @v1," +
                         "CD_EMPRESA = @v2," +
                         "DT_HR_EMISSAO = @v3," +
                         "DG_DOCUMENTO = @v5," +
                         "DG_SR_DOCUMENTO = @v6," +
                         "VL_TOTAL_GERAL = @v7," +
                         "OB_DOCUMENTO = @v8," +
                         "CD_TIPO_COBRANCA = @v9," +
                         "CD_CND_PAGAMENTO = @v10," +
                         "DT_HR_SAIDA = @v11," +
                         "CD_SITUACAO = @v12," +
                         "CD_CLASSIFICACAO = @v13," +
                         "CD_NAT_OPERACAO = @v15," +
                         "VL_ST = @v16," +
                         "CD_FINALIDADE = @v17," +
                         "CD_REG_TRIBUTARIO = @v18," +
                         "VL_PESO = @v19," +
                         "CD_INDICADOR_PRESENCA = @v20," +
                         "VL_FRETE = @v21," +
                         "NR_WEB = @v22," +
                         "CD_DOC_ORIGINAL = @v23," +
                         "CD_TIPO_OPERACAO = @v24," +
                         "CD_CONSUMIDOR_FINAL = @v25," +
                         "CD_MOD_FRETE = @v26," +
                         "VL_CUBAGEM = @v27 Where [CD_DOCUMENTO] = @CODIGO";

                Cmd = new SqlCommand(strSQL, Con);

                Cmd.Parameters.AddWithValue("@CODIGO", p.CodigoDocumento);
                Cmd.Parameters.AddWithValue("@v1", 9);
                Cmd.Parameters.AddWithValue("@v2", p.CodigoEmpresa);
                Cmd.Parameters.AddWithValue("@v3", p.DataHoraEmissao);
                Cmd.Parameters.AddWithValue("@v5", p.DGNumeroDocumento);
                Cmd.Parameters.AddWithValue("@v6", p.DGSerieDocumento);
                Cmd.Parameters.AddWithValue("@v7", p.ValorTotalDocumento);
                Cmd.Parameters.AddWithValue("@v8", p.DescricaoDocumento);
                Cmd.Parameters.AddWithValue("@v9", p.CodigoTipoCobranca);
                Cmd.Parameters.AddWithValue("@v10", p.CodigoCondicaoPagamento);
                if (p.DataHoraSaida.HasValue)
                {
                    Cmd.Parameters.AddWithValue("@v11", p.DataHoraSaida);
                }
                else
                {
                    Cmd.Parameters.AddWithValue("@v11", DBNull.Value);
                }
                Cmd.Parameters.AddWithValue("@v12", p.CodigoSituacao);
                Cmd.Parameters.AddWithValue("@v13", p.CodigoTipoOrcamento);
                Cmd.Parameters.AddWithValue("@v15", p.CodigoNaturezaOperacao);
                Cmd.Parameters.AddWithValue("@v16", p.ValorICMSST);
                Cmd.Parameters.AddWithValue("@v17", p.CodigoFinalidadeNF);
                Cmd.Parameters.AddWithValue("@v18", p.CodigoRegimeTributario);
                Cmd.Parameters.AddWithValue("@v19", p.ValorPesoBruto);
                Cmd.Parameters.AddWithValue("@v20", p.CodigoIndicadorPresenca);
                Cmd.Parameters.AddWithValue("@v21", p.ValorFrete);
                Cmd.Parameters.AddWithValue("@v22", p.NumeroWeb);
                Cmd.Parameters.AddWithValue("@v23", p.CodigoDocumentoOriginal);
                Cmd.Parameters.AddWithValue("@v24", p.CodigoTipoOperacao);
                Cmd.Parameters.AddWithValue("@v25", p.CodigoConsumidorFinal);
                Cmd.Parameters.AddWithValue("@v26", p.CodigoModalidadeFrete);
                Cmd.Parameters.AddWithValue("@v27", p.ValorCubagem);

                Cmd.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                throw new Exception("Erro ao atualizar nota fiscal: " + ex.Message.ToString());
            }
            finally
            {
                FecharConexao();
                AtualizarPessoaDocumento(p.CodigoDocumento, p.Cpl_CodigoPessoa, 14);
                AtualizarPessoaDocumento(p.CodigoDocumento, p.Cpl_CodigoTransportador, 15);

                if (eventoDocumento != null)
                {
                    EventoDocumentoDAL eventoDAL = new EventoDocumentoDAL();
                    eventoDAL.Inserir(eventoDocumento, p.CodigoDocumento);
                }

                AnexoDocumentoDAL AnexoDAL = new AnexoDocumentoDAL();
                AnexoDAL.Inserir(p.CodigoDocumento, ListaAnexoDocumento);

                ProdutoDocumentoDAL ItemDAL = new ProdutoDocumentoDAL();
                ItemDAL.Inserir(p.CodigoDocumento, listaItens);

                ParcelaDocumentoDAL ParcelaDAL = new ParcelaDocumentoDAL();
                ParcelaDAL.Inserir(p.CodigoDocumento, ListaParcelaDocumento);
            }
        }
Ejemplo n.º 6
0
        public void Inserir(Doc_NotaFiscal p, List <ProdutoDocumento> listaItens, EventoDocumento eventoDocumento, List <AnexoDocumento> ListaAnexoDocumento, List <ParcelaDocumento> ListaParcelaDocumento)
        {
            try
            {
                AbrirConexao();
                strSQL = "insert into DOCUMENTO (CD_TIPO_DOCUMENTO," +
                         "CD_EMPRESA," +
                         "DT_HR_EMISSAO," +
                         "DT_HR_ENTRADA," +
                         "NR_DOCUMENTO," +
                         "DG_DOCUMENTO," +
                         "DG_SR_DOCUMENTO," +
                         "VL_TOTAL_GERAL," +
                         "OB_DOCUMENTO," +
                         "CD_TIPO_COBRANCA," +
                         "CD_CND_PAGAMENTO," +
                         "DT_HR_SAIDA," +
                         "CD_SITUACAO," +
                         "CD_CLASSIFICACAO," +
                         "CD_GER_SEQ_DOC," +
                         "CD_NAT_OPERACAO," +
                         "VL_ST," +
                         "CD_FINALIDADE," +
                         "CD_REG_TRIBUTARIO," +
                         "VL_PESO," +
                         "CD_INDICADOR_PRESENCA," +
                         "VL_FRETE," +
                         "NR_WEB," +
                         "CD_DOC_ORIGINAL," +
                         "CD_TIPO_OPERACAO," +
                         "CD_CONSUMIDOR_FINAL," +
                         "CD_MOD_FRETE," +
                         "VL_CUBAGEM) values (@v1,@v2,@v3,@v4,@v5,@v6,@v7,@v8,@v9,@v10,@v11,@v12,@v13,@v14,@v15,@v16,@v17,@v18,@v19,@v20,@v21,@v22,@v23,@v24,@v25,@v26,@v27,@v28) SELECT SCOPE_IDENTITY();";

                Cmd = new SqlCommand(strSQL, Con);

                decimal CodigoGerado = 0;
                GeradorSequencialDocumentoEmpresaDAL gerDAL = new GeradorSequencialDocumentoEmpresaDAL();
                if (p.Cpl_NomeTabela != null)
                {
                    CodigoGerado = gerDAL.IncluirTabelaGerador(p.Cpl_NomeTabela, Convert.ToInt32(p.CodigoGeracaoSequencialDocumento), p.Cpl_Usuario, p.Cpl_Maquina);
                }

                Cmd.Parameters.AddWithValue("@v1", 9);
                Cmd.Parameters.AddWithValue("@v2", p.CodigoEmpresa);
                Cmd.Parameters.AddWithValue("@v3", p.DataHoraEmissao);
                Cmd.Parameters.AddWithValue("@v4", p.DataHoraEmissao);
                Cmd.Parameters.AddWithValue("@v5", CodigoGerado);
                Cmd.Parameters.AddWithValue("@v6", p.DGNumeroDocumento);
                Cmd.Parameters.AddWithValue("@v7", p.DGSerieDocumento);
                Cmd.Parameters.AddWithValue("@v8", p.ValorTotalDocumento);
                Cmd.Parameters.AddWithValue("@v9", p.DescricaoDocumento);
                Cmd.Parameters.AddWithValue("@v10", p.CodigoTipoCobranca);
                Cmd.Parameters.AddWithValue("@v11", p.CodigoCondicaoPagamento);
                if (p.DataHoraSaida.HasValue)
                {
                    Cmd.Parameters.AddWithValue("@v12", p.DataHoraSaida);
                }
                else
                {
                    Cmd.Parameters.AddWithValue("@v12", DBNull.Value);
                }
                Cmd.Parameters.AddWithValue("@v13", p.CodigoSituacao);
                Cmd.Parameters.AddWithValue("@v14", p.CodigoTipoOrcamento);
                Cmd.Parameters.AddWithValue("@v15", p.CodigoGeracaoSequencialDocumento);
                Cmd.Parameters.AddWithValue("@v16", p.CodigoNaturezaOperacao);
                Cmd.Parameters.AddWithValue("@v17", p.ValorICMSST);
                Cmd.Parameters.AddWithValue("@v18", p.CodigoFinalidadeNF);
                Cmd.Parameters.AddWithValue("@v19", p.CodigoRegimeTributario);
                Cmd.Parameters.AddWithValue("@v20", p.ValorPesoBruto);
                Cmd.Parameters.AddWithValue("@v21", p.CodigoIndicadorPresenca);
                Cmd.Parameters.AddWithValue("@v22", p.ValorFrete);
                Cmd.Parameters.AddWithValue("@v23", p.NumeroWeb);
                Cmd.Parameters.AddWithValue("@v24", p.CodigoDocumentoOriginal);
                Cmd.Parameters.AddWithValue("@v25", p.CodigoTipoOperacao);
                Cmd.Parameters.AddWithValue("@v26", p.CodigoConsumidorFinal);
                Cmd.Parameters.AddWithValue("@v27", p.CodigoModalidadeFrete);
                Cmd.Parameters.AddWithValue("@v28", p.ValorCubagem);

                p.CodigoDocumento = Convert.ToDecimal(Cmd.ExecuteScalar());
            }
            catch (SqlException ex)
            {
                if (ex.Errors.Count > 0) // Assume the interesting stuff is in the first error
                {
                    switch (ex.Errors[0].Number)
                    {
                    case 2601:     // Primary key violation
                        throw new DuplicateNameException("Inclusão não Permitida!!! Chave já consta no Banco de Dados. Mensagem :" + ex.Message.ToString(), ex);

                    case 2627:     // Primary key violation
                        throw new DuplicateNameException("Inclusão não Permitida!!! Chave já consta no Banco de Dados. Mensagem :" + ex.Message.ToString(), ex);

                    default:
                        throw new Exception("Erro ao Incluir nota fiscal: " + ex.Message.ToString());
                    }
                }
            }
            catch (Exception ex)
            {
                throw new Exception("Erro ao gravar nota fiscal: " + ex.Message.ToString());
            }
            finally
            {
                FecharConexao();
                InserirPessoaDocumento(p.CodigoDocumento, p.Cpl_CodigoTransportador, 15); //Pessoa do Documento Transportador
                InserirPessoaDocumento(p.CodigoDocumento, p.Cpl_CodigoPessoa, 14);        //Pessoa do Documento

                if (eventoDocumento != null)
                {
                    EventoDocumentoDAL eventoDAL = new EventoDocumentoDAL();
                    eventoDAL.Inserir(eventoDocumento, p.CodigoDocumento);
                }
                AnexoDocumentoDAL AnexoDAL = new AnexoDocumentoDAL();
                AnexoDAL.Inserir(p.CodigoDocumento, ListaAnexoDocumento);

                ProdutoDocumentoDAL ItemDAL = new ProdutoDocumentoDAL();
                ItemDAL.Inserir(p.CodigoDocumento, listaItens);

                ParcelaDocumentoDAL ParcelaDAL = new ParcelaDocumentoDAL();
                ParcelaDAL.Inserir(p.CodigoDocumento, ListaParcelaDocumento);
            }
        }