public Dictionary <string, Object> login(string tabla, IConsumidor consumidor)
        {
            string txtAlerta;
            Dictionary <string, Object> mapa = new Dictionary <string, Object>();

            if (existeMatricula(tabla, consumidor.getIdUsuario()) == 1)
            {
                txtAlerta = "La matricula no coincide con la contraseña";
            }
            else
            {
                txtAlerta = "No se encontró ningun usuario con esa matricula.";
                new MyMessageBox().Show(txtAlerta);
                return(mapa);
            }

            Header();
            string sql = string.Format("SELECT * FROM usuario WHERE idUsuario = '{0}' AND claveAcceso = '{1}' LIMIT 1",
                                       consumidor.getIdUsuario(), consumidor.getClaveAcceso());

            try
            {
                MySqlDataReader reader = null;
                MySqlCommand    cmd    = new MySqlCommand(sql, conexionBD);
                conexionBD.Open();

                reader = cmd.ExecuteReader();
                if (reader.HasRows)
                {
                    reader.Read();
                    for (int i = 0; i < reader.FieldCount; i++)
                    {
                        mapa.Add(reader.GetName(i), reader.GetValue(i));
                    }
                }
                else
                {
                    new MyMessageBox().Show(txtAlerta);
                }
                reader.Close();
                conexionBD.Close();
            }
            catch (MySqlException ex)
            {
                new MyMessageBox().Show(ex.ToString());
            }
            return(mapa);
        }
        public Boolean saldoSuficiente(IConsumidor consumidor)
        {
            float nuevoSaldo = consumidor.getSaldo() - 3;

            if (nuevoSaldo >= 0)
            {
                string alerta = string.Format("Despues de la operación tu saldo disponible será de:\n" +
                                              "$ {0}\n" +
                                              "¿Deseas continuar?", nuevoSaldo);
                DialogResult result = new MyMessageBox().Show(alerta, BOTONES_SI_NO);

                if (result == DialogResult.Yes)
                {
                    consumidor.setSaldo(nuevoSaldo);
                    int respuesta = mysql.updateSaldo(nuevoSaldo, consumidor.getIdUsuario());
                    if (respuesta == 1)
                    {
                        logica.datosCliente["saldo"] = nuevoSaldo;
                        return(true);
                    }
                    else
                    {
                        new MyMessageBox().Show();// error
                    }
                }
            }
            else
            {
                new MyMessageBox().Show("Saldo insuficiente.");
            }
            return(false);
        }
        public static Dictionary <string, Object> toMap(IConsumidor consumidor)
        {
            Dictionary <string, Object> mapa = new Dictionary <string, object>();

            if (consumidor.getIdUsuario() != null)
            {
                mapa.Add("idUsuario", consumidor.getIdUsuario());
            }
            if (consumidor.getClaveAcceso() != null)
            {
                mapa.Add("claveAcceso", consumidor.getClaveAcceso());
            }
            if (consumidor.getApellidoMaterno() != null)
            {
                mapa.Add("apellidoMaterno", consumidor.getApellidoMaterno());
            }
            if (consumidor.getApellidoPaterno() != null)
            {
                mapa.Add("apellidoPaterno", consumidor.getApellidoPaterno());
            }
            if (consumidor.getNombre() != null)
            {
                mapa.Add("nombres", consumidor.getNombre());
            }
            if (consumidor.getTipoUsuario() != 0)
            {
                mapa.Add("idTipoUsuario", consumidor.getTipoUsuario());
            }
            if (consumidor.getPrgmaEducativo() != 0)
            {
                mapa.Add("idProgramaEducativo", consumidor.getPrgmaEducativo());
            }
            if (consumidor.getSaldo() > -1)
            {
                mapa.Add("saldo", consumidor.getSaldo());
            }
            if (consumidor.getEstadoUsuario() != 0)
            {
                mapa.Add("estadoUsuario", consumidor.getEstadoUsuario());
            }
            if (consumidor.getFechaExpiracion() != null)
            {
                mapa.Add("fechaExp", consumidor.getFechaExpiracion().ToString("yyyy-MM-dd"));
            }

            return(mapa);
        }
        public int EnviarDatosUsuario()
        {
            int respuesta = mysql.existeMatricula(tabla, consumidor.getIdUsuario());

            if (respuesta == ID_EXISTENTE)
            {
                txtAlerta = "La matricula ingresada ya existe.";
                new MyMessageBox().Show(txtAlerta);
            }
            else
            {
                return(mysql.registrarUsuario(tabla, Consumidor.toMap(consumidor)));
            }
            return(0);
        }
 public Boolean validarAdmin(IConsumidor cliente)
 {
     if (cliente.getIdUsuario() == "ADMIN" && cliente.getClaveAcceso() == "UVAD49999")
     {
         cliente.setNombre("ADMIN");
         cliente.setApellidoPaterno("U");
         cliente.setApellidoMaterno("V");
         cliente.setPrgmaEducativo(1);
         cliente.setSaldo(0);
         cliente.setTipoUsuario(2);
         cliente.setEstadoUsuario(2);
         return(true);
     }
     return(false);
 }
        private Boolean ValidarFechaExpiracion(IConsumidor consumidor)
        {
            DateTime fechaExp    = consumidor.getFechaExpiracion();
            DateTime fechaActual = DateTime.Now;
            string   FECHA;

            if (DateTime.Compare(fechaExp, fechaActual) < 0)
            {
                FECHA = "Fecha Expirada";
                mysql.updateEstadoUsuario(consumidor.getIdUsuario());

                new MyMessageBox().
                Show(FECHA + "\nTu usuario no tiene permitido entrar al sistema.");
                return(true);
            }
            return(false);
        }
        private void btnAceptarUsar_Click(object sender, EventArgs e)
        {
            IConsumidor consumidor = Consumidor.FromMap(datosCliente);

            if (logica.verificarForm())   //si existe el FormTimer abierto
            {
                logica.alertaTimerOpen(); // alertar que ya esta abierto
            }
            else //iniciar timer
            {
                if (logica.saldoSuficiente(consumidor) && logica.registrarHistorial(consumidor.getIdUsuario()))
                {
                    this.Close();
                    logica.manipularForm(DESBLOQUEAR_FORM);         // se minimizaTodo
                    logica.abrirTimer(INICIAR_TIMER, datosCliente); //se inicia el timer
                }
            }
        }
        private void button1_Click(object sender, EventArgs e)
        {
            IConsumidor consumidor = Consumidor.FromMap(datosCliente);

            if (logica.verificarForm())  //verifica FormTimer abierto
            {
                logica.alertaTimerOpen();
            }
            else // inicia el timer
            {
                if (logica.registrarHistorial(consumidor.getIdUsuario()))
                {
                    this.Close();
                    logica.manipularForm(DESBLOQUEAR_FORM);       //se miniza todo
                    logica.abrirTimer(MODO_RAPIDO, datosCliente); //se abre el timer
                }
            }
        }
        private void setValores()
        {
            string nombre        = capital.ToTitleCase(consumidor.getNombre().ToLower());
            string paterno       = capital.ToTitleCase(consumidor.getApellidoPaterno().ToLower());
            string materno       = capital.ToTitleCase(consumidor.getApellidoMaterno().ToLower());
            string completo      = string.Format("{0} {1} {2}", nombre, paterno, materno);
            string programaEduca = "";

            if (programas != null)
            {
                programaEduca = programas[consumidor.getPrgmaEducativo().ToString()];
            }


            lblNombreCompleto.Text = completo;
            lblPrgmEducativo.Text  = programaEduca;
            lblMatricula.Text      = consumidor.getIdUsuario();
            lblSaldo.Text          = consumidor.getSaldo().ToString();
        }