public bool IsValid(string _Nname, string _Password) { PLMCryptographyComponent.CryptographyComponent _criptography = new PLMCryptographyComponent.CryptographyComponent(); _Password = _criptography.encrypt(_Password); var usr = db.Users.Where(x => x.NickName == _Nname && x.Password == _Password).ToList(); if (usr.LongCount() > 0) { Users.Active = usr[0].Active; Users.CountryId = usr[0].CountryId; Users.Email = usr[0].Email; Users.LastName = usr[0].LastName; Users.Name = usr[0].Name; Users.NickName = usr[0].NickName; Users.Password = usr[0].Password; Users.UserId = usr[0].UserId; var Hashkey = System.Configuration.ConfigurationManager.AppSettings["HashKey"]; var apl = db.Applications.Where(x => x.HashKey == Hashkey).ToList(); if (apl.LongCount() > 0) { Applications.Active = apl[0].Active; Applications.ApplicationId = apl[0].ApplicationId; Applications.Description = apl[0].Description; Applications.HashKey = apl[0].HashKey; var applusr = db.ApplicationUsers.Where(x => x.ApplicationId == Applications.ApplicationId && x.UserId == Users.UserId).ToList(); if (applusr.LongCount() > 0) { ApplicationUsers.ApplicationId = applusr[0].ApplicationId; ApplicationUsers.RoleId = applusr[0].RoleId; ApplicationUsers.UserId = applusr[0].UserId; var rls = db.Roles.Where(x => x.RoleId == ApplicationUsers.RoleId).ToList(); if (rls.LongCount() > 0) { RolesUser.Active = rls[0].Active; RolesUser.Description = rls[0].Description; RolesUser.RoleId = rls[0].RoleId; var cu = db.CountriesUser.Where(x => x.CountryId == Users.CountryId).ToList(); if (cu.LongCount() > 0) { var c = db.UserCountries.Where(x => x.UserId == Users.UserId).ToList(); foreach (UserCountries _c in c) { UserCountries1 = new UserCountries(); UserCountries1.CountryId = c[0].CountryId; UserCountries1.UserId = c[0].UserId; } return(true); } else { return(false); } } else { return(false); } } else { return(false); } } else { return(false); } } else { return(false); } }
public ActionResult Login(Models.Users _user) { try { if (ModelState.IsValid) { _user.Password = cryptography.encrypt(_user.Password); string _nickName = _user.NickName; string _password = _user.Password; var _hashkey = System.Configuration.ConfigurationManager.AppSettings["HashKey"]; var _roWloginApp = db.Database.SqlQuery <plm_spLoginApplications_Result>("plm_spLoginApplications @User = '******', @Password ='******', @HashKey = '" + _hashkey + "'").ToList(); _roWusers.UserId = _roWloginApp[0].UsrUserId; _roWusers.Active = _roWloginApp[0].UserActive; _roWusers.CountryId = _roWloginApp[0].UserCountryId; _roWusers.Email = _roWloginApp[0].UserEmail; _roWusers.LastName = _roWloginApp[0].UserLastName; _roWusers.Name = _roWloginApp[0].UserName; _roWusers.NickName = _roWloginApp[0].UserNickName; _roWusers.Password = _roWloginApp[0].UserPassword; _roWApplicationusers.ApplicationId = _roWloginApp[0].UserApplicationId; _roWApplicationusers.RoleId = _roWloginApp[0].UserRoleId; _roWApplicationusers.UserId = _roWloginApp[0].UserUserId; _roWrolesUsers.Active = _roWloginApp[0].RoleActive; _roWrolesUsers.Description = _roWloginApp[0].RoleDescription; _roWrolesUsers.RoleId = _roWloginApp[0].RoleId; _roWApplications.ApplicationId = _roWloginApp[0].ApplicationsApplicationId; _roWApplications.Active = _roWloginApp[0].ApplicationsActive; _roWApplications.Description = _roWloginApp[0].ApplicationsDescription; _roWApplications.HashKey = _roWloginApp[0].ApplicationsHashKey; FormsAuthentication.SetAuthCookie(_roWusers.NickName, _roWusers.Active = true); if (_roWApplicationusers.UserId == _roWusers.UserId) { if (_roWApplicationusers.RoleId == _roWrolesUsers.RoleId) { UserCont(_roWusers, _roWApplicationusers); if (_roWrolesUsers.Description == "Administrador") { Functions.ActivitySesions(_roWusers, _roWApplicationusers); return(RedirectToAction("Index", "Analytics")); //return RedirectToAction("RedirectToAction", "Login"); } if (_roWrolesUsers.Description == "Vendedor") { Functions.ActivitySesions(_roWusers, _roWApplicationusers); return(RedirectToAction("Index", "Analytics")); } if (_roWrolesUsers.Description == "Diagramador") { Functions.ActivitySesions(_roWusers, _roWApplicationusers); return(RedirectToAction("Index", "Analytics")); } if (_roWrolesUsers.Description == "Laboratorio de Información") { Functions.ActivitySesions(_roWusers, _roWApplicationusers); return(RedirectToAction("Index", "Analytics")); } } } } } catch (Exception _msgException) { if (_msgException.Message == "_errorAccess") { ViewData["Error"] = "No tiene acceso al sistema."; } else if (_msgException.Message == "_errorapplication") { ViewData["Error"] = "Hay un problema con la aplicación."; } else if (_msgException.Message == "_errorUser") { ViewData["Error"] = "Ingrese sus credenciales correctamente."; } else { ViewData["Error"] = "Ocurrio un problema al accesar a los servidores, disculpe los inconvenientes."; } } return(View(_user)); }