public JsonResult IniciarSesion(UsuarioBE entidad)
        {
            ResponseEntity itemRespuesta = new ResponseEntity();

            try
            {
                entidad = UsuarioLN.ObtenerPassword(entidad);
                itemRespuesta.success = entidad.OK;
                if (entidad.OK)
                {
                    SessionHelper.AddUserToSession(entidad.ID_USUARIO.ToString());
                    Session["usuario"] = entidad.ID_USUARIO.ToString();
                    Session["socket"]  = WebConfigurationManager.AppSettings.Get("Socket");
                    List <RolOpcionesBE> lista = RolOpcionesLN.ListarOpciones(entidad.ID_USUARIO);
                    limpiarSetearSesion(lista);
                }
                else
                {
                    itemRespuesta.extra = entidad.extra;
                }
            }
            catch (Exception ex)
            {
                Log.Error(ex);
                itemRespuesta.success = false;
            }

            return(Respuesta(itemRespuesta));
        }
        public JsonResult IniciarSesion(UsuarioBE entidad)
        {
            ResponseEntity itemRespuesta = new ResponseEntity();

            try
            {
                var _GoogleRecaptcha = _GoogleReCAPTCHAService.VerifyRecaptcha(entidad.Token);
                if (!_GoogleRecaptcha.Result.success && _GoogleRecaptcha.Result.score <= 0.5)
                {
                    itemRespuesta.success = false;
                    itemRespuesta.extra   = "Usted no es una entidad válida (You are Not Human ....)";
                }
                else
                {
                    //if (Membership.ValidateUser(entidad.USUARIO, entidad.PASSWORD_USUARIO))
                    //{
                    //    entidad = UsuarioLN.ObtenerPassword(entidad);
                    //    itemRespuesta.success = entidad.OK;
                    //    //itemRespuesta.success = true;
                    //    Session["usuario"] = entidad.ID_USUARIO.ToString();
                    //    Session["socket"] = WebConfigurationManager.AppSettings.Get("Socket");
                    //    List<RolOpcionesBE> lista = RolOpcionesLN.ListarOpciones(entidad.ID_USUARIO);
                    //    limpiarSetearSesion(lista);
                    //    FormsAuthentication.RedirectFromLoginPage(entidad.USUARIO, false);

                    //    return null;
                    //}
                    //else
                    //{
                    //    itemRespuesta.extra = entidad.extra;
                    //}

                    entidad = UsuarioLN.ObtenerPassword(entidad);
                    itemRespuesta.success = entidad.OK;
                    if (entidad.OK)
                    {
                        SessionHelper.AddUserToSession(entidad.ID_USUARIO.ToString());
                        Session["usuario"] = entidad.ID_USUARIO.ToString();
                        Session["socket"]  = WebConfigurationManager.AppSettings.Get("Socket");
                        List <RolOpcionesBE> lista = RolOpcionesLN.ListarOpciones(entidad.ID_USUARIO);
                        limpiarSetearSesion(lista);
                    }
                    else
                    {
                        itemRespuesta.extra = entidad.extra;
                    }
                }
            }
            catch (Exception ex)
            {
                Log.Error(ex);
                itemRespuesta.success = false;
            }

            return(Respuesta(itemRespuesta));
        }
        public async Task <ActionResult> login(MvReCAPTCHASettings model)
        {
            UsuarioBE entidad = new UsuarioBE()
            {
                USUARIO = model.USUARIO, PASSWORD_USUARIO = model.PASSWORD_USUARIO
            };

            try
            {
                //GoogleResponse _GoogleRecaptcha = await GoogleReCAPTCHAService.VerifyRecaptcha(entidad.Token);
                var isCaptchaValid = await IsCaptchaValid(model.TOKEN);

                if (isCaptchaValid)
                {
                    entidad = UsuarioLN.ObtenerPassword(entidad);
                    if (entidad.OK)
                    {
                        SessionHelper.AddUserToSession(entidad.ID_USUARIO.ToString());
                        Session["usuario"] = entidad.ID_USUARIO.ToString();
                        Session["socket"]  = WebConfigurationManager.AppSettings.Get("Socket");
                        List <RolOpcionesBE> lista = RolOpcionesLN.ListarOpciones(entidad.ID_USUARIO);
                        limpiarSetearSesion(lista);

                        return(new RedirectToRouteResult(new RouteValueDictionary(new
                        {
                            controller = "Gestion",
                            action = "AccionMitigacion"
                        })));
                    }
                    else
                    {
                        model.OK    = false;
                        model.extra = entidad.extra;
                    }
                }
                else
                {
                    model.OK    = false;
                    model.extra = "El Captcha no es válido";

                    return(new RedirectToRouteResult(new RouteValueDictionary(new
                    {
                        controller = "Home",
                        action = "login"
                    })));
                }
            }
            catch (Exception ex)
            {
                Log.Error(ex);
            }

            return(View(model));
        }
        //add
        public async Task <JsonResult> ValidarCaptcha(MvReCAPTCHASettings model)
        {
            ResponseEntity itemRespuesta = new ResponseEntity();

            UsuarioBE entidad = new UsuarioBE()
            {
                USUARIO = model.USUARIO, PASSWORD_USUARIO = model.PASSWORD_USUARIO
            };

            try
            {
                //GoogleResponse _GoogleRecaptcha = await GoogleReCAPTCHAService.VerifyRecaptcha(entidad.Token);
                var isCaptchaValid = await IsCaptchaValid(model.TOKEN);

                if (isCaptchaValid)
                {
                    entidad = UsuarioLN.ObtenerPassword(entidad);
                    if (entidad.OK)
                    {
                        SessionHelper.AddUserToSession(entidad.ID_USUARIO.ToString());
                        Session["usuario"] = entidad.ID_USUARIO.ToString();
                        Session["socket"]  = WebConfigurationManager.AppSettings.Get("Socket");
                        List <RolOpcionesBE> lista = RolOpcionesLN.ListarOpciones(entidad.ID_USUARIO);
                        limpiarSetearSesion(lista);

                        itemRespuesta.success = true;
                    }
                    else
                    {
                        itemRespuesta.extra   = entidad.extra;
                        itemRespuesta.success = false;
                    }
                }
                else
                {
                    itemRespuesta.extra   = "El Captcha no es válido";
                    itemRespuesta.success = false;
                }
            }
            catch (Exception ex)
            {
                Log.Error(ex);
                itemRespuesta.extra   = "Usuario y/o Password incorrecto";
                itemRespuesta.success = false;
            }

            return(Respuesta(itemRespuesta));
        }
        // GET: MRV
        public ActionResult MINEM(string id, string ini)
        {
            var arr     = id.Split('-');
            var cod     = Convert.ToInt32(arr[2]);
            var etapa   = Convert.ToInt32(arr[3]);
            var estado  = Convert.ToInt32(arr[4]);
            var usuario = Convert.ToInt32(arr[5]);
            var opcion  = Convert.ToInt32(arr[6]);


            if (UsuarioLN.VerificarEstado(new UsuarioBE {
                ID_USUARIO = usuario
            }))
            {
                int validar = DireccionamientoLN.ValidarRuta(new DireccionamientoBE {
                    ID_INICIATIVA = cod, ID_ETAPA = etapa, ID_ESTADO = estado
                });

                if (validar == 1)
                {
                    SessionHelper.AddUserToSession(usuario.ToString());
                    Session["usuario"] = usuario.ToString();
                    Session["socket"]  = WebConfigurationManager.AppSettings.Get("Socket");
                    List <RolOpcionesBE> lista = RolOpcionesLN.ListarOpciones(usuario);
                    limpiarSetearSesion(lista);
                    Random rnd = new Random();
                    int    r1  = rnd.Next(100, 999);

                    if ((etapa == 1 && estado == 1) || (etapa == 1 && estado == 5))
                    {
                        return(RedirectToAction("RevisarIniciativa", "Gestion", new { id = r1, ini = cod }));
                    }
                    else if (etapa == 1 && estado == 2)
                    {
                        return(RedirectToAction("CorregirIniciativa", "Gestion", new { id = r1, ini = cod }));
                    }
                    else if (etapa == 2 && estado == 3)
                    {
                        if (opcion == 1)
                        {
                            return(RedirectToAction("DetalleIndicador", "Gestion", new { id = cod, ini = r1 }));
                        }
                        else if (opcion == 2)
                        {
                            return(RedirectToAction("DetalleIndicadorMasivo", "Detalle", new { id = cod, ini = r1 }));
                        }
                    }
                    else if ((etapa == 3 && estado == 1) || (etapa == 3 && estado == 5) || (etapa == 4 && estado == 2))
                    {
                        return(RedirectToAction("RevisarDetalleIndicador", "Gestion", new { id = cod, ini = r1 }));
                    }
                    else if (etapa == 3 && estado == 2)
                    {
                        if (opcion == 1)
                        {
                            return(RedirectToAction("CorregirDetalleIndicador", "Gestion", new { id = cod, ini = r1 }));
                        }
                        else if (opcion == 2)
                        {
                            return(RedirectToAction("CorregirDetalleIndicadorMasivo", "Detalle", new { id = cod, ini = r1 }));
                        }
                    }
                    else if ((etapa == 4 && estado == 3) || (etapa == 5 && estado == 2) || (etapa == 8 && estado == 2))
                    {
                        return(RedirectToAction("RevisarAdminDetalleIndicador", "Gestion", new { id = cod, ini = r1 }));
                    }
                }
                else
                {
                    return(RedirectToAction("Link", "Error"));
                }
            }
            else
            {
                return(RedirectToAction("LinkInhabilitado", "Error"));
            }

            return(View());
        }