using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Net;
using System.IO;
using LLNet.GUI;
using System.Text.RegularExpressions;
using LLNet.Utils;
using System.Globalization;

namespace LLNet.Tienda.MainForms.Forms.MisPuntos
{
    public partial class FrmEkonoPlus : LLNet.GUI.FormBases.frmBase
    {
        private static bool fechaVigentePagoTarjetaPlus;
        private static bool fechaFormatoIncorrectaPagoTarjetaPlus;
        public FrmEkonoPlus()
        {
            InitializeComponent();

        }

        private void siBtnSalir_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void btnConsC_CPLUS_Click(object sender, EventArgs e)
        {
            ConsDatosCed_CPLUS();
        }

        private void btnConsDatos_CPLUS_Click(object sender, EventArgs e)
        {
            ConsDatosTarj_CPLUS();
        }

        /*private void btn_AsoC_PLUS_Click(object sender, EventArgs e)
        {

        }
        */
        private void btn_ElimC_PLUS_Click(object sender, EventArgs e)
        {
            String Tarje_A_CPLUS = String.Empty;
            String Ced_A_CPLUS = String.Empty;


            try
            {

                if (GUI.CApp.ValidateAccess("PLUS_Club_EPLUS", "Club Ekono Plus"))
                {
                    Tarje_A_CPLUS = txtTarje_A_CPLUS.Text.Trim();
                    Ced_A_CPLUS = txtMCed_A_CPLUS.Text.Trim();


                    int count = 0;
                    Utils.QueryParams qpVC = new LLNet.Utils.QueryParams();
                    Utils.QueryParams qp = new LLNet.Utils.QueryParams();
                    qp = new QueryParams();
                    qp.AddReplaceParam("P_C_CEDULA", Ced_A_CPLUS);
                    qp.AddReplaceParam("P_C_TARJETA", Tarje_A_CPLUS);
                    count = Convert.ToInt32(GUI.CApp.bll.GetSingleValue("PLUS_CLIENTE_ANULABLE", qp, "PDV"));


                    if (count > 0)
                    {

                        Utils.QueryParams qp2 = new LLNet.Utils.QueryParams();
                        qp2 = new QueryParams();
                        qp2.AddReplaceParam("P_C_CEDULA", Ced_A_CPLUS);
                        qp2.AddReplaceParam("P_C_REGISTRADO_POR", GUI.CApp.usuario);
                        GUI.CApp.bll.ExecuteSql("PLUS_MEMBRESIA_ANULADA_SF", qp2, "PDV");
                        LLNet.GUI.CApp.ShowMessage("Se ha realizado la desafiliación", "Desafiliación", true);
                        this.Dispose();
                        this.Close();



                    }
                    else
                    {

                        Utils.QueryParams qp3 = new LLNet.Utils.QueryParams();
                        qp3 = new QueryParams();
                        qp3.AddReplaceParam("P_C_CEDULA", Ced_A_CPLUS);
                        string qpresult = (GUI.CApp.bll.GetSingleValue("PLUS_FACTURA_ANULABLE", qp3, "PDV").ToString());
                        count = Int32.Parse(qpresult);

                        if (count > 0)
                        {

                            Utils.QueryParams qp2 = new LLNet.Utils.QueryParams();
                            qp2 = new QueryParams();
                            qp2.AddReplaceParam("P_C_CEDULA", Ced_A_CPLUS);
                            qp2.AddReplaceParam("P_C_REGISTRADO_POR", GUI.CApp.usuario);
                            GUI.CApp.bll.ExecuteSql("PLUS_MEMBRESIA_ANULADA_CF", qp2, "PDV");
                            LLNet.GUI.CApp.ShowMessage("Se ha realizado la desafiliación", "Desafiliación", true);
                            this.Dispose();
                            this.Close();



                        }
                        else if (count < 0)
                        {
                            CApp.ShowMessage("La factura debe ser anulada previamente", "Desafiliación", true);

                        }
                        else
                        {

                            Utils.QueryParams qp2 = new LLNet.Utils.QueryParams();
                            qp2 = new QueryParams();
                            qp2.AddReplaceParam("P_C_CEDULA", Ced_A_CPLUS);
                            qp2.AddReplaceParam("P_C_REGISTRADO_POR", GUI.CApp.usuario);
                            GUI.CApp.bll.ExecuteSql("PLUS_MEMBRESIA_ANULADA_SF", qp2, "PDV");
                            LLNet.GUI.CApp.ShowMessage("Se ha realizado la desafiliación", "Desafiliación", true);
                            this.Dispose();
                            this.Close();

                        }

                    }
                }
                else
                {
                    //txtTarje_A_CBB.Enabled = false;
                    CApp.ShowMessage("¡No tiene permiso para desafiliar al Club ekono Plus !", "Desafiliación", true);
                }

            }
            catch (Exception er)
            {
                CApp.ShowMessage(er.Message, "Afiliación - Club ekono Plus", true);
            }


        }

        private void ConsDatosMem_CPLUS()
        {

            //consulta de datos local
            string fecVenMembresia = string.Empty;
            Utils.QueryParams qp = new LLNet.Utils.QueryParams();

            qp.AddReplaceParam("pCed", txtMCed_CPLUS.Text.Trim());

            //CONSULTA LOS PARÁMETROS DE LA BD
            DataSet dsB = GUI.CApp.bll.getDataSet("PDV", "ClixMemCedPtsP", qp);

            object[] datos = new object[13];

            if (dsB.Tables[0].Rows.Count > 0)
            {

                datos = dsB.Tables[0].Rows[0].ItemArray;

                if (datos.Length > 1)
                {
                    txtTarje_A_CPLUS.Text = datos[1].ToString();
                    if (datos[5] != null)
                    {
                        if (!string.IsNullOrWhiteSpace(datos[5].ToString()))
                        {
                            fecVenMembresia = ((DateTime)datos[5]).ToString("dd/MM/yyyy", System.Globalization.CultureInfo.InvariantCulture);
                            btn_ReemplazoT_PLUS.Visible = true;
                        }

                    }

                    txtFechaVencimiento.Text = fecVenMembresia;
                    chkPlazo6Meses.Enabled = false;
                    chkPlazo12Meses.Enabled = false;
                    chkMembresia5Meses.Enabled = false;
                    chkMembresia11Meses.Enabled = false;
                    chkContado.Enabled = false;
                    txtTarjetaCreditoDebito.Enabled = false;
                    txtFechVencTarjetaCredito.Enabled = false;
                    txtNumeroBOleta.Enabled = false;
                    HabilitarBotonRenovarMembre(txtMCed_A_CPLUS.Text);
                    //txtMApellido1_CPLUS.Text = datos[2].ToString();
                    //txtMApellido2_CPLUS.Text = datos[3].ToString();
                    //mTxtMTelef1_CPLUS.Text = datos[4].ToString();
                    //mTxtMTelef2_CPLUS.Text = datos[5].ToString();
                    //txtMCorreo_CPLUS.Text = datos[6].ToString();
                    //dTPMFecha_CPLUS.Text = datos[7].ToString();
                    //cbxMGenero_CPLUS.Text = datos[8].ToString();
                    //cBxMProvincia_CPLUS.Text = datos[9].ToString();
                    //cBoxMCanton_CPLUS.Text = datos[10].ToString();
                    //cBoxMDistrito_CPLUS.Text = datos[11].ToString();
                    //txtMTarjet_CPLUS.Text = datos[12].ToString();
                    //txtMCed_A_CPLUS.Text = datos[0].ToString();
                    //txtTarje_A_CPLUS.Enabled = true;
                    //btn_AsoC_PLUS.Enabled = true;
                }
                else
                {

                }
            }
            else
            {
                HabilitarRenovacionMembresia(true);
            }

        }

