Exemplo n.º 1
0
        private void abrirCartao()
        {
            if (tpModo != TTpModo.tm_busca)
            {
                return;
            }
            if (!string.IsNullOrEmpty(nr_cartao.Text.ToString().Trim().SoNumero()) && !string.IsNullOrEmpty(txtDados.Text))
            {
                DataTable rClifor = new TCD_Clifor().Buscar(
                    new TpBusca[]
                {
                    new TpBusca()
                    {
                        vNM_Campo = "a.cd_clifor",
                        vOperador = "=",
                        vVL_Busca = "'" + cd_clifor.ToString().Trim() + "'"
                    }
                }, 1);
                if (rClifor.Rows.Count.Equals(0))
                {
                    return;
                }

                // busca cartao se estiver aberto
                TList_Cartao lCartao = new TCD_Cartao().Select(
                    new TpBusca[]
                {
                    new TpBusca()
                    {
                        vNM_Campo = "a.nr_cartao",
                        vOperador = "=",
                        vVL_Busca = "'" + nr_cartao.Text.ToString().Trim().SoNumero() + "'"
                    },
                    new TpBusca()
                    {
                        vNM_Campo = "a.st_registro",
                        vOperador = "=",
                        vVL_Busca = "'A'"
                    }
                }, 1, string.Empty, string.Empty);
                if (lCartao.Count > 0)
                {
                    MessageBox.Show("Erro: O número " + nr_cartao.Text.ToString().Trim().SoNumero() + " de cartão consta como aberto!", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    nr_cartao.Text = "";
                    nr_cartao.Focus();
                    return;
                }
                else if (lcfg[0].bool_mesacartao || lcfg[0].Tp_cartao.Equals("0"))
                {
                    // abre um novo cartao rotativo
                    TRegistro_Cartao rcartao = new TRegistro_Cartao();
                    rcartao.nr_cartao       = nr_cartao.Text.ToString().Trim().SoNumero();
                    rcartao.Dt_abertura     = CamadaDados.UtilData.Data_Servidor();
                    rcartao.St_registro     = "A";
                    rcartao.vl_limitecartao = decimal.Zero;
                    rcartao.st_menor        = cbMenor.Checked;
                    rcartao.Cd_empresa      = lcfg[0].cd_empresa;
                    rcartao.Cd_Clifor       = rClifor.Rows[0].ItemArray[1].ToString().Trim();
                    rcartao.Nm_Clifor       = nome_clifor.Text;
                    TRegistro_PreVenda pre = new TRegistro_PreVenda();
                    pre.Dt_venda = CamadaDados.UtilData.Data_Servidor();
                    rcartao.lPreVenda.Add(pre);
                    TCN_Cartao.Gravar(rcartao, null);
                    MessageBox.Show("O cartão de número: " + nr_cartao.Text.ToString().Trim().SoNumero() + "  foi aberto com sucesso!", "Mensagem", MessageBoxButtons.OK);
                }
                else if (lCartao.Count.Equals(0))
                {
                    TList_Cartao cartaonovo = new TCD_Cartao().Select(
                        new TpBusca[]
                    {
                        new TpBusca()
                        {
                            vNM_Campo = "a.nr_cartao",
                            vOperador = "=",
                            vVL_Busca = nr_cartao.Text.ToString().Trim().SoNumero()
                        }
                    }, 1, string.Empty, string.Empty);
                    // abre um novo cartao
                    if (cartaonovo.Count > 0)
                    {
                        TRegistro_Cartao rcartao = new TRegistro_Cartao();
                        rcartao.nr_cartao       = nr_cartao.Text.ToString().Trim().SoNumero();
                        rcartao.Dt_abertura     = DateTime.Now;
                        rcartao.St_registro     = "A";
                        rcartao.Cd_Clifor       = cartaonovo[0].Cd_Clifor;
                        rcartao.vl_limitecartao = cartaonovo[0].vl_limitecartao;
                        rcartao.status_menor    = cartaonovo[0].status_menor;
                        rcartao.Cd_empresa      = lcfg[0].cd_empresa;
                        rcartao.Cd_Clifor       = rClifor.Rows[0].ItemArray[1].ToString().Trim();
                        rcartao.Nm_Clifor       = nome_clifor.Text;
                        TRegistro_PreVenda pre = new TRegistro_PreVenda();
                        rcartao.lPreVenda.Add(pre);
                        TCN_Cartao.Gravar(rcartao, null);
                    }
                }
            }
            else
            {
                MessageBox.Show("Informe o número do cartão!", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1);
            }

            tpModo = TTpModo.tm_Standby;
            afternovo();
        }
Exemplo n.º 2
0
        private void buscarClifor()
        {
            if (tpModo != TTpModo.tm_Insert)
            {
                return;
            }
            if (string.IsNullOrEmpty(txtDados.Text))
            {
                return;
            }

            TpBusca[] tps = new TpBusca[0];
            Estruturas.CriarParametro(ref tps, "a.celular", "'%" + txtDados.Text.Trim().SoNumero() + "'", "like");
            TList_Clifor rClifor = new TCD_Clifor().Select(tps, 0, string.Empty);

            //Cliente não existe (método: novoClifor)
            if (rClifor.Count.Equals(0))
            {
                nome_clifor.Focus(); return;
            }

            //Vários clientes com o mesmo número de telefone
            if (rClifor.Count > 1)
            {
                if (tpModo == TTpModo.tm_Insert)
                {
                    using (TFConsultaClifor fconsulta = new TFConsultaClifor())
                    {
                        fconsulta.nome = txtDados.Text.Trim().SoNumero();
                        if (fconsulta.ShowDialog() == DialogResult.OK)
                        {
                            txtDados.Text    = fconsulta.rClifor.celular;
                            nome_clifor.Text = fconsulta.rClifor.Nm_clifor;
                            cd_clifor        = fconsulta.rClifor.Cd_clifor;
                            tpModo           = TTpModo.tm_busca;
                        }
                        else
                        {
                            tpModo = TTpModo.tm_Standby;
                            afternovo();
                        }
                    }
                }
            }
            else
            {
                nome_clifor.Text = rClifor[0].Nm_clifor;
                cd_clifor        = rClifor[0].Cd_clifor;
                tpModo           = TTpModo.tm_busca;
            }

            //Validar necessidade de atualizar o cadastro do clifor
            tps = new TpBusca[0];
            Estruturas.CriarParametro(ref tps, "a.ds_parametro", "'DIAS_RENOVACAO_CADASTRO_CLIFOR'");
            object vlNumerico = new CamadaDados.ConfigGer.TCD_ParamGer().BuscarEscalar(tps, "a.vl_numerico");

            if (vlNumerico != null && !string.IsNullOrEmpty(vlNumerico.ToString()))
            {
                //Buscar data de alteração do cadastro do clifor
                tps = new TpBusca[0];
                Estruturas.CriarParametro(ref tps, "a.cd_clifor", rClifor[0].Cd_clifor);
                object dtAlt = new CamadaDados.Financeiro.Cadastros.TCD_CadClifor().BuscarEscalar(tps, "a.dt_alt");
                if (dtAlt != null && !string.IsNullOrEmpty(vlNumerico.ToString()))
                {
                    try
                    {
                        //Validar diferenca das datas
                        double dif = CamadaDados.UtilData.Data_Servidor().Subtract(Convert.ToDateTime(dtAlt)).TotalDays;
                        if (dif > Convert.ToDouble(vlNumerico))
                        {
                            atualizarCadastroClifor(rClifor[0]);
                        }
                    }
                    catch { }
                }
            }
        }