public TList_ItensCupom Select(Utils.TpBusca[] vBusca, Int32 vTop, string vNM_Campo) { bool podeFecharBco = false; TList_ItensCupom lista = new TList_ItensCupom(); if (Banco_Dados == null) { podeFecharBco = this.CriarBanco_Dados(false); } System.Data.SqlClient.SqlDataReader reader = this.ExecutarBusca(this.SqlCodeBusca(vBusca, vTop, vNM_Campo)); try { while (reader.Read()) { TRegistro_ItensCupom reg = new TRegistro_ItensCupom(); if (!reader.IsDBNull(reader.GetOrdinal("cd_empresa"))) { reg.Cd_Empresa = reader.GetString(reader.GetOrdinal("cd_empresa")); } if (!reader.IsDBNull(reader.GetOrdinal("id_prevenda"))) { reg.id_prevenda = reader.GetDecimal(reader.GetOrdinal("id_prevenda")); } if (!reader.IsDBNull(reader.GetOrdinal("id_item"))) { reg.id_item = reader.GetDecimal(reader.GetOrdinal("id_item")); } if (!reader.IsDBNull(reader.GetOrdinal("id_lancto"))) { reg.id_lancto = reader.GetDecimal(reader.GetOrdinal("id_lancto")); } if (!reader.IsDBNull(reader.GetOrdinal("id_cupom"))) { reg.id_Cupom = reader.GetDecimal(reader.GetOrdinal("id_cupom")); } lista.Add(reg); } } finally { reader.Close(); reader.Dispose(); if (podeFecharBco) { this.deletarBanco_Dados(); } } return(lista); }
public static void CancelarCF(TRegistro_NFCe val, TRegistro_VendaRapida venda, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_NFCe qtb_cupom = new TCD_NFCe(); try { if (banco == null) { st_transacao = qtb_cupom.CriarBanco_Dados(true); } else { qtb_cupom.Banco_Dados = banco; } if (val.Cd_modelo.Trim().Equals("65") && !val.Nr_protocolo.HasValue && !val.Id_contingencia.HasValue) { qtb_cupom.ExcluirNFCe(val); } else { TList_ItensCupom itens = new TList_ItensCupom(); itens = Buscar(val.Cd_empresa, string.Empty, string.Empty, venda.Id_vendarapidastr, string.Empty, qtb_cupom.Banco_Dados); itens.ForEach(p => Excluir(p, qtb_cupom.Banco_Dados)); Faturamento.PDV.TCN_VendaRapida.ExcluirVendaRapida(new List <TRegistro_VendaRapida> { venda }, qtb_cupom.Banco_Dados); //Cancelar cupom qtb_cupom.executarSql("update tb_pdv_nfce set st_registro = 'C', dt_alt = getdate() where cd_empresa = '" + val.Cd_empresa.Trim() + "' and id_nfce = " + val.Id_nfcestr, null); //Cancelar Itens do Cupom Faturamento.PDV.TCN_NFCe_Item.Buscar(val.Id_nfcestr, val.Cd_empresa, string.Empty, qtb_cupom.Banco_Dados) .ForEach(p => Faturamento.PDV.TCN_NFCe_Item.CancelarItemCF(p, qtb_cupom.Banco_Dados)); //Excluir Venda Rapida de Origem somente se o caixa estiver aberto if (val.Cd_modelo.Trim().Equals("65")) { Faturamento.PDV.TCN_VendaRapida.ExcluirVendaRapida(new TCD_VendaRapida(qtb_cupom.Banco_Dados).Select( new TpBusca[] { new TpBusca() { vNM_Campo = string.Empty, vOperador = "exists", vVL_Busca = "(select 1 from TB_PDV_Cupom_X_VendaRapida x " + "inner join tb_pdv_cupom_x_movcaixa y " + "on x.cd_empresa = y.cd_empresa " + "and x.id_vendarapida = y.id_cupom " + "inner join VTB_PDV_Caixa k " + "on y.id_caixa = k.id_caixa " + "where x.cd_empresa = a.cd_empresa " + "and x.id_vendarapida = a.id_cupom " + "and isnull(k.st_registro, 'A') in ('A', 'F') " + "and x.cd_empresa = '" + val.Cd_empresa.Trim() + "' " + "and x.id_cupom = " + val.Id_nfcestr + ")" } }, 0, string.Empty, string.Empty), qtb_cupom.Banco_Dados); } } if (st_transacao) { qtb_cupom.Banco_Dados.Commit_Tran(); } } catch (Exception ex) { if (st_transacao) { qtb_cupom.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro cancelar CF/NFCe: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_cupom.deletarBanco_Dados(); } } }