public override bool Run(string client_msg, ref Transaction trans, ref bool IsTerm, ref string buffer_response) { if (client_msg.Length < 69) { return(false); } POS_Entrada pe = new POS_Entrada(); pe.set_st_terminal(client_msg.Substring(6, 8)); pe.set_vr_valor(client_msg.Substring(57, 12)); if (pe.get_st_terminal().StartsWith("1")) { pe.set_st_nsuOrigemSITEF(client_msg.Substring(200, 6)); exec_pos_desfazVendaEmpresarialSITEF tr = new exec_pos_desfazVendaEmpresarialSITEF(trans); tr.input_cont_pe = pe; tr.RunOnline(); buffer_response = util.Get_POS_Buffer(tr.output_cont_pr, tr.output_st_msg); IsTerm = true; return(true); } else { exec_pos_desfazVendaEmpresarial tr = new exec_pos_desfazVendaEmpresarial(trans); tr.input_cont_pe = pe; tr.RunOnline(); buffer_response = util.Get_POS_Buffer(tr.output_cont_pr, tr.output_st_msg); IsTerm = true; return(true); } }
public override bool Run(string client_msg, ref Transaction trans, ref bool IsTerm, ref string buffer_response) { if (client_msg.Length < 71) { return(false); } POS_Entrada pe = new POS_Entrada(); pe.set_st_terminal(client_msg.Substring(6, 8)); string trilha = client_msg.Substring(14, 27); pe.set_st_empresa(trilha.Substring(6, 6)); pe.set_st_matricula(trilha.Substring(12, 6)); pe.set_st_titularidade(trilha.Substring(18, 2)); pe.set_st_senha(client_msg.Substring(41, 16)); pe.set_vr_valor(client_msg.Substring(57, 12)); pe.set_nu_parcelas(client_msg.Substring(69, 2)); pe.set_st_valores(client_msg.Substring(71)); if (client_msg.Length > 200) { pe.set_st_terminalSITEF(client_msg.Substring(200, 8)); // veio do sitef pe.set_st_nsuOrigemSITEF(client_msg.Substring(208, 6)); // veio do sitef } // ajustado if (pe.get_st_terminal().StartsWith("1")) { exec_pos_vendaEmpresarialSITEF tr = new exec_pos_vendaEmpresarialSITEF(trans); tr.input_cont_pe = pe; tr.RunOnline(); IsTerm = tr.IsFail; buffer_response = util.Get_POS_Buffer(tr.output_cont_pr, tr.output_st_msg); return(true); } else { exec_pos_vendaEmpresarial tr = new exec_pos_vendaEmpresarial(trans); tr.input_cont_pe = pe; tr.RunOnline(); IsTerm = tr.IsFail; buffer_response = util.Get_POS_Buffer(tr.output_cont_pr, tr.output_st_msg); return(true); } }
public override bool authenticate( ) { Registry("authenticate exec_pos_desfazVendaEmpresarialSITEF "); /// USER [ authenticate ] // ## Buscar terminal T_Loja loja = new T_Loja(this); var_codResp = "0606"; //alterado if (!loja.select_rows_loja(input_cont_pe.get_st_terminal().Substring(1).TrimStart('0'))) { output_st_msg = "Erro aplicativo1"; return(false); } if (!loja.fetch()) { output_st_msg = "Erro aplicativo2"; return(false); } // ## Buscar transação pelo terminal e pelo valor l_tr = new LOG_Transacoes(this); if (!l_tr.select_rows_loj_vr(loja.get_identity(), input_cont_pe.get_vr_valor(), input_cont_pe.get_st_nsuOrigemSITEF())) { output_st_msg = "Erro aplicativo3"; return(false); } l_tr.SetReversedFetch(); if (!l_tr.fetch()) { output_st_msg = "Erro aplicativo4"; return(false); } // ## Conferir se status já desfeito if (l_tr.get_tg_confirmada() == TipoConfirmacao.Desfeita) { var_codResp = "N3N3"; output_st_msg = "Trans. já desfeita"; return(false); } // ## Conferir se status dif de pendente if (l_tr.get_tg_confirmada() != TipoConfirmacao.Pendente) { output_st_msg = "Erro aplicativo5"; return(false); } term = new T_Terminal(this); if (!term.selectIdentity(l_tr.get_fk_terminal())) { output_st_msg = "Erro aplicativo6"; return(false); } var_codResp = "0000"; /// USER [ authenticate ] END Registry("authenticate done exec_pos_desfazVendaEmpresarialSITEF "); return(true); }
public override bool authenticate( ) { Registry("authenticate exec_pos_vendaEmpresarialSITEF "); /// USER [ authenticate ] cart = new T_Cartao(this); emp = new T_Empresa(this); l_nsu = new LOG_NSU(this); info = new T_InfoAdicionais(this); prot = new T_Proprietario(this); loj = new T_Loja(this); // Default é erro genérico var_codResp = "9999"; // Normal var_nu_nsuAtual = Context.NONE; var_nu_nsuEntidade = Context.NONE; // Cancelamento var_nu_nsuOrig = Context.NONE; var_nu_nsuEntOrig = Context.NONE; // Valores básicos de comércio var_vr_total = input_cont_pe.get_vr_valor(); var_nu_parcelas = input_cont_pe.get_nu_parcelas(); var_codResp = "0606"; // alterado #region - valida loja AO INVES DE TERMINAL (antigo) - // ## Busca terminal pelo seu código // pega os 7 ultimos if (!loj.select_rows_loja(input_cont_pe.get_st_terminal().Substring(1).TrimStart('0'))) { output_st_msg = "Loja inexistente"; var_codResp = "0303"; return(false); } if (!loj.fetch()) { output_st_msg = "Erro aplicativo"; return(false); } // alterado! // busca o primeiro terminal vinculado if (!term.select_fk_loja(loj.get_identity())) { output_st_msg = "Erro do terminal"; return(false); } term.fetch(); #endregion // continua igual #region - valida empresa - // ## Busca empresa informada if (!emp.select_rows_empresa(input_cont_pe.get_st_empresa())) { output_st_msg = "Empresa inexistente"; var_codResp = "0303"; return(false); } if (!emp.fetch()) { output_st_msg = "Erro de aplicativo"; return(false); } // ## Caso empresa bloqueada, sair if (emp.get_tg_bloq() == Context.TRUE) { output_st_msg = "Empresa bloqueada"; var_codResp = "0303"; return(false); } #endregion // alterado! #region - valida relação da Loja do Terminal com Empresa (Convênio) LINK_LojaEmpresa loj_emp = new LINK_LojaEmpresa(this); if (!loj_emp.select_fk_empresa_loja(emp.get_identity(), loj.get_identity())) { output_st_msg = "Loja não conveniada"; var_codResp = "0303"; return(false); } if (loj.get_tg_blocked() == Context.TRUE) { output_st_msg = "Loja bloqueada"; var_codResp = "0303"; return(false); } if (loj.get_tg_cancel() == Context.TRUE) { output_st_msg = "Loja cancelada"; var_codResp = "0303"; return(false); } #endregion // continua igual #region - valida cartão - if (!cart.select_rows_tudo(input_cont_pe.get_st_empresa(), input_cont_pe.get_st_matricula(), input_cont_pe.get_st_titularidade())) { output_st_msg = "Cartão inexistente"; var_codResp = "0606"; return(false); } if (!cart.fetch()) { output_st_msg = "Erro aplicativo"; return(false); } // ## Verifica bloqueio if (cart.get_tg_status() == CartaoStatus.Bloqueado) { output_st_msg = "Cartão inválido"; var_codResp = "0505"; return(false); } if (cart.get_tg_emitido() != StatusExpedicao.Expedido) { output_st_msg = "Cartão inválido"; var_codResp = "0505"; return(false); } if (cart.get_tg_tipoCartao() == TipoCartao.educacional) { // ## No caso educacional, permitir somente venda // ## em uma parcela if (input_cont_pe.get_nu_parcelas().TrimStart('0') != "1") { output_st_msg = "Somente uma parcela"; var_codResp = "0606"; return(false); } } // ## Conferir vencto do cartão /* * if ( cart.get_tg_tipoCartao() == TipoCartao.empresarial ) * { * int year = 2000 + Convert.ToInt32 ( cart.get_st_venctoCartao().Substring ( 2,2 ) ); * int month = Convert.ToInt32 ( cart.get_st_venctoCartao().Substring ( 0,2 ) ); * int day = 1; * * DateTime tim_venc = new DateTime ( year, month, day ); * * if ( tim_venc < DateTime.Now ) * { * output_st_msg = "Cartão vencido"; * var_codResp = "7676"; * return false; * } * } */ #endregion var_vr_total = input_cont_pe.get_vr_valor(); var_nu_parcelas = input_cont_pe.get_nu_parcelas(); SQL_LOGGING_ENABLE = false; // continua igual #region - Verifica disponivel mensal nas parcelas - T_Parcelas parc = new T_Parcelas(this); string myId = cart.get_identity(); if (cart.get_st_titularidade() != "01") { cart.select_rows_tudo(cart.get_st_empresa(), cart.get_st_matricula(), "01"); cart.fetch(); } vr_dispMes = cart.get_int_vr_limiteMensal() + cart.get_int_vr_extraCota(); vr_dispTot = cart.get_int_vr_limiteTotal() + cart.get_int_vr_extraCota(); vr_valor = Convert.ToInt64(input_cont_pe.get_vr_valor()); if (cart.get_tg_tipoCartao() != TipoCartao.presente) { new ApplicationUtil().GetSaldoDisponivel(ref cart, ref vr_dispMes, ref vr_dispTot); int tmp_nu_parc = Convert.ToInt32(input_cont_pe.get_nu_parcelas()); if (tmp_nu_parc > 1) { if (vr_valor > vr_dispTot) { output_st_msg = "limite excedido"; var_codResp = "2727"; SQL_LOGGING_ENABLE = true; return(false); } LOG_Transacoes ltr = new LOG_Transacoes(this); T_Parcelas parcTot = new T_Parcelas(this); string tmp = input_cont_pe.get_st_valores(); ArrayList lstCartoes = new ArrayList(); T_Cartao c_t = new T_Cartao(this); c_t.select_rows_empresa_matricula(cart.get_st_empresa(), cart.get_st_matricula()); while (c_t.fetch()) { lstCartoes.Add(c_t.get_identity()); } for (int t = 1, index_pos = 0; t <= tmp_nu_parc; ++t) { long valor_unit_parc = Convert.ToInt64(tmp.Substring(index_pos, 12)); index_pos += 12; if (valor_unit_parc > cart.get_int_vr_limiteMensal()) { output_st_msg = "limite excedido"; var_codResp = "2727"; SQL_LOGGING_ENABLE = true; return(false); } long dispMesParc = cart.get_int_vr_limiteMensal(); // Verifica disponivel mensal nas parcelas if (parcTot.select_rows_cartao_mensal(ref lstCartoes, t.ToString())) // este mês { while (parcTot.fetch()) { if (ltr.selectIdentity(parcTot.get_fk_log_transacoes())) // busca transação { if (ltr.get_tg_confirmada() == TipoConfirmacao.Confirmada || ltr.get_tg_confirmada() == TipoConfirmacao.Pendente) { dispMesParc -= parcTot.get_int_vr_valor(); } } } } if (valor_unit_parc > dispMesParc) { output_st_msg = "limite excedido"; var_codResp = "2727"; SQL_LOGGING_ENABLE = true; return(false); } } } else { if (vr_valor > vr_dispMes || vr_valor > vr_dispTot) { output_st_msg = "limite excedido"; var_codResp = "2727"; SQL_LOGGING_ENABLE = true; return(false); } } } else { if (vr_valor > cart.get_int_vr_limiteTotal()) { output_st_msg = "limite excedido"; var_codResp = "2727"; SQL_LOGGING_ENABLE = true; return(false); } } if (myId != cart.get_identity()) { // restaurar cartão dep cart.selectIdentity(myId); } #endregion SQL_LOGGING_ENABLE = true; /// USER [ authenticate ] END Registry("authenticate done exec_pos_vendaEmpresarialSITEF "); return(true); }
public override bool authenticate( ) { Registry("authenticate exec_pos_desfazVendaEmpresarial "); /// USER [ authenticate ] // ## Buscar terminal term = new T_Terminal(this); var_codResp = "0606"; if (!term.select_rows_terminal(input_cont_pe.get_st_terminal())) { output_st_msg = "Erro aplicativo"; return(false); } if (!term.fetch()) { output_st_msg = "Erro aplicativo"; return(false); } // ## Buscar transação pelo terminal e pelo valor l_tr = new LOG_Transacoes(this); if (!l_tr.select_rows_term_vr(term.get_identity(), input_cont_pe.get_vr_valor())) { output_st_msg = "Erro aplicativo"; return(false); } l_tr.SetReversedFetch(); if (!l_tr.fetch()) { output_st_msg = "Erro aplicativo"; return(false); } // ## Conferir se status já desfeito if (l_tr.get_tg_confirmada() == TipoConfirmacao.Desfeita) { var_codResp = "N3N3"; output_st_msg = "Trans. já desfeita"; return(false); } // ## Conferir se status dif de pendente if (l_tr.get_tg_confirmada() != TipoConfirmacao.Pendente) { output_st_msg = "Erro aplicativo"; return(false); } var_codResp = "0000"; /// USER [ authenticate ] END Registry("authenticate done exec_pos_desfazVendaEmpresarial "); return(true); }