        private void ConsDatosCed_CPLUS()
        {
            LimpiarM_CPlus(true);
            //consulta de datos local
            Utils.QueryParams qp = new LLNet.Utils.QueryParams();

            qp.AddReplaceParam("pCed", txtMCed_CPLUS.Text.Trim());

            //CONSULTA LOS PARÁMETROS DE LA BD
            DataSet dsB = GUI.CApp.bll.getDataSet("PDV", "ClixCedPtsP", qp);

            object[] datos = new object[13];

            if (dsB.Tables[0].Rows.Count > 0)
            {

                datos = dsB.Tables[0].Rows[0].ItemArray;

                if (datos.Length > 1)
                {
                    txtMCed_CPLUS.Text = datos[0].ToString();
                    txtmnombre_CPLUS.Text = datos[1].ToString();
                    txtMApellido1_CPLUS.Text = datos[2].ToString();
                    txtMApellido2_CPLUS.Text = datos[3].ToString();
                    mTxtMTelef1_CPLUS.Text = datos[4].ToString();
                    mTxtMTelef2_CPLUS.Text = datos[5].ToString();
                    txtMCorreo_CPLUS.Text = datos[6].ToString();
                    dTPMFecha_CPLUS.Text = datos[7].ToString();
                    cbxMGenero_CPLUS.Text = datos[8].ToString();
                    cBxMProvincia_CPLUS.Text = datos[9].ToString();
                    cBoxMCanton_CPLUS.Text = datos[10].ToString();
                    cBoxMDistrito_CPLUS.Text = datos[11].ToString();
                    txtMTarjet_CPLUS.Text = datos[12].ToString();
                    txtMCed_A_CPLUS.Text = datos[0].ToString();
                    txtTarje_A_CPLUS.Enabled = true;
                    btn_AsoC_PLUS.Enabled = true;
                    if (!string.IsNullOrWhiteSpace(txtMCed_CPLUS.Text.Trim()))
                    {
                        ConsDatosMem_CPLUS();
                    }



                }
            }


            /*
            BitacoraTiempo(txtMCed_CBB.Text, "consultar_informacion.php");
            string PData = "url_respuesta=" + varUrlPts + "prueba_respuesta_informacion.php&tipo_respuesta=1&cod_empresa=" + varCodemprPts + "&cod_sucursal=" + varCodsucPts + "&consulta_cedula=1&numero_tarjeta=" + txtMCed_CBB.Text;
            //string PData = "url_respuesta=" + varUrlPts + "prueba_respuesta_informacion.php&tipo_respuesta=1&cod_empresa=" + varCodemprPts + "&cod_sucursal=" + varCodsucPts + "&consulta_cedula=1&numero_tarjeta=" + "true";
            string info = RequestPOST(varUrlPts + "consultar_informacion.php", PData);
            BitacoraTiempoF(id);
            info = info.Trim();

            if (info.StartsWith("<br>"))
            {
                info = info.Replace("<br>", "*");
                info = info.Replace("**", "*");
                string[] datos = info.Split('*');
                //LimpiarM_CBB(true);
                if (datos.Length > 1)
                {
                    txtmnombre_CBB.Text = datos[1].ToString().Split('=').GetValue(1).ToString();
                    txtMApellido1_CBB.Text = datos[2].ToString().Split('=').GetValue(1).ToString();
                    txtMApellido2_CBB.Text = datos[3].ToString().Split('=').GetValue(1).ToString();
                    dTPMFecha_CBB.Text = datos[4].ToString().Split('=').GetValue(1).ToString();
                    txtMCorreo_CBB.Text = datos[5].ToString().Split('=').GetValue(1).ToString();
                    mTxtMTelef1_CBB.Text = datos[8].ToString().Split('=').GetValue(1).ToString();
                    mTxtMTelef2_CBB.Text = datos[7].ToString().Split('=').GetValue(1).ToString();
                    cBxMProvincia_CBB.Text = datos[10].ToString().Split('=').GetValue(1).ToString();
                    cBoxMCanton_CBB.Text = datos[11].ToString().Split('=').GetValue(1).ToString();
                    cBoxMDistrito_CBB.Text = datos[9].ToString().Split('=').GetValue(1).ToString();
                    cbxMGenero_CBB.Text = datos[12].ToString().Split('=').GetValue(1).ToString();
                    txtMCed_CBB.Text = datos[14].ToString().Split('=').GetValue(1).ToString();
                    txtMTarjet_CBB.Text = datos[16].ToString().Split('=').GetValue(1).ToString();
                    txtMCed_A_CBB.Text = datos[14].ToString().Split('=').GetValue(1).ToString();
                    txtTarje_A_CBB.Enabled = true;
                    if (datos[14].ToString().Split('=').GetValue(1).ToString() != "")
                    {
                        String cedula = datos[14].ToString().Split('=').GetValue(1).ToString();
                        Utils.QueryParams qp2 = new LLNet.Utils.QueryParams();
                        //qp2.AddReplaceParam("pCed", TxtCedASO.Text);
                        qp2.AddReplaceParam("pCed", cedula);
                        DataSet dsB = GUI.CApp.bll.getDataSet("PDV", "ClixCedPts", qp2);
                        if (dsB.Tables[0].Rows.Count <= 0)
                        {
                            Utils.QueryParams qp3 = new LLNet.Utils.QueryParams();

                            qp3.AddReplaceParam("pTARJETA", datos[16].ToString().Split('=').GetValue(1).ToString());
                            qp3.AddReplaceParam("pCEDULA", datos[14].ToString().Split('=').GetValue(1).ToString());
                            qp3.AddReplaceParam("pNOMBRE", datos[1].ToString().Split('=').GetValue(1).ToString());
                            qp3.AddReplaceParam("pAPELLIDO1", datos[2].ToString().Split('=').GetValue(1).ToString());
                            qp3.AddReplaceParam("pAPELLIDO2", datos[3].ToString().Split('=').GetValue(1).ToString());
                            qp3.AddReplaceParam("pTELEFONO1", (String.IsNullOrEmpty(datos[8].ToString().Split('=').GetValue(1).ToString()) ? "-" : datos[8].ToString().Split('=').GetValue(1).ToString()));
                            qp3.AddReplaceParam("pTELEFONO2", datos[7].ToString().Split('=').GetValue(1).ToString());
                            qp3.AddReplaceParam("pEMAIL", datos[5].ToString().Split('=').GetValue(1).ToString());
                            qp3.AddReplaceParam("pFECHA_NAC", dTPMFecha_CBB.Value.ToShortDateString());
                            qp3.AddReplaceParam("pGENERO", datos[12].ToString().Split('=').GetValue(1).ToString());
                            qp3.AddReplaceParam("pPROVINCIA", datos[10].ToString().Split('=').GetValue(1).ToString());
                            qp3.AddReplaceParam("pCANTON", datos[11].ToString().Split('=').GetValue(1).ToString());
                            qp3.AddReplaceParam("pDISTRITO", datos[9].ToString().Split('=').GetValue(1).ToString());
                            qp3.AddReplaceParam("pPERTENECE_A", "MisPts");
                            qp3.AddReplaceParam("pCAJERO", GUI.CApp.usuario);

                            GUI.CApp.bll.ExecuteSql("WMS_IClienteMisPts", qp3, "PDV");
                        }
                        int count = 0;
                        Utils.QueryParams qp = new LLNet.Utils.QueryParams();
                        qp = new QueryParams();
                        qp.AddReplaceParam("p_C_CEDULA", cedula);
                        count = Convert.ToInt32(GUI.CApp.bll.GetSingleValue("cbb_CLIENTE_EXISTE", qp, "PDV"));
                        if (count > 0)
                        {
                            txt_cedula_Micbb.Text = datos[14].ToString().Split('=').GetValue(1).ToString();
                            txtTarje_A_CBB.Enabled = false;
                            btn_AsoC_CBB.Enabled = false;
                            btn_VerConf_cbb.Enabled = true;
                            CApp.ShowMessage("Esta persona ya pertenece al Club del Bebé", "Afiliación - Consulta Datos Cédula Club del Bebé", true);
                            if (!frmGestionCbb.TarjetaCBBActiva(datos[14].ToString().Split('=').GetValue(1).ToString()))
                            {
                                btn_VerConf_cbb.Enabled = false;
                                CApp.ShowMessage("Tarjeta Club Bebé se encuentra inactiva, por favor crear una nueva lista de regalo para activar la tarjeta", "Club del Bebé", true);
                            }

                        }
                        else
                        {
                            txtTarje_A_CBB.Enabled = true;
                            btn_AsoC_CBB.Enabled = true;
                            btn_VerConf_cbb.Enabled = false;
                        }

                        //QueryParams qpOF1117 = new QueryParams();
                        //qpOF1117.AddReplaceParam("Param1", h_ent);
                        //CApp.bll.ExecuteSql("VALIDATE_MODIFY_M", qpOF1117, "PDV");
                        //v_modify_m = Convert.ToInt32(CApp.bll.GetSingleValue("VALIDATE_MODIFY_M", qpOF1117, "PDV"));
                    }



                }
            }
            else
            {
                btn_AsoC_PLUS.Enabled = false;
                CApp.ShowMessage(info, "Afiliación - Consulta Datos Cédula Club del Bebé", true);
                BitacoraErrorWS("WS=" + varUrlPts + "consultar_informacion.php " + info, PData);
                LimpiarM_CBB(true);
            } 
             * */
        }

