Exemplo n.º 1
0
        /// <summary>
        /// Inicia sesion en el servidor si las credenciales pasadas en cuenta son validas
        /// </summary>
        /// <param name="Cuenta">CuentaModel</param>
        /// <returns>EnumEstadoInicioSesion</returns>
        public EnumEstadoInicioSesion IniciarSesion(CuentaModel Cuenta)
        {
            ICuentaDAO PersistenciaCuenta = new CuentaDAO();

            try
            {
                int ExisteCuenta = PersistenciaCuenta.IniciarSesion(Cuenta);
                if (ExisteCuenta == 1)
                {
                    CuentaModel    CuentaCompleta             = PersistenciaCuenta.RecuperarCuenta(Cuenta);
                    SessionManager ManejadorDeSesiones        = SessionManager.GetSessionManager();
                    Thread         HiloDeSeguimientoDeCliente = SeguirEstadoDelCliente(CuentaCompleta, ActualCallback);
                    if (ManejadorDeSesiones.AgregarCuentaLogeada(CuentaCompleta, HiloDeSeguimientoDeCliente))
                    {
                        return(EnumEstadoInicioSesion.InicioSesionCorrecto);
                    }

                    return(EnumEstadoInicioSesion.SeEncuentraLogeada);
                }
                return((EnumEstadoInicioSesion)ExisteCuenta);
            }catch (EntityException exception)
            {
                Debug.Write(exception.Message);
                return(EnumEstadoInicioSesion.ErrorBaseDatos);
            }
        }