public ActionResult ValidaUsuario(clsSeguridad objSeguridad) { var lstSucursales = new SelectList(new List <string>()); try { var msgSP = entity.Database.SqlQuery <clsMensajesSP>("call spUsuario({0},{1},{2},{3},{4})", new object[] { objSeguridad.Usuario, objSeguridad.Contrasena, "1", objSeguridad.CatSucursalesSelect.ToString(), "0" }).ToList(); //Evaluamos si existe el usuario en la base if (msgSP != null && msgSP.Count() > 0) { Warning(msgSP[0].msg); } else if (msgSP != null && msgSP.Count() == 0) { //Si encuentra el usuario //if (objSeguridad.CatSucursalesSelect != 3 || objSeguridad.CatSucursalesSelect != 4) //validamos permisos de ususario var permisos = entity.Database.SqlQuery <clsPermisosUsr>("call spUsuarioPermiso({0},{1})", new object[] { objSeguridad.Usuario, "1" }).ToList(); if (permisos != null && permisos.Count() > 0) { var nombre = permisos.Where(p => p.Nombre == "PMServicioDomicilio").Select(p => p.Nombre); if ((permisos[0].Grupo == "SD-TECNICO" && nombre.Count() > 0) || permisos[0].Grupo == "ADMINISTRADOR") { var usrSuc = (from s in entity.sucursals where s.Sucursal1 == objSeguridad.CatSucursalesSelect select s).FirstOrDefault(); var usrData = (from u in entity.usuarios where u.Usuario1 == objSeguridad.Usuario select u).FirstOrDefault(); Session["Usuario"] = objSeguridad.Usuario; Session["UserName"] = usrData.Nombre; Session["UsrSucursal"] = usrSuc.Nombre; Session["IdSuc"] = usrSuc.Sucursal1; return(RedirectToAction("Index", "SDM")); } else { Warning("No tiene permisos para acceder a la aplicación.Favor contacte al administrador del sistema"); } } } } catch (Exception e) { Danger(Resources.MsjError + " - [" + e.Message + "]"); } //De la siguiente manera llenamos manualmente, //Siendo el campo Text lo que ve el usuario y //el campo Value lo que en realidad vale nuestro valor objSeguridad.CatSucursales = lstSucursales; objSeguridad.CatSucursalesSelect = 1; return(View("Index", objSeguridad)); }