Exemplo n.º 1
0
        public void Inserir(Doc_CotPreco p, List <ProdutoDocumento> listaItemCotacao, EventoDocumento eventoDocumento,
                            List <AnexoDocumento> ListaAnexoDocumento, List <Pessoa> ListaFornecedores, List <PessoaProdutoDocumento> listaCotacoesProdutos)
        {
            try
            {
                AbrirConexao();
                strSQL = "insert into DOCUMENTO (CD_TIPO_DOCUMENTO," +
                         "CD_EMPRESA," +
                         "CD_SITUACAO," +
                         "NR_DOCUMENTO," +
                         "DT_HR_EMISSAO," +
                         "DT_VENCIMENTO," +
                         "CD_GER_SEQ_DOC, " +
                         "VL_TOTAL_GERAL, " +
                         "CD_USU_RESPONSAVEL, " +
                         "DT_HR_ENTRADA, OB_DOCUMENTO,CD_DOC_ORIGINAL) values (@v1,@v2,@v3,@v4,@v5,@v6,@v7,@v8,@v9,@v10,@v11,@v12) 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", 13);
                Cmd.Parameters.AddWithValue("@v2", p.CodigoEmpresa);
                Cmd.Parameters.AddWithValue("@v3", p.CodigoSituacao);
                Cmd.Parameters.AddWithValue("@v4", p.NumeroDocumento);
                Cmd.Parameters.AddWithValue("@v5", p.DataHoraEmissao);
                Cmd.Parameters.AddWithValue("@v6", p.DataValidade);
                Cmd.Parameters.AddWithValue("@v7", CodigoGerado);
                Cmd.Parameters.AddWithValue("@v8", p.ValorTotal);
                Cmd.Parameters.AddWithValue("@v9", p.CodigoUsuario);
                Cmd.Parameters.AddWithValue("@v10", p.DataHoraEmissao);
                Cmd.Parameters.AddWithValue("@v11", p.DescricaoDocumento);
                Cmd.Parameters.AddWithValue("@v12", p.CodigoDocumentoOriginal);



                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 Orcamento: " + ex.Message.ToString());
                    }
                }
            }
            catch (Exception ex)
            {
                throw new Exception("Erro ao gravar Solicitação de Compra: " + ex.Message.ToString());
            }
            finally
            {
                FecharConexao();

                short shtTpPessoa = 15;
                foreach (var item in ListaFornecedores)
                {
                    shtTpPessoa++;
                    ExcluirPessoaDocumento(p.CodigoDocumento, shtTpPessoa);                    //Pessoa do Documento Fornecedor
                    InserirPessoaDocumento(p.CodigoDocumento, item.CodigoPessoa, shtTpPessoa); //Pessoa do Documento Fornecedor
                }

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

                InserirProduto(p.CodigoDocumento, listaItemCotacao);

                PessoaProdutoDocumentoDAL PpdDAL = new PessoaProdutoDocumentoDAL();
                PpdDAL.InserirItem(p.CodigoDocumento, listaCotacoesProdutos);
            }
        }
Exemplo n.º 2
0
        public void Atualizar(Doc_CotPreco p, List <ProdutoDocumento> listaItemCotacao, EventoDocumento eventoDocumento,
                              List <AnexoDocumento> ListaAnexoDocumento, List <Pessoa> ListaFornecedores, List <PessoaProdutoDocumento> listaCotacoesProdutos)
        {
            try
            {
                AbrirConexao();
                strSQL = "update [DOCUMENTO] set CD_TIPO_DOCUMENTO = @v1," +
                         " CD_EMPRESA = @v2," +
                         " CD_SITUACAO = @v3," +
                         " NR_DOCUMENTO = @v4," +
                         " DT_HR_EMISSAO = @v5," +
                         " DT_VENCIMENTO = @v6," +
                         " VL_TOTAL_GERAL = @v7," +
                         " OB_DOCUMENTO = @v8, " +
                         " CD_DOC_ORIGINAL = @v9 " +
                         " Where [CD_DOCUMENTO] = @CODIGO ";

                Cmd = new SqlCommand(strSQL, Con);


                Cmd.Parameters.AddWithValue("@CODIGO", p.CodigoDocumento);
                Cmd.Parameters.AddWithValue("@v1", 13);
                Cmd.Parameters.AddWithValue("@v2", p.CodigoEmpresa);
                Cmd.Parameters.AddWithValue("@v3", p.CodigoSituacao);
                Cmd.Parameters.AddWithValue("@v4", p.NumeroDocumento);
                Cmd.Parameters.AddWithValue("@v5", p.DataHoraEmissao);
                Cmd.Parameters.AddWithValue("@v6", p.DataValidade);
                Cmd.Parameters.AddWithValue("@v7", p.ValorTotal);
                Cmd.Parameters.AddWithValue("@v8", p.DescricaoDocumento);

                if (p.CodigoSituacao == 203)
                {
                    p.CodigoDocumentoOriginal = 0;
                }

                Cmd.Parameters.AddWithValue("@v9", p.CodigoDocumentoOriginal);

                Cmd.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                throw new Exception("Erro ao atualizar Solicitação de Compra: " + ex.Message.ToString());
            }
            finally
            {
                FecharConexao();

                DataTable        tbProdDocA = new DataTable();
                DataTable        tbProdDocB = new DataTable();
                List <Habil_Log> listaLog   = new List <Habil_Log>();
                Habil_LogDAL     Rn_Log     = new Habil_LogDAL();

                tbProdDocA = ObterCotacaoCompraPessoa(p.CodigoDocumento);
                short shtTpPessoa = 15;
                foreach (var item in ListaFornecedores)
                {
                    shtTpPessoa++;
                    ExcluirPessoaDocumento(p.CodigoDocumento, shtTpPessoa);                    //Pessoa do Documento Fornecedor
                    InserirPessoaDocumento(p.CodigoDocumento, item.CodigoPessoa, shtTpPessoa); //Pessoa do Documento Fornecedor
                }
                tbProdDocB = ObterCotacaoCompraPessoa(p.CodigoDocumento);

                listaLog = Rn_Log.ComparaDataTablesRelacionalPessoa_do_Documento(tbProdDocA, tbProdDocB, Convert.ToDouble(p.CodigoDocumento), p.Cpl_Usuario, p.Cpl_Maquina, 21, 22, 23, "PESSOA_DO_DOCUMENTO", "CD_DOCUMENTO", "TP_PESSOA");
                foreach (Habil_Log item in listaLog)
                {
                    Rn_Log.Inserir(item);
                }

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

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

                tbProdDocA = new DataTable();

                tbProdDocA = ObterCotacaoCompraProduto(p.CodigoDocumento);
                InserirProduto(p.CodigoDocumento, listaItemCotacao);
                tbProdDocB = new DataTable();
                tbProdDocB = ObterCotacaoCompraProduto(p.CodigoDocumento);

                listaLog = new List <Habil_Log>();
                listaLog = Rn_Log.ComparaDataTablesRelacionalProduto_do_Documento(tbProdDocA, tbProdDocB, Convert.ToDouble(p.CodigoDocumento), p.Cpl_Usuario, p.Cpl_Maquina, 18, 19, 20, "PRODUTO_DO_DOCUMENTO", "CD_DOCUMENTO", "CD_PROD_DOCUMENTO");
                foreach (Habil_Log item in listaLog)
                {
                    Rn_Log.Inserir(item);
                }

                PessoaProdutoDocumentoDAL PpdDAL = new PessoaProdutoDocumentoDAL();
                PpdDAL.InserirItem(p.CodigoDocumento, listaCotacoesProdutos);
            }
        }