public LoginInfo GetLoginInfo(Guid Token) { return CacheHelper.Get<LoginInfo>(string.Format(_LoginInfoKeyFormat, Token), () => { using (AccountDBContext db = new AccountDBContext()) { //超时处理 var timeOutList = db.FindAll<LoginInfo>(p => DbFunctions.DiffMinutes(DateTime.Now, p.LastAccessTime) > _UserLoginTimeoutMinutes); if (timeOutList.Count() > 0) { foreach (var item in timeOutList) { db.LoginInfos.Remove(item); } db.SaveChanges(); } var loginInfo = db.FindAll<LoginInfo>(s => s.LoginToken == Token).FirstOrDefault(); if (loginInfo != null) { loginInfo.LastAccessTime = DateTime.Now; db.Update<LoginInfo>(loginInfo); } return loginInfo; } }); }
public void DeleteRole(List<int> ids) { using (var dbContext = new AccountDBContext()) { dbContext.Roles.Include("Users").Where(u => ids.Contains(u.id)).ToList().ForEach(a => { a.Users.Clear(); dbContext.Roles.Remove(a); }); dbContext.SaveChanges(); } }
public void DeleteUser(List<int> ids) { try { using (var dbContext = new AccountDBContext()) { dbContext.Users.Include("Role").Where(u => ids.Contains(u.id)).ToList().ForEach(a => { a.Roles.Clear(); dbContext.Users.Remove(a); }); dbContext.SaveChanges(); } } catch (Exception ex) { throw ex; } }
public void SaveUser(User user) { using (var dbContext = new AccountDBContext()) { if (user.id > 0) { dbContext.Update<User>(user); var roles = dbContext.Roles.Where(r => user.RoleIds.Contains(r.id)).ToList(); user.Roles = roles; dbContext.SaveChanges(); } else { var existUser = dbContext.FindAll<User>(u => u.LoginName == user.LoginName); if (existUser.Count > 0) { throw new BusinessException("LoginName", "此登录名已存在!"); } else { dbContext.Insert<User>(user); var roles = dbContext.Roles.Where(r => user.RoleIds.Contains(r.id)).ToList(); user.Roles = roles; dbContext.SaveChanges(); } } } }