        private void ConsDatosTarj_CPLUS()
        {
            LimpiarM_CPlus(false);

            //consulta de datos local
            Utils.QueryParams qp = new LLNet.Utils.QueryParams();

            qp.AddReplaceParam("pTarj", txtMTarjet_CPLUS.Text.Trim());
            //CONSULTA LOS PARÁMETROS DE LA BD
            DataSet dsB = GUI.CApp.bll.getDataSet("PDV", "ClixTarjPtsP", qp);

            object[] datos = new object[13];
            if (dsB.Tables[0].Rows.Count > 0)
            {

                datos = dsB.Tables[0].Rows[0].ItemArray;

                if (datos.Length > 1)
                {
                    txtMCed_CPLUS.Text = datos[0].ToString();
                    txtmnombre_CPLUS.Text = datos[1].ToString();
                    txtMApellido1_CPLUS.Text = datos[2].ToString();
                    txtMApellido2_CPLUS.Text = datos[3].ToString();
                    mTxtMTelef1_CPLUS.Text = datos[4].ToString();
                    mTxtMTelef2_CPLUS.Text = datos[5].ToString();
                    txtMCorreo_CPLUS.Text = datos[6].ToString();
                    dTPMFecha_CPLUS.Text = datos[7].ToString();
                    cbxMGenero_CPLUS.Text = datos[8].ToString();
                    cBxMProvincia_CPLUS.Text = datos[9].ToString();
                    cBoxMCanton_CPLUS.Text = datos[10].ToString();
                    cBoxMDistrito_CPLUS.Text = datos[11].ToString();
                    txtMTarjet_CPLUS.Text = datos[12].ToString();
                    txtMCed_A_CPLUS.Text = datos[0].ToString();
                    txtTarje_A_CPLUS.Enabled = true;
                    btn_AsoC_PLUS.Enabled = true;
                }
            }

            ConsDatosMem_CPLUS();

        }

        private void LimpiarM_CPlus(bool tarj)
        {

            if (tarj)
            {
                txtMTarjet_CPLUS.Text = string.Empty;
            }
            else
            {
                txtMCed_CPLUS.Text = string.Empty;
            }
            txtmnombre_CPLUS.Text = string.Empty;
            txtMApellido1_CPLUS.Text = string.Empty;
            txtMApellido2_CPLUS.Text = string.Empty;
            txtMCorreo_CPLUS.Text = string.Empty;
            mTxtMTelef1_CPLUS.Text = string.Empty;
            mTxtMTelef2_CPLUS.Text = string.Empty;
            txtTarje_A_CPLUS.Text = string.Empty;
            txtMCed_A_CPLUS.Text = string.Empty;
            dTPMFecha_CPLUS.Value = DateTime.Today;
            cbxMGenero_CPLUS.Items.Clear();
            cbxMGenero_CPLUS.ResetText();
            cBxMProvincia_CPLUS.ResetText();
            cBoxMCanton_CPLUS.Items.Clear();
            cBoxMCanton_CPLUS.ResetText();
            cBoxMDistrito_CPLUS.Items.Clear();
            cBoxMDistrito_CPLUS.ResetText();
            chkPlazo6Meses.Checked = false;
            chkPlazo12Meses.Checked = false;
            chkMembresia5Meses.Checked = false;
            chkMembresia11Meses.Checked = false;
            chkContado.Checked = false;
            txtTarjetaCreditoDebito.Text = string.Empty;
            txtFechVencTarjetaCredito.Text = string.Empty;
            txtNumeroBOleta.Text = string.Empty;
            txtFechaVencimiento.Text = string.Empty;
            chkPlazo6Meses.Enabled = true;
            chkPlazo12Meses.Enabled = true;
            chkMembresia5Meses.Enabled = true;
            chkMembresia11Meses.Enabled = true;
            chkContado.Enabled = true;
            txtTarjetaCreditoDebito.Enabled = true;
            txtFechVencTarjetaCredito.Enabled = true;
            txtNumeroBOleta.Enabled = true;
        }

        public int getPlazoSeleccionado()
        {
            int valor = -1;
            if (chkPlazo6Meses.Checked)
            {
                valor = 6;
            }
            if (chkPlazo3Meses.Checked)
            {
                valor = 3;
            }
            if (chkPlazo12Meses.Checked)
            {
                valor = 12;
            }

            return valor;
        }

        public int getMembresiaSeleccionada()
        {
            int valor = -1;
            if (chkMembresia5Meses.Checked)
            {
                valor = 5;
            }
            if (chkMembresia11Meses.Checked)
            {
                valor = 11;
            }

            return valor;
        }


