public ActionResult obtenUsuario(string idusuario, string idproveedor)
        {
            List <KeyValuePair <string, string> > datos = new List <KeyValuePair <string, string> >();
            int?_idusuario   = Convert.ToInt32(idusuario);
            int?_idproveedor = Convert.ToInt32(idproveedor);

            try
            {
                using (var ctx = new ClickFactura_Entidades.BD.Entidades.Desarrollo_CF())
                {
                    var elusuario = from usu in ctx.Cat_Usuario where usu.IdUsuario == _idusuario && usu.IdProveedor == _idproveedor select usu;
                    foreach (ClickFactura_Entidades.BD.Entidades.Cat_Usuario _usuario in elusuario)
                    {
                        datos.Add(new KeyValuePair <string, string>("OK", "Usuario encontrado"));
                        datos.Add(new KeyValuePair <string, string>("IdUsuario", _usuario.IdUsuario.ToString()));
                        datos.Add(new KeyValuePair <string, string>("Usuario", _usuario.Usuario.ToString()));
                        datos.Add(new KeyValuePair <string, string>("Password", _usuario.Password.ToString()));
                        datos.Add(new KeyValuePair <string, string>("Correo", _usuario.Correo.ToString()));
                        datos.Add(new KeyValuePair <string, string>("Activo", _usuario.Activo.ToString()));
                        var elperfil = from p in ctx.Cat_Perfil where p.IdPerfil == _usuario.IdPerfil select p;
                        var _p       = elperfil.ToList();
                        datos.Add(new KeyValuePair <string, string>("IdPerfil", _p[0].IdPerfil.ToString()));
                        datos.Add(new KeyValuePair <string, string>("Perfil", _p[0].Perfil.ToString()));
                        break;
                    }
                }
            }
            catch (Exception ex)
            {
                datos.Add(new KeyValuePair <string, string>("Error", "Ocurrío un problema recargando al usuario : " + ex.Message));
            }
            return(Json(datos));
        }
        public JsonResult cargaUsuarios(string idProveedor)
        {
            List <KeyValuePair <string, string> > datos = new List <KeyValuePair <string, string> >();

            using (var ctx = new ClickFactura_Entidades.BD.Entidades.Desarrollo_CF())
            {
                datos = cliente.misUsuarios(idProveedor);
            }
            return(Json(datos, JsonRequestBehavior.AllowGet));
        }
        private List <KeyValuePair <string, string> > ObtenPerfilesDB(string deQuien, string numproveedor)
        {
            //IEnumerable<SelectListItem>
            List <KeyValuePair <string, string> > datos = new List <KeyValuePair <string, string> >();

            using (var ctx = new ClickFactura_Entidades.BD.Entidades.Desarrollo_CF())
            {
                if (deQuien.Equals("Todos") == true)
                {
                    var perfiles = from todosPerfiles in ctx.Cat_Perfil where todosPerfiles.Activo != false select todosPerfiles;
                    var roles    = perfiles
                                   .Select(x =>
                                           new SelectListItem
                    {
                        Value = x.IdPerfil.ToString(),
                        Text  = x.Perfil
                    });
                    foreach (var se in roles)
                    {
                        datos.Add(new KeyValuePair <string, string>(se.Value, se.Text));
                    }
                    return(datos);// new SelectList(roles, "Value", "Text");
                }
                else
                {
                    var IdProveedor  = numproveedor;// (from datosProveedor in ctx.Cat_Proveedor where datosProveedor.Num_Proveedor.Equals(numproveedor) == true select datosProveedor).FirstOrDefault();
                    int?_IdUsuario   = Convert.ToInt32(deQuien);
                    int?_IdProveedor = Convert.ToInt32(IdProveedor);
                    var elUsuario    = from todosUsuarios in ctx.Cat_Usuario where todosUsuarios.IdUsuario == _IdUsuario && todosUsuarios.IdProveedor == _IdProveedor select todosUsuarios;
                    int?suPerfil     = 0;
                    foreach (ClickFactura_Entidades.BD.Entidades.Cat_Usuario campo in elUsuario)
                    {
                        suPerfil = campo.IdPerfil;
                        break;
                    }
                    var perfiles = from todosPerfiles in ctx.Cat_Perfil where todosPerfiles.IdPerfil == (int)suPerfil select todosPerfiles;
                    var roles    = perfiles
                                   .Select(x =>
                                           new SelectListItem
                    {
                        Value = x.IdPerfil.ToString(),
                        Text  = x.Perfil
                    });
                    foreach (var se in roles)
                    {
                        datos.Add(new KeyValuePair <string, string>(se.Value, se.Text));
                    }
                    return(datos);// new SelectList(roles, "Value", "Text");
                }
            }
        }
        public ActionResult ABCUsuario(string idusuario, string usuario, string password, string idproveedor, string correo, bool activo, string idperfil)
        {
            List <KeyValuePair <string, string> > datos = new List <KeyValuePair <string, string> >();

            using (var ctx = new ClickFactura_Entidades.BD.Entidades.Desarrollo_CF())
            {
                ClickFactura_Entidades.BD.Entidades.Cat_Usuario _usuario = new ClickFactura_Entidades.BD.Entidades.Cat_Usuario();
                _usuario.IdUsuario   = Convert.ToInt32(idusuario);
                _usuario.Usuario     = usuario;
                _usuario.Password    = password;
                _usuario.IdProveedor = Convert.ToInt32(idproveedor);
                _usuario.Correo      = correo;
                _usuario.Activo      = activo;
                _usuario.IdPerfil    = Convert.ToInt32(idperfil);
                datos = cliente.ABCUsuario(_usuario, ref datos);
            }
            return(Json(datos));
        }
        public ActionResult recuperaUsuario()
        {
            string idusuario   = System.Web.HttpContext.Current.Session["IdUsuario"] as string;
            string idproveedor = System.Web.HttpContext.Current.Session["IdProveedor"] as string;
            List <KeyValuePair <string, string> > datos = new List <KeyValuePair <string, string> >();
            int?   _idusuario   = Convert.ToInt32(idusuario);
            int?   _idproveedor = Convert.ToInt32(idproveedor);
            string flujos       = "";

            try
            {
                using (var ctx = new ClickFactura_Entidades.BD.Entidades.Desarrollo_CF())
                {
                    var elusuario = from usu in ctx.Cat_Usuario where usu.IdUsuario == _idusuario && usu.IdProveedor == _idproveedor select usu;
                    foreach (ClickFactura_Entidades.BD.Entidades.Cat_Usuario _usuario in elusuario)
                    {
                        datos.Add(new KeyValuePair <string, string>("OK", "Usuario encontrado"));
                        datos.Add(new KeyValuePair <string, string>("IdUsuario", _usuario.IdUsuario.ToString()));
                        datos.Add(new KeyValuePair <string, string>("Usuario", _usuario.Usuario.ToString()));
                        datos.Add(new KeyValuePair <string, string>("Password", _usuario.Password.ToString()));
                        datos.Add(new KeyValuePair <string, string>("Correo", _usuario.Correo.ToString()));
                        datos.Add(new KeyValuePair <string, string>("Activo", _usuario.Activo.ToString()));
                        var elperfil = from p in ctx.Cat_Perfil where p.IdPerfil == _usuario.IdPerfil select p;
                        var _p       = elperfil.ToList();
                        datos.Add(new KeyValuePair <string, string>("IdPerfil", _p[0].IdPerfil.ToString()));
                        datos.Add(new KeyValuePair <string, string>("Perfil", _p[0].Perfil.ToString()));
                        break;
                    }
                    try
                    {
                        var usuarioPortal = from u in ctx.Cat_UsuariosWF where u.idUsuarioPortal == _idusuario select u;
                        if (usuarioPortal != null)
                        {
                            if (usuarioPortal.Count() > 0)
                            {
                                foreach (var uu in usuarioPortal)
                                {
                                    var WF = from u in ctx.T_BitacoraWF where u.idTipoUsuarioWF == uu.idTipoUsuarioWF select u;
                                    if (WF != null)
                                    {
                                        if (WF.Count() > 0)
                                        {
                                            flujos = "Existen " + WF.Count().ToString() + " aprobaciones que requieren su liberación/rechazo.";
                                        }
                                    }
                                    break;
                                }
                                datos.Add(new KeyValuePair <string, string>("Workflow", flujos));
                            }
                        }
                    }
                    catch
                    {
                    }
                }
            }
            catch (Exception ex)
            {
                datos.Add(new KeyValuePair <string, string>("Error", "Ocurrío un problema recargando al usuario : " + ex.Message));
            }
            return(Json(datos));
        }