Example #1
0
        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);
        }
Example #2
0
        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();
                }
            }
        }