        private void btn_AsoC_PLUS_Click(object sender, EventArgs e)
        {

            String Tarje_A_CPLUS = String.Empty;
            String Ced_A_CPLUS = String.Empty;
            try
            {



                if (GUI.CApp.ValidateAccess("PLUS_Club_EPLUS", "Club Ekono Plus"))
                {
                    Tarje_A_CPLUS = txtTarje_A_CPLUS.Text.Trim();
                    Ced_A_CPLUS = txtMCed_A_CPLUS.Text.Trim();


                    int count = 0;
                    Utils.QueryParams qpVC = new LLNet.Utils.QueryParams();
                    Utils.QueryParams qp = new LLNet.Utils.QueryParams();
                    qp = new QueryParams();
                    qp.AddReplaceParam("p_C_CEDULA", Ced_A_CPLUS);
                    count = Convert.ToInt32(GUI.CApp.bll.GetSingleValue("PLUS_CLIENTE_EXISTE", qp, "PDV"));
                    string plazo6Meses = "6";
                    string plazo12Meses = "12";

                    if (count > 0)
                    {

                        qpVC = new QueryParams();
                        qpVC.AddReplaceParam("p_C_CEDULA", Ced_A_CPLUS);
                        count = Convert.ToInt32(GUI.CApp.bll.GetSingleValue("PLUS_CLIENTE_EXISTE_MEMBRE", qpVC, "PDV"));
                        if (count > 0)
                        {
                            CApp.ShowMessage("Membresía no ha sido cancelada, proceda con el pago", "Afiliación - Club ekono Plus", true);
                        }
                        else
                        {
                            CApp.ShowMessage("Esta persona ya pertenece al Club ekono Plus", "Afiliación - Club ekono Plus", true);
                        }


                    }
                    else
                    {

                        if (Tarje_A_CPLUS != "" && Ced_A_CPLUS != "" && Tarje_A_CPLUS != null && Ced_A_CPLUS != null && IsDateTime(txtFechVencTarjetaCredito.Text)
                            && Tarje_A_CPLUS != String.Empty && Ced_A_CPLUS != String.Empty && (chkPlazo6Meses.Checked || chkPlazo12Meses.Checked || chkPlazo3Meses.Checked)
                            && (chkContado.Checked || chkMembresia5Meses.Checked || chkMembresia11Meses.Checked)
                            )
                        {

                            if (!chkContado.Checked && string.IsNullOrWhiteSpace(txtTarjetaCreditoDebito.Text))
                            {
                                CApp.ShowMessage("Ingrese la tarjeta de credito o debito", "Afiliación - Club ekono Plus", true);
                            }
                            else
                            {
                                qp.AddReplaceParam("P_C_CEDULA", Ced_A_CPLUS);
                                qp.AddReplaceParam("P_C_TARJETA", Tarje_A_CPLUS);
                                qp.AddReplaceParam("P_C_REGISTRADO_POR", GUI.CApp.usuario);


                                GUI.CApp.bll.ExecuteSql("PLUS_FIDELIZA_CLIENTE", qp, "PDV");

                                AlmacenarDatosMembreciaFiananciamiento();

                                CApp.ShowMessage("Cliente asociado exitosamente", "Afiliación - Club ekono Plus", true);

                                WaitSeconds(1);

                                this.Dispose();
                                this.Close();
                            }





                        }
                        else
                        {
                            if (Tarje_A_CPLUS == "" || Tarje_A_CPLUS == null || Tarje_A_CPLUS == String.Empty)
                            {
                                CApp.ShowMessage("Ingrese la tarjeta de ekono Plus", "Afiliación - Club ekono Plus", true);
                            }
                            if (Ced_A_CPLUS == "" || Ced_A_CPLUS == null || Ced_A_CPLUS == String.Empty)
                            {
                                CApp.ShowMessage("Ingrese la cédula de ekono Plus", "Afiliación - Club ekono Plus", true);
                            }
                            if (!chkContado.Checked && !chkMembresia5Meses.Checked && !chkMembresia11Meses.Checked)
                            {
                                CApp.ShowMessage("Debe indicar si la membresía es de contando o si requiere financiamiento.", "Afiliación - Club ekono Plus", true);
                                return;
                            }



                            if (!fechaVigentePagoTarjetaPlus && !string.IsNullOrEmpty(Tarje_A_CPLUS) && !fechaFormatoIncorrectaPagoTarjetaPlus)
                            {
                                CApp.ShowMessage("La fecha de vencimiento es menor a la fecha final de la membresía, favor usar otra tarjeta", "Afiliación - Club ekono Plus", true);
                            }
                            if (!fechaFormatoIncorrectaPagoTarjetaPlus && txtFechVencTarjetaCredito.Text.Length < 7 && !chkContado.Checked)
                            {
                                CApp.ShowMessage("Formato fecha de vencimiento incorrecto", "Afiliación - Club ekono Plus", true);
                            }
                        }
                    }
                }
                else
                {
                    //txtTarje_A_CBB.Enabled = false;
                    CApp.ShowMessage("¡No tiene permiso para afiliar al Club ekono Plus !", "Afiliación", true);
                }

            }
            catch (Exception er)
            {
                //txtTarje_A_CBB.Enabled = false;
                CApp.ShowMessage(er.Message, "Afiliación - Club ekono Plus", true);
            }
        }

        private void AlmacenarDatosMembreciaFiananciamiento()
        {

            string v_sku = string.Empty;
            string v_sku_alterno = string.Empty;
            decimal PrecioUnitario = 0;


            #region  Asociar membresia

            string v_PlusM = Convert.ToString(GUI.CApp.GetParam("MPLS")); // Artículo Membresía Ekono Plus
            string v_PlusCed = string.Empty;
            string v_PlusMeses = string.Empty;
            string v_PlusTarjeta = string.Empty;

            if (!string.IsNullOrEmpty(v_PlusM))
            {


                v_PlusCed = txtMCed_CPLUS.Text; //cédula del cliente plus
                v_PlusMeses = getPlazoSeleccionado().ToString(); // meses que se van a pagar

                if (v_PlusMeses == "-1")
                {
                    CApp.ShowMessage("Debe seleccionar un plazo.", "Afiliación - Club ekono Plus", true);

                }
                else
                {
                    decimal v_montoCuota = 0;
                    string v_fechaVenTarjetaPagoContado = "01/01/1901"; ;
                    string v_cantCuotas = "0";
                    string plazo = "0";
                    string v_cantCuotasPagadas = "0"; //Para una segunda etapa al pagar de detecta si es financiamiento y aumenta este numero
                    int factor_membresia6Meses = 0;
                    int factor_membresia12Meses = 0;
                    string v_pago_contado = string.Empty;
                    Utils.QueryParams qp = new LLNet.Utils.QueryParams();
                    if (!string.IsNullOrWhiteSpace(txtFechVencTarjetaCredito.Text))//02/2021
                    {
                        string v_mesVencimientoTarjeta = txtFechVencTarjetaCredito.Text.Substring(0, 2);
                        if (!chkContado.Checked)
                        {
                            if (txtFechVencTarjetaCredito.Text.Substring(0, 2).Equals("02"))
                            {
                                v_fechaVenTarjetaPagoContado = "28/" + txtFechVencTarjetaCredito.Text;
                            }
                            else
                            {
                                v_fechaVenTarjetaPagoContado = "30/" + txtFechVencTarjetaCredito.Text;
                            }
                        }

                    }

                    if (v_PlusMeses == "3")
                    {
                        plazo = "2";
                        v_pago_contado = "1";
                        //cálculo del costo de la membresia sin financiamiento
                        PrecioUnitario = (decimal.Parse(Convert.ToString(GUI.CApp.bll.GetSingleValue("PLUS_PRECIOMM", "PDV")))) * 3;
                        v_montoCuota = PrecioUnitario;


                        qp.AddReplaceParam("P_C_CEDULA", v_PlusCed);
                        qp.AddReplaceParam("P_C_TARJETA_PAGO", txtTarjetaCreditoDebito.Text);
                        qp.AddReplaceParam("P_C_BOLETA", txtNumeroBOleta.Text.Trim());
                        qp.AddReplaceParam("P_N_MONTO_CUOTAS", v_montoCuota.ToString());
                        qp.AddReplaceParam("P_N_CANT_CUOTAS", v_cantCuotas);
                        qp.AddReplaceParam("P_N_CANT_CUOTAS_PAGADAS", v_cantCuotasPagadas);
                        qp.AddReplaceParam("P_N_PAGO_CONTADO", v_pago_contado);
                        qp.AddReplaceParam("P_N_PLAZO_MESES", plazo);
                        qp.AddReplaceParam("P_D_FEC_VEN_TAR_PAGO", v_fechaVenTarjetaPagoContado);

                        qp.AddReplaceParam("P_C_REGISTRADO_POR", GUI.CApp.usuario);
                        GUI.CApp.bll.ExecuteSql("PLUS_I_REGISTRA_FINAN_MEMBRE", qp, "PDV");

                    }
                    else if (v_PlusMeses == "6")
                    {
                        factor_membresia6Meses = 6;
                        plazo = "5";
                        if (chkContado.Checked)
                        {

                            v_pago_contado = "1";
                            //cálculo del costo de la membresia sin financiamiento
                            PrecioUnitario = (decimal.Parse(Convert.ToString(GUI.CApp.bll.GetSingleValue("PLUS_PRECIOMM", "PDV")))) * 6;
                            v_montoCuota = PrecioUnitario;
                        }
                        else
                        {
                            //cálculo del costo de la membresia con financiamiento
                            v_pago_contado = "0";
                            v_cantCuotas = "5";
                            PrecioUnitario = (decimal.Parse(Convert.ToString(GUI.CApp.bll.GetSingleValue("PLUS_PRECIOMM", "PDV")))) * 6;
                            v_montoCuota = (PrecioUnitario / 6);


                        }

                        qp.AddReplaceParam("P_C_CEDULA", v_PlusCed);
                        qp.AddReplaceParam("P_C_TARJETA_PAGO", txtTarjetaCreditoDebito.Text);
                        qp.AddReplaceParam("P_C_BOLETA", txtNumeroBOleta.Text.Trim());
                        qp.AddReplaceParam("P_N_MONTO_CUOTAS", v_montoCuota.ToString());
                        qp.AddReplaceParam("P_N_CANT_CUOTAS", v_cantCuotas);
                        qp.AddReplaceParam("P_N_CANT_CUOTAS_PAGADAS", v_cantCuotasPagadas);
                        qp.AddReplaceParam("P_N_PAGO_CONTADO", v_pago_contado);
                        qp.AddReplaceParam("P_N_PLAZO_MESES", plazo);
                        qp.AddReplaceParam("P_D_FEC_VEN_TAR_PAGO", v_fechaVenTarjetaPagoContado);

                        qp.AddReplaceParam("P_C_REGISTRADO_POR", GUI.CApp.usuario);
                        GUI.CApp.bll.ExecuteSql("PLUS_I_REGISTRA_FINAN_MEMBRE", qp, "PDV");


                    }
                    else if (v_PlusMeses == "12")
                    {
                        factor_membresia12Meses = 12;
                        plazo = "11";
                        if (chkContado.Checked)
                        {

                            v_pago_contado = "1";
                            //cálculo del costo de la membresia sin financiamiento
                            PrecioUnitario = decimal.Parse(Convert.ToString(GUI.CApp.bll.GetSingleValue("PLUS_PRECIOMA", "PDV")));
                            v_montoCuota = PrecioUnitario;
                        }
                        else
                        {
                            v_cantCuotas = "11";
                            v_pago_contado = "0";
                            //cálculo del costo de la membresia con financiamiento 
                            PrecioUnitario = (decimal.Parse(Convert.ToString(GUI.CApp.bll.GetSingleValue("PLUS_PRECIOMM", "PDV")))) * 12;
                            v_montoCuota = (PrecioUnitario / 12);
                        }

                        qp.AddReplaceParam("P_C_CEDULA", v_PlusCed);
                        qp.AddReplaceParam("P_C_TARJETA_PAGO", txtTarjetaCreditoDebito.Text);
                        qp.AddReplaceParam("P_C_BOLETA", txtNumeroBOleta.Text.Trim());
                        qp.AddReplaceParam("P_N_MONTO_CUOTAS", v_montoCuota.ToString());
                        qp.AddReplaceParam("P_N_CANT_CUOTAS", v_cantCuotas);
                        qp.AddReplaceParam("P_N_CANT_CUOTAS_PAGADAS", v_cantCuotasPagadas);
                        qp.AddReplaceParam("P_N_PAGO_CONTADO", v_pago_contado);
                        qp.AddReplaceParam("P_N_PLAZO_MESES", plazo);
                        qp.AddReplaceParam("P_D_FEC_VEN_TAR_PAGO", v_fechaVenTarjetaPagoContado);

                        qp.AddReplaceParam("P_C_REGISTRADO_POR", GUI.CApp.usuario);
                        GUI.CApp.bll.ExecuteSql("PLUS_I_REGISTRA_FINAN_MEMBRE", qp, "PDV");

                    }


                }




            }

            #endregion




        }

        private void ActualizaDatosMembreciaFiananciamiento()
        {

            string v_sku = string.Empty;
            string v_sku_alterno = string.Empty;
            decimal PrecioUnitario = 0;


            #region  Asociar membresia

            string v_PlusM = Convert.ToString(GUI.CApp.GetParam("MPLS")); // Artículo Membresía Ekono Plus
            string v_PlusCed = string.Empty;
            string v_PlusMeses = string.Empty;
            string v_PlusTarjeta = string.Empty;

            if (!string.IsNullOrEmpty(v_PlusM))
            {


                v_PlusCed = txtMCed_CPLUS.Text; //cédula del cliente plus
                v_PlusMeses = getPlazoSeleccionado().ToString(); // meses que se van a pagar

                if (v_PlusMeses == "-1")
                {
                    CApp.ShowMessage("Debe seleccionar un plazo.", "Afiliación - Club ekono Plus", true);

                }
                else
                {
                    decimal v_montoCuota = 0;
                    string v_fechaVenTarjetaPagoContado = "01/01/1901";
                    string v_cantCuotas = "0";
                    string v_plazo = "0";
                    string v_cantCuotasPagadas = "0"; //Para una segunda etapa al pagar de detecta si es financiamiento y aumenta este numero
                    int factor_membresia6Meses = 0;
                    int factor_membresia12Meses = 0;
                    string v_pago_contado = string.Empty;
                    Utils.QueryParams qp = new LLNet.Utils.QueryParams();
                    if (!string.IsNullOrWhiteSpace(txtFechVencTarjetaCredito.Text))//02/2021
                    {
                        string v_mesVencimientoTarjeta = txtFechVencTarjetaCredito.Text.Substring(0, 2);
                        if (!chkContado.Checked)
                        {
                            if (txtFechVencTarjetaCredito.Text.Substring(0, 2).Equals("02"))
                            {
                                v_fechaVenTarjetaPagoContado = "28/" + txtFechVencTarjetaCredito.Text;
                            }
                            else
                            {
                                v_fechaVenTarjetaPagoContado = "30/" + txtFechVencTarjetaCredito.Text;
                            }
                        }

                    }


                    if (v_PlusMeses == "6")
                    {
                        factor_membresia6Meses = 5;
                        v_plazo = "5";
                        if (chkContado.Checked)
                        {

                            v_pago_contado = "1";
                            //cálculo del costo de la membresia sin financiamiento
                            PrecioUnitario = (decimal.Parse(Convert.ToString(GUI.CApp.bll.GetSingleValue("PLUS_PRECIOMM", "PDV")))) * 6;
                            v_montoCuota = PrecioUnitario;
                        }
                        else
                        {
                            //cálculo del costo de la membresia con financiamiento

                            v_pago_contado = "0";
                            v_cantCuotas = "5";
                            PrecioUnitario = (decimal.Parse(Convert.ToString(GUI.CApp.bll.GetSingleValue("PLUS_PRECIOMM", "PDV")))) * factor_membresia6Meses;
                            v_montoCuota = (PrecioUnitario / 5);


                        }

                        qp.AddReplaceParam("P_C_CEDULA", v_PlusCed);
                        qp.AddReplaceParam("P_C_TARJETA_PAGO", txtTarjetaCreditoDebito.Text);
                        qp.AddReplaceParam("P_C_BOLETA", txtNumeroBOleta.Text.Trim());
                        qp.AddReplaceParam("P_N_MONTO_CUOTAS", v_montoCuota.ToString());
                        qp.AddReplaceParam("P_N_CANT_CUOTAS", v_cantCuotas);
                        qp.AddReplaceParam("P_N_CANT_CUOTAS_PAGADAS", v_cantCuotasPagadas);
                        qp.AddReplaceParam("P_N_PAGO_CONTADO", v_pago_contado);
                        qp.AddReplaceParam("P_N_PLAZO_MESES", v_plazo);
                        qp.AddReplaceParam("P_D_FEC_VEN_TAR_PAGO", v_fechaVenTarjetaPagoContado);

                        qp.AddReplaceParam("P_C_REGISTRADO_POR", GUI.CApp.usuario);
                        GUI.CApp.bll.ExecuteSql("PLUS_A_ACTUALIZA_FINAN_MEMBRE", qp, "PDV");


                    }
                    else if (v_PlusMeses == "12")
                    {
                        factor_membresia12Meses = 12;
                        v_plazo = "11";
                        if (chkContado.Checked)
                        {

                            v_pago_contado = "1";
                            //cálculo del costo de la membresia sin financiamiento
                            PrecioUnitario = decimal.Parse(Convert.ToString(GUI.CApp.bll.GetSingleValue("PLUS_PRECIOMA", "PDV")));
                            v_montoCuota = PrecioUnitario;
                        }
                        else
                        {
                            v_cantCuotas = "11";
                            v_pago_contado = "0";
                            //cálculo del costo de la membresia con financiamiento                            
                            //PrecioUnitario = decimal.Parse(Convert.ToString(GUI.CApp.bll.GetSingleValue("PLUS_PRECIOMA", "PDV")));
                            PrecioUnitario = (decimal.Parse(Convert.ToString(GUI.CApp.bll.GetSingleValue("PLUS_PRECIOMM", "PDV")))) * 12;
                            v_montoCuota = (PrecioUnitario / 12);
                        }

                        qp.AddReplaceParam("P_C_CEDULA", v_PlusCed);
                        qp.AddReplaceParam("P_C_TARJETA_PAGO", txtTarjetaCreditoDebito.Text);
                        qp.AddReplaceParam("P_C_BOLETA", txtNumeroBOleta.Text.Trim());
                        qp.AddReplaceParam("P_N_MONTO_CUOTAS", v_montoCuota.ToString());
                        qp.AddReplaceParam("P_N_CANT_CUOTAS", v_cantCuotas);
                        qp.AddReplaceParam("P_N_CANT_CUOTAS_PAGADAS", v_cantCuotasPagadas);
                        qp.AddReplaceParam("P_N_PAGO_CONTADO", v_pago_contado);
                        qp.AddReplaceParam("P_N_PLAZO_MESES", v_plazo);
                        qp.AddReplaceParam("P_D_FEC_VEN_TAR_PAGO", v_fechaVenTarjetaPagoContado);

                        qp.AddReplaceParam("P_C_REGISTRADO_POR", GUI.CApp.usuario);
                        GUI.CApp.bll.ExecuteSql("PLUS_A_ACTUALIZA_FINAN_MEMBRE", qp, "PDV");

                    }
                    else if (v_PlusMeses == "3")
                    {
                        v_plazo = "2";
                        v_fechaVenTarjetaPagoContado = "01/01/1901";
                        if (chkContado.Checked)
                        {
                            v_pago_contado = "1";
                            //cálculo del costo de la membresia sin financiamiento
                            PrecioUnitario = (decimal.Parse(Convert.ToString(GUI.CApp.bll.GetSingleValue("PLUS_PRECIOMM", "PDV")))) * 3;
                            v_montoCuota = PrecioUnitario;
                        }


                        qp.AddReplaceParam("P_C_CEDULA", v_PlusCed);
                        qp.AddReplaceParam("P_C_TARJETA_PAGO", txtTarjetaCreditoDebito.Text);
                        qp.AddReplaceParam("P_C_BOLETA", txtNumeroBOleta.Text.Trim());
                        qp.AddReplaceParam("P_N_MONTO_CUOTAS", v_montoCuota.ToString());
                        qp.AddReplaceParam("P_N_CANT_CUOTAS", v_cantCuotas);
                        qp.AddReplaceParam("P_N_CANT_CUOTAS_PAGADAS", v_cantCuotasPagadas);
                        qp.AddReplaceParam("P_N_PAGO_CONTADO", v_pago_contado);
                        qp.AddReplaceParam("P_N_PLAZO_MESES", v_plazo);
                        qp.AddReplaceParam("P_D_FEC_VEN_TAR_PAGO", v_fechaVenTarjetaPagoContado);

                        qp.AddReplaceParam("P_C_REGISTRADO_POR", GUI.CApp.usuario);
                        GUI.CApp.bll.ExecuteSql("PLUS_A_ACTUALIZA_FINAN_MEMBRE", qp, "PDV");

                    }


                }




            }

            #endregion




        }

        public void LimpiarDatosTarjetaCD()
        {
            txtTarjetaCreditoDebito.Text = string.Empty;
            txtFechVencTarjetaCredito.Text = string.Empty;
        }
        public void HabilitarTarjetaCD(bool habilitar = true)
        {

            groupBoxFianciamiento.Enabled = habilitar;

        }

        private void rbtnmpasaport_CPLUS_CheckedChanged(object sender, EventArgs e)
        {
            if (rbtnmpasaport_CPLUS.Checked)
            {
                txtMCed_CPLUS.Mask = "";
            }
            else
            {
                txtMCed_CPLUS.Mask = "0-0000-0000";
            }
        }



        private void chkPlazo6Meses_Click(object sender, EventArgs e)
        {
            if (chkPlazo6Meses.Checked)
            {
                chkPlazo12Meses.Checked = false;
                chkPlazo3Meses.Checked = false;
                if (!chkContado.Checked)
                {
                    chkMembresia11Meses.Checked = false;
                    chkMembresia5Meses.Checked = true;
                    txtNumeroBOleta.Enabled = true;

                }
            }
        }

        private void chkPlazo12Meses_Click(object sender, EventArgs e)
        {
            if (chkPlazo12Meses.Checked)
            {
                chkPlazo6Meses.Checked = false;
                chkPlazo3Meses.Checked = false;
                if (!chkContado.Checked)
                {
                    chkMembresia11Meses.Checked = true;
                    chkMembresia5Meses.Checked = false;
                    txtNumeroBOleta.Enabled = true;

                }
            }
        }

        private void chkContado_Click(object sender, EventArgs e)
        {
            LimpiarDatosTarjetaCD();

            if (chkContado.Checked)
            {
                txtTarjetaCreditoDebito.Text = string.Empty;
                txtFechVencTarjetaCredito.Text = string.Empty;
                txtNumeroBOleta.Text = string.Empty;
                chkMembresia11Meses.Checked = false;
                chkMembresia5Meses.Checked = false;
                groupBoxFianciamiento.Enabled = false;
                txtNumeroBOleta.Enabled = false;
            }
            else
            {
                groupBoxFianciamiento.Enabled = true;
                txtNumeroBOleta.Enabled = true;
            }
            HabilitarTarjetaCD(false);
        }

        private void chkMembresia5Meses_Click(object sender, EventArgs e)
        {
            if (chkMembresia5Meses.Checked)
            {
                chkContado.Checked = false;
                chkMembresia11Meses.Checked = false;
                chkPlazo12Meses.Checked = false;
                chkPlazo3Meses.Checked = false;
                chkPlazo6Meses.Checked = true;
                txtTarjetaCreditoDebito.Enabled = true;
                txtNumeroBOleta.Enabled = true;
            }
            HabilitarTarjetaCD();

        }

        private void chkMembresia11Meses_Click(object sender, EventArgs e)
        {
            if (chkMembresia11Meses.Checked)
            {
                chkContado.Checked = false;
                chkMembresia5Meses.Checked = false;
                chkPlazo12Meses.Checked = true;
                chkPlazo3Meses.Checked = false;
                chkPlazo6Meses.Checked = false;
                txtTarjetaCreditoDebito.Enabled = true;
                txtNumeroBOleta.Enabled = true;
            }
            HabilitarTarjetaCD();
        }

        private void txtTarje_A_CPLUS_KeyPress(object sender, KeyPressEventArgs e)
        {
            const char Delete = (char)8;
            e.Handled = !Char.IsDigit(e.KeyChar) && e.KeyChar != Delete;
        }

        private void txtTarjetaCreditoDebito_KeyPress(object sender, KeyPressEventArgs e)
        {
            const char Delete = (char)8;
            e.Handled = !Char.IsDigit(e.KeyChar) && e.KeyChar != Delete;
        }

        public bool IsDateTime(string fechaTemp)
        {
            if (chkContado.Checked)
            {
                fechaVigentePagoTarjetaPlus = true;
                return true;
            }
            if (!string.IsNullOrEmpty(fechaTemp))
            {
                if (fechaTemp.Length < 7)
                {
                    fechaVigentePagoTarjetaPlus = true;
                    return false;
                }

            }


            //

            DateTime fechaValidada;

            //Esto es la clave:
            var formatos = new[] { "dd/mm/yyyy" };

            int _month = Convert.ToInt32(fechaTemp.Substring(0, 2)); //04/2010

            int _year = Convert.ToInt32(fechaTemp.Substring(3, 4)); //04/2010;

            int ultimiDiaDelMes = DateTime.DaysInMonth(_year, _month);

            fechaTemp = string.Format("{0}/{1}", ultimiDiaDelMes, fechaTemp);

            if (DateTime.TryParseExact(fechaTemp, formatos, System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None, out fechaValidada))
            {


                DateTime rangoFechaValido = DateTime.Now.AddMonths(chkPlazo6Meses.Checked ? 6 : 12); //01/01/2021 -> 01/06/2021

                DateTime fechaVencTarjeta = DateTime.Parse(fechaTemp); //30/02/2023                    

                if (fechaVencTarjeta > rangoFechaValido)
                {
                    fechaVigentePagoTarjetaPlus = true;
                    fechaFormatoIncorrectaPagoTarjetaPlus = true;
                    return true;

                }
                fechaFormatoIncorrectaPagoTarjetaPlus = false;
                fechaVigentePagoTarjetaPlus = false;
                return false;
            }

            return false;
        }

        private static void WaitSeconds(double nSecs)
        {
            // Esperar los segundos indicados

            // Crear la cadena para convertir en TimeSpan
            string s = "0.00:00:" + nSecs.ToString().Replace(",", ".");
            TimeSpan ts = TimeSpan.Parse(s);

            // Añadirle la diferencia a la hora actual
            DateTime t1 = DateTime.Now.Add(ts);

            // Esta asignación solo es necesaria
            // si la comprobación se hace al principio del bucle
            DateTime t2 = DateTime.Now;

            // Mientras no haya pasado el tiempo indicado
            while (t2 < t1)
            {
                // Un respiro para el sitema
                System.Windows.Forms.Application.DoEvents();
                // Asignar la hora actual
                t2 = DateTime.Now;
            }
        }

        private void txtFechVencTarjetaCredito_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (!chkContado.Checked && !chkMembresia11Meses.Checked && !chkMembresia5Meses.Checked)
            {
                txtFechVencTarjetaCredito.Text = string.Empty;
            }

        }

        private void btn_ActualizaC_PLUS_Click(object sender, EventArgs e)
        {
            String Tarje_A_CPLUS = String.Empty;
            String Ced_A_CPLUS = String.Empty;
            string accion = "RT";
            int count = 0;
            Utils.QueryParams qp = new LLNet.Utils.QueryParams();
            qp = new QueryParams();

            if (GUI.CApp.ValidateAccess("PLUS_Club_EPLUS", "Club Ekono Plus"))
            {
                qp.AddReplaceParam("p_C_CEDULA", txtMCed_A_CPLUS.Text.Trim());
                qp.AddReplaceParam("p_TIPO", accion);
                count = Convert.ToInt32(GUI.CApp.bll.GetSingleValue("PLUS_VAL_ART", qp, "PDV"));
                if (count > 0)
                {
                    Tarje_A_CPLUS = txtTarje_A_CPLUS.Text.Trim();
                    Ced_A_CPLUS = txtMCed_A_CPLUS.Text.Trim();
                    if (Tarje_A_CPLUS != "" && Ced_A_CPLUS != "" && Tarje_A_CPLUS != null && Ced_A_CPLUS != null && IsDateTime(txtFechVencTarjetaCredito.Text)
                            && Tarje_A_CPLUS != String.Empty && Ced_A_CPLUS != String.Empty && (chkPlazo6Meses.Checked || chkPlazo12Meses.Checked || chkPlazo3Meses.Checked))
                    {

                        if (!chkContado.Checked && string.IsNullOrWhiteSpace(txtTarjetaCreditoDebito.Text))
                        {
                            CApp.ShowMessage("Ingrese la tarjeta de credito o debito", "Afiliación - Club ekono Plus", true);
                        }
                        else
                        {
                            ActualizaDatosMembreciaFiananciamiento();

                            CApp.ShowMessage("Cliente actualizado exitosamente", "Afiliación - Club ekono Plus", true);

                            WaitSeconds(1);

                            this.Dispose();
                            this.Close();
                        }





                    }
                    else
                    {
                        if (Tarje_A_CPLUS == "" || Tarje_A_CPLUS == null || Tarje_A_CPLUS == String.Empty)
                        {
                            CApp.ShowMessage("Ingrese la tarjeta de ekono Plus", "Afiliación - Club ekono Plus", true);
                        }
                        if (Ced_A_CPLUS == "" || Ced_A_CPLUS == null || Ced_A_CPLUS == String.Empty)
                        {
                            CApp.ShowMessage("Ingrese la cédula de ekono Plus", "Afiliación - Club ekono Plus", true);
                        }
                        if (!fechaVigentePagoTarjetaPlus && !string.IsNullOrEmpty(Tarje_A_CPLUS) && !fechaFormatoIncorrectaPagoTarjetaPlus)
                        {
                            CApp.ShowMessage("La fecha de vencimiento es menor a la fecha final de la membresía, favor usar otra tarjeta", "Afiliación - Club ekono Plus", true);
                        }
                        if (!fechaFormatoIncorrectaPagoTarjetaPlus && txtFechVencTarjetaCredito.Text.Length < 7)
                        {
                            CApp.ShowMessage("Formato fecha de vencimiento incorrecto", "Afiliación - Club ekono Plus", true);
                        }
                    }
                }
                else
                {
                    if (count == -2)
                    {
                        CApp.ShowMessage("El cliente no se encuentra afiliado al Club ekono Plus", "Afiliación - Club ekono Plus", true);
                    }
                    if (count == -3)
                    {
                        CApp.ShowMessage("Ya existe la membresia por lo que no se debe renovar", "Afiliación - Club ekono Plus", true);
                    }
                    if (count == -4)
                    {
                        CApp.ShowMessage("Aún no debes renovar el club", "Afiliación - Club ekono Plus", true);
                    }
                    if (count == -5)
                    {
                        CApp.ShowMessage("No se puede renovar una membresía que no ha sido activada.", "Afiliación - Club ekono Plus", true);
                    }


                }
            }
            else
            {
                //txtTarje_A_CBB.Enabled = false;
                CApp.ShowMessage("¡No tiene permiso para afiliar al Club ekono Plus !", "Afiliación", true);
            }


        }

        private void HabilitarBotonRenovarMembre(string cedula)
        {
            string accion = "RT";
            int count = 0;
            Utils.QueryParams qp = new LLNet.Utils.QueryParams();
            qp = new QueryParams();
            qp.AddReplaceParam("p_C_CEDULA", cedula.Trim());
            qp.AddReplaceParam("p_TIPO", accion);
            count = Convert.ToInt32(GUI.CApp.bll.GetSingleValue("PLUS_VAL_ART", qp, "PDV"));
            if (count > 0)
            {

                HabilitarRenovacionMembresia(true);
                //membresia PLUS
                QueryParams vParametro = new QueryParams();
                vParametro.AddReplaceParam("pTARJETA", txtMTarjet_CPLUS.Text);
                vParametro.AddReplaceParam("pCEDULA", cedula);
                string vmsj = Convert.ToString(Helpers.Nvl(GUI.CApp.bll.GetSingleValue("MSJPLUST", vParametro, "PDV"), "-1"));

                if (vmsj != "-1")
                {//muestra el mensaje
                    GUI.CApp.ShowMessage(vmsj, "Afiliación - Ekono Plus", true);
                }
                // CApp.ShowMessage("Debes renovar la membresia.", "Afiliación - Club ekono Plus", true);
                btn_AsoC_PLUS.Enabled = false;
                btn_AsoC_PLUS.Visible = false;

                btn_ActualizaC_PLUS.Visible = true;
                btn_ActualizaC_PLUS.Enabled = true;

            }
            else
            {
                btn_AsoC_PLUS.Enabled = true;
                btn_AsoC_PLUS.Visible = true;
                btn_ActualizaC_PLUS.Visible = false;
                btn_ActualizaC_PLUS.Enabled = false;
                HabilitarRenovacionMembresia(false);
            }
        }

        private void HabilitarRenovacionMembresia(bool accion)
        {
            if (accion)
            {
                btn_ActualizaC_PLUS.Enabled = true;
                chkContado.Enabled = true;
                chkMembresia11Meses.Enabled = true;
                chkMembresia5Meses.Enabled = true;
                chkPlazo12Meses.Enabled = true;
                chkPlazo6Meses.Enabled = true;
                grbPlazoMembresia.Enabled = true;
                groupBoxFianciamiento.Enabled = true;
                txtTarjetaCreditoDebito.Enabled = true;
                txtFechVencTarjetaCredito.Enabled = true;
                txtNumeroBOleta.Enabled = true;
            }
            else
            {
                btn_ActualizaC_PLUS.Enabled = false;
                chkContado.Enabled = false;
                chkMembresia11Meses.Enabled = false;
                chkMembresia5Meses.Enabled = false;
                chkPlazo12Meses.Enabled = false;
                chkPlazo6Meses.Enabled = false;
                grbPlazoMembresia.Enabled = false;
                groupBoxFianciamiento.Enabled = false;
                txtTarjetaCreditoDebito.Enabled = false;
                txtFechVencTarjetaCredito.Enabled = false;
                txtNumeroBOleta.Enabled = false;
            }
        }

        private void chkPlazo3Meses_Click(object sender, EventArgs e)
        {
            if (chkPlazo3Meses.Checked)
            {
                chkPlazo6Meses.Checked = false;
                chkPlazo12Meses.Checked = false;
                chkMembresia5Meses.Checked = false;
                chkMembresia11Meses.Checked = false;
                if (!chkContado.Checked)
                {
                    chkContado.Checked = true;
                    chkMembresia11Meses.Checked = false;
                    chkMembresia5Meses.Checked = false;
                    groupBoxFianciamiento.Enabled = false;
                    txtNumeroBOleta.Enabled = false;

                }

            }

        }

        private void btn_ReemplazoT_PLUS_Click(object sender, EventArgs e)
        {


            FrmReemplazoMemb reemplazoTarM = new FrmReemplazoMemb(txtTarje_A_CPLUS.Text, txtMCed_A_CPLUS.Text, this);
            reemplazoTarM.StartPosition = FormStartPosition.CenterScreen;
            reemplazoTarM.Show();
            ConsDatosCed_CPLUS();

        }

        // Cambio

        public void GET_ConsDatosCed_CPLUS()
        {
            ConsDatosCed_CPLUS();
        }





    }
}
