public override bool authenticate( ) { if (base.authenticate() == false) { return(false); } Registry("authenticate fetch_consultaTransacao "); /// USER [ authenticate ] l_tr = new LOG_Transacoes(this); // ## obtem filtros rápidos string cod_empresa = input_cont_dct.get_st_cod_empresa().PadLeft(6, '0'); string cnpj_loja = input_cont_dct.get_st_cnpj_loja(); string cod_loja = input_cont_dct.get_st_cod_loja(); string st_terminal = input_cont_dct.get_st_terminal().PadLeft(8, '0').TrimEnd('0'); string dt_ini = input_cont_dct.get_dt_ini(); string dt_fim = input_cont_dct.get_dt_fim(); string st_cart = input_cont_dct.get_st_cartao(); string st_telefone = input_cont_dct.get_st_telefone(); #region - resolve todos os links - // ## Confere telefone if (st_telefone.Length == 10) { T_PayFone pf = new T_PayFone(this); if (!pf.select_rows_telefone(st_telefone)) { PublishError("Telefone inválido"); return(true); } else { if (!pf.fetch()) { return(false); } st_cart_id = pf.get_fk_cartao(); } } // ## Confere cartão else if (st_cart.Length > 0) { T_Cartao cart = new T_Cartao(this); if (!cart.select_rows_tudo(cod_empresa, // empresa st_cart.PadLeft(6, '0'), // matricula "01")) // titularidade { PublishError("Cartão inválido"); return(true); } else { if (!cart.fetch()) { return(false); } st_cart_id = cart.get_identity(); } } // ## Confere pelo código de empresa if (cod_empresa.Length > 0) { T_Empresa emp = new T_Empresa(this); if (cod_empresa == "000000" && (input_cont_header.get_tg_user_type() == TipoUsuario.SuperUser || input_cont_header.get_tg_user_type() == TipoUsuario.OperadorConvey)) { cod_empresa = ""; } else { if (!emp.select_rows_empresa(cod_empresa)) { PublishError("Código de Empresa inexistente"); return(false); } if (!emp.fetch()) { return(false); } fk_empresa = emp.get_identity(); } } // ## Confere por cód de loja if (cnpj_loja.Length > 0) { T_Loja loj = new T_Loja(this); if (!loj.select_rows_cnpj(cnpj_loja)) { PublishError("CNPJ de Loja inexistente"); return(false); } if (!loj.fetch()) { return(false); } fk_loja = loj.get_identity(); } else if (cod_loja.Length > 0) { T_Loja loj = new T_Loja(this); if (!loj.select_rows_loja(cod_loja)) { PublishError("Código de Loja inexistente"); return(false); } if (!loj.fetch()) { return(false); } fk_loja = loj.get_identity(); } // ## Busca Relação da loja com Empresa (Convênio) if ((cnpj_loja.Length > 0 || cod_loja.Length > 0) && cod_empresa.Length > 0) { LINK_LojaEmpresa loj_emp = new LINK_LojaEmpresa(this); if (!loj_emp.select_fk_empresa_loja(fk_empresa, fk_loja)) { PublishError("Loja não conveniada com a empresa"); return(false); } } // ## Confere terminal if (st_terminal.Length > 0) { T_Terminal term = new T_Terminal(this); if (!term.select_rows_terminal(st_terminal)) { PublishError("Terminal inexistente"); return(false); } if (!term.fetch()) { return(false); } fk_terminal = term.get_identity(); // ## Confere convenio com loja (se preenchida) if (fk_empresa.Length > 0) { if (term.get_fk_loja() != fk_empresa) { PublishError("Terminal não residente à loja"); return(false); } } } #endregion // ## Obtem mais filtros st_nsu = input_cont_dct.get_st_nsu(); nu_parc = input_cont_dct.get_nu_parcelas(); en_oper = input_cont_dct.get_en_oper(); vr_valor = input_cont_dct.get_vr_valor(); if (input_cont_dct.get_tg_status() != "-1") { en_conf = input_cont_dct.get_tg_status(); } // ## Escolha da query mais vantajosa pela ordem de filtros // ## informados if (fk_terminal.Length > 0 && fk_empresa.Length > 0 && dt_ini.Length > 0 && dt_fim.Length > 0) { // ## Obtem registros com período if (!l_tr.select_rows_term_emp_dt(fk_terminal, fk_empresa, dt_ini, dt_fim)) { PublishError("Nenhum registro encontrado"); return(false); } } else if (fk_terminal.Length > 0 && fk_empresa.Length > 0 && dt_ini.Length > 0) { // ## Obtem registros com período inicial if (!l_tr.select_rows_term_emp_dt_ini(fk_terminal, fk_empresa, dt_ini)) { PublishError("Nenhum registro encontrado"); return(false); } } else if (fk_terminal.Length > 0 && fk_empresa.Length > 0) { // ## Obtem registros com terminal e empresa if (!l_tr.select_fk_term_empresa(fk_terminal, fk_empresa)) { PublishError("Nenhum registro encontrado"); return(false); } } else if (dt_ini.Length > 0 && dt_fim.Length > 0) { // ## Obtem registro por período de inicio e fim if (!l_tr.select_rows_dt(dt_ini, dt_fim)) { PublishError("Nenhum registro encontrado"); return(false); } } else if (dt_ini.Length > 0) { // ## Obtem registro por período de inicio if (!l_tr.select_rows_dt_ini(dt_ini)) { PublishError("Nenhum registro encontrado"); return(false); } } else if (fk_empresa.Length > 0) { // ## Obtem registros com empresa if (!l_tr.select_fk_empresa(fk_empresa)) { PublishError("Nenhum registro encontrado"); return(false); } } else if (fk_terminal.Length > 0) { // ## Obtem registros com terminal if (!l_tr.select_fk_terminal(fk_terminal)) { PublishError("Nenhum registro encontrado"); return(false); } } else if (nu_parc.Length > 0 && en_oper.Length > 0 && vr_valor.Length > 0 && dt_ini.Length > 0 && dt_fim.Length > 0) { // ## Obtem registro por parcelas, operacao, valor // ## e por período de inicio e fim if (!l_tr.select_rows_par_oper_valor_dt(nu_parc, en_oper, vr_valor, dt_ini, dt_fim)) { PublishError("Nenhum registro encontrado"); return(false); } } else if (nu_parc.Length > 0 && en_oper.Length > 0 && vr_valor.Length > 0 && dt_ini.Length > 0) { // ## Obtem registro por parcelas, operacao, valor // ## e por período de inicio if (!l_tr.select_rows_par_oper_valor_dt_ini(nu_parc, en_oper, vr_valor, dt_ini)) { PublishError("Nenhum registro encontrado"); return(false); } } else if (nu_parc.Length > 0 && en_oper.Length > 0 && vr_valor.Length > 0) { // ## Obtem registro por parcelas, operacao, valor if (!l_tr.select_rows_par_oper_valor(nu_parc, en_oper, vr_valor)) { PublishError("Nenhum registro encontrado"); return(false); } } else if (nu_parc.Length > 0 && en_oper.Length > 0) { // ## Obtem registro por parcelas, operacao if (!l_tr.select_rows_parc_oper(nu_parc, en_oper)) { PublishError("Nenhum registro encontrado"); return(false); } } else if (nu_parc.Length > 0) { // ## Obtem registro por parcelas if (!l_tr.select_rows_parc(nu_parc)) { PublishError("Nenhum registro encontrado"); return(false); } } else if (st_cart_id.Length > 0) { // ## Obtem registro por somente determinado cartão if (!l_tr.select_fk_cartao(st_cart_id)) { PublishError("NSU inválido"); return(false); } } else { // ## Obtem TODOS os registros if (!l_tr.selectAll()) { PublishError("Nenhum registro encontrado"); return(false); } } /// USER [ authenticate ] END Registry("authenticate done fetch_consultaTransacao "); return(true); }