public object Get(GetOneUsers request) { List <WebOneUser> result = new List <WebOneUser>(); var context = TepWebContext.GetWebContext(PagePrivileges.AdminOnly); try { context.Open(); context.LogInfo(this, string.Format("/one/user GET ProviderId='{0}'", request.ProviderId)); int provId = (request.ProviderId != 0 ? request.ProviderId : context.GetConfigIntegerValue("One-default-provider")); OneCloudProvider oneCloud = (OneCloudProvider)CloudProvider.FromId(context, provId); USER_POOL pool = oneCloud.XmlRpc.UserGetPoolInfo(); foreach (object u in pool.Items) { if (u is USER_POOLUSER) { USER_POOLUSER oneuser = u as USER_POOLUSER; WebOneUser wu = new WebOneUser { Id = oneuser.ID, Name = oneuser.NAME, Password = oneuser.PASSWORD, AuthDriver = oneuser.AUTH_DRIVER }; result.Add(wu); } } context.Close(); } catch (Exception e) { context.LogError(this, e.Message, e); context.Close(); throw e; } return(result); }
public object Get(GetOneCurrentUser request) { WebOneUser result = new WebOneUser(); var context = TepWebContext.GetWebContext(PagePrivileges.UserView); try { context.Open(); context.LogInfo(this, string.Format("/one/user/current GET ProviderId='{0}'", request.ProviderId)); int provId = (request.ProviderId != 0 ? request.ProviderId : context.GetConfigIntegerValue("One-default-provider")); User user = User.FromId(context, context.UserId); string username = user.Email; try{ CloudUser usercloud = CloudUser.FromIdAndProvider(context, context.UserId, provId); if (!String.IsNullOrEmpty(usercloud.CloudUsername)) { username = usercloud.CloudUsername; } }catch (Exception) {} OneCloudProvider oneCloud = (OneCloudProvider)CloudProvider.FromId(context, provId); USER_POOL pool = oneCloud.XmlRpc.UserGetPoolInfo(); foreach (object u in pool.Items) { if (u is USER_POOLUSER) { USER_POOLUSER oneuser = u as USER_POOLUSER; if (oneuser.NAME == username) { result = new WebOneUser { Id = oneuser.ID, Name = oneuser.NAME, Password = oneuser.PASSWORD, AuthDriver = oneuser.AUTH_DRIVER }; break; } } } context.Close(); } catch (Exception e) { context.LogError(this, e.Message, e); context.Close(); throw e; } return(result); }