public void EventoDocumento(Doc_CotPreco doc, int CodigoSituacao) { List <EventoDocumento> ListaEvento = new List <EventoDocumento>(); EventoDocumentoDAL eventoDAL = new EventoDocumentoDAL(); ListaEvento = eventoDAL.ObterEventos(doc.CodigoDocumento); DBTabelaDAL RnTab = new DBTabelaDAL(); EventoDocumento eventodoc = new EventoDocumento(); eventodoc.CodigoDocumento = Convert.ToDecimal(doc.CodigoDocumento); //eventodoc.CodigoMaquina = doc.Cpl_Maquina; eventodoc.CodigoUsuario = doc.CodigoUsuario; eventodoc.CodigoSituacao = CodigoSituacao; eventodoc.DataHoraEvento = RnTab.ObterDataHoraServidor(); if (ListaEvento.Count() > 0) { eventodoc.CodigoEvento = ListaEvento.Max(x => x.CodigoEvento) + 1; } else { eventodoc.CodigoEvento = 1; } eventoDAL.Inserir(eventodoc, doc.CodigoDocumento); }
public void AtualizarSituacao(decimal CodigoDocumento, int CodigoSituacaoNova, int CodigoSituacaoAnterior, int CodigoUsuario, int CodigoMaquina) { try { AbrirConexao(); strSQL = "update [DOCUMENTO] set CD_SITUACAO = @v1 WHERE CD_DOCUMENTO = @v2 "; Cmd = new SqlCommand(strSQL, Con); Cmd.Parameters.AddWithValue("@v1", CodigoSituacaoNova); Cmd.Parameters.AddWithValue("@v2", CodigoDocumento); if (CodigoSituacaoAnterior != 0 && CodigoSituacaoAnterior != CodigoSituacaoNova) { Doc_CotPreco doc = new Doc_CotPreco(); Doc_CotPrecoDAL docDAL = new Doc_CotPrecoDAL(); doc = docDAL.PesquisarCotPreco(CodigoDocumento); doc.Cpl_Maquina = CodigoMaquina; doc.CodigoUsuario = CodigoUsuario; if (doc != null) { EventoDocumento(doc, CodigoSituacaoNova); } } Cmd.ExecuteNonQuery(); } catch (Exception ex) { throw new Exception("Erro ao atualizar situacao Solicitação de Compra: " + ex.Message.ToString()); } }
public List <Doc_CotPreco> ListarCotPrecoCompleto(List <DBTabelaCampos> ListaFiltros) { try { AbrirConexao(); string strValor = ""; string strSQL = "Select * from [VW_DOC_COT_PRECO] "; strValor = MontaFiltroIntervalo(ListaFiltros); strSQL = strSQL + strValor; strSQL = strSQL + " ORDER BY CD_DOCUMENTO DESC "; Cmd = new SqlCommand(strSQL, Con); Dr = Cmd.ExecuteReader(); List <Doc_CotPreco> lista = new List <Doc_CotPreco>(); while (Dr.Read()) { Doc_CotPreco p = new Doc_CotPreco(); p.CodigoDocumento = Convert.ToDecimal(Dr["CD_DOCUMENTO"]); p.CodigoEmpresa = Convert.ToInt32(Dr["CD_EMPRESA"]); p.NumeroDocumento = Convert.ToInt64(Dr["NR_DOCUMENTO"]); p.DataHoraEmissao = Convert.ToDateTime(Dr["DT_HR_EMISSAO"]); p.DataValidade = Convert.ToDateTime(Dr["DT_VENCIMENTO"]); p.ValorTotal = Convert.ToDecimal(Dr["VL_TOTAL_GERAL"]); p.DescricaoDocumento = Convert.ToString(Dr["OB_DOCUMENTO"]); p.CodigoSituacao = Convert.ToInt32(Dr["CD_SITUACAO"]); p.Cpl_Pessoa = Convert.ToString(Dr["PessoasPARTICIPANTES"]); p.Cpl_DscProdutos = Convert.ToString(Dr["PRODUTOSDOCUMENTO"]); p.Cpl_CodigoPessoa = Convert.ToInt64(Dr["CD_PESSOA"]); p.CodigoGeracaoSequencialDocumento = Convert.ToInt32(Dr["CD_GER_SEQ_DOC"]); p.Cpl_Situacao = Dr["DS_SITUACAO"].ToString(); p.CodigoUsuario = Convert.ToInt32(Dr["CD_USU_RESPONSAVEL"]); p.Cpl_NomeUsuario = Dr["NM_COMPLETO"].ToString(); lista.Add(p); } return(lista); } catch (Exception ex) { throw new Exception("Erro ao Listar TODos Solicitações de Compra: " + ex.Message.ToString()); } finally { FecharConexao(); } }
public Doc_CotPreco PesquisarCotPreco(decimal Codigo) { try { AbrirConexao(); strSQL = "Select * from [VW_DOC_COT_PRECO] Where CD_DOCUMENTO= @v1"; Cmd = new SqlCommand(strSQL, Con); Cmd.Parameters.AddWithValue("@v1", Codigo); Dr = Cmd.ExecuteReader(); Doc_CotPreco p = null; if (Dr.Read()) { p = new Doc_CotPreco(); p.CodigoDocumento = Convert.ToDecimal(Dr["CD_DOCUMENTO"]); p.NumeroDocumento = Convert.ToInt64(Dr["NR_DOCUMENTO"]); p.DataHoraEmissao = Convert.ToDateTime(Dr["DT_HR_EMISSAO"]); p.DataValidade = Convert.ToDateTime(Dr["DT_VENCIMENTO"]); p.ValorTotal = Convert.ToDecimal(Dr["VL_TOTAL_GERAL"]); p.DescricaoDocumento = Convert.ToString(Dr["OB_DOCUMENTO"]); p.CodigoSituacao = Convert.ToInt32(Dr["CD_SITUACAO"]); p.CodigoGeracaoSequencialDocumento = Convert.ToInt32(Dr["CD_GER_SEQ_DOC"]); p.CodigoFornecedor = Convert.ToInt32(Dr["CD_PESSOA"]); p.MotivoCancelamento = Dr["TX_MOTIVO_BAIXA"].ToString(); if (Dr["CD_DOC_ORIGINAL"] != DBNull.Value) { p.CodigoDocumentoOriginal = Convert.ToInt32(Dr["CD_DOC_ORIGINAL"]); } } return(p); } catch (Exception ex) { throw new Exception("Erro ao Pesquisar Doc_CotPreco: " + ex.Message.ToString()); } finally { FecharConexao(); } }
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); } }
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); } }
public void SalvarCotacao(Doc_CotPreco p, List <ProdutoDocumento> listaProdutos, EventoDocumento eventoDocumento, List <AnexoDocumento> ListaAnexoDocumento, List <Pessoa> ListaFornecedores, List <PessoaProdutoDocumento> listaCotacoesProdutos) { try { List <Habil_Log> listaLog = new List <Habil_Log>(); Habil_LogDAL Rn_Log = new Habil_LogDAL(); DBTabelaDAL RnTabela = new DBTabelaDAL(); DataTable tbA, tbB; if (p.CodigoDocumento == 0) //Registro Novo { Inserir(p, listaProdutos, eventoDocumento, ListaAnexoDocumento, ListaFornecedores, listaCotacoesProdutos); } else { tbA = ObterCotacaoCompra(p.CodigoDocumento); if (eventoDocumento != null) { Atualizar(p, listaProdutos, eventoDocumento, ListaAnexoDocumento, ListaFornecedores, listaCotacoesProdutos); } else { Atualizar(p, listaProdutos, null, ListaAnexoDocumento, ListaFornecedores, listaCotacoesProdutos); } tbB = ObterCotacaoCompra(p.CodigoDocumento); listaLog = Rn_Log.ComparaDataTables(tbA, tbB, Convert.ToDouble(p.CodigoDocumento), p.Cpl_Usuario, p.Cpl_Maquina, 17, "DOCUMENTO"); foreach (Habil_Log item in listaLog) { Rn_Log.Inserir(item); } } if (p.CodigoSituacao == 201) {// Análise LiberacaoDocumento p1; LiberacaoDocumentoDAL Rn_LibDoc = new LiberacaoDocumentoDAL(); p1 = Rn_LibDoc.PesquisarLiberacaoDocumento(p.CodigoDocumento, 1); if (p1 == null) { p1 = new LiberacaoDocumento(); p1.CodigoDocumento = p.CodigoDocumento; p1.CodigoBloqueio = 1; p1.CodigoMaquina = p.Cpl_Maquina; p1.CodigoUsuario = p.Cpl_Usuario; p1.DataLancamento = RnTabela.ObterDataHoraServidor(); Rn_LibDoc.Inserir(p1); } } } catch (SqlException ex) { if (ex.Errors.Count > 0) // Assume the interesting stuff is in the first error { throw new Exception("Erro ao Incluir Salvar Cotação de Preço: " + ex.Message.ToString()); } } catch (Exception ex) { throw new Exception("Erro ao Salvar Cotação de Preço: " + ex.Message.ToString()); } finally { FecharConexao(); } }