public void SaveRole(Role role) { using (var dbContext = new AccountDBContext()) { if (role.id > 0) { dbContext.Update<Role>(role); } else { dbContext.Insert<Role>(role); } } }
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(); } } } }
public LoginInfo Login(string loginName, string password) { LoginInfo loginInfo = null; try { loginName = loginName.Trim(); using (var dbContext = new AccountDBContext()) { var user = dbContext.Users.Include("Roles").Where(u => u.LoginName == loginName && u.Password == password && u.IsActive).FirstOrDefault(); if (user != null) { string ip = Fetch.UserIp; loginInfo = dbContext.FindAll<LoginInfo>(p => p.LoginName == loginName && p.ClientIP == ip).FirstOrDefault(); if (loginInfo != null) { loginInfo.LastAccessTime = DateTime.Now; } else { loginInfo = new LoginInfo(user.id, user.LoginName); loginInfo.ClientIP = ip; loginInfo.BusinessPermissionList = user.BusinessPermissionList; dbContext.Insert<LoginInfo>(loginInfo); } } } return loginInfo; } catch (Exception ex) { Logger.Error(LoggerType.ServiceException, ex); return loginInfo; } }