/// <summary> /// Clears all global aliases /// </summary> public void Clear() { lock (_lock) { UserAliases.Clear(); } }
/// <summary> /// Sets a global alias /// </summary> public void Set(GlobalAlias alias) { lock (_lock) { UserAliases.SetOrAdd(alias.Keyword, alias.Value); UserAliasesChanged?.Invoke(this, EventArgs.Empty); } }
/// <summary> /// Returns true if either a global or local alias is known by the given keyword /// </summary> public bool IsKnown(string keyword, string contextID) { lock (_lock) { keyword = keyword.ToUpperInvariant().Trim(); return(UserAliases.ContainsKey(keyword) || LocalAliases.ContainsKey(contextID + "_" + keyword)); } }
/// <summary> /// Returns true if a global alias is known by the given keyword /// </summary> public bool IsKnown(string keyword) { lock (_lock) { keyword = keyword.ToUpperInvariant().Trim(); return(UserAliases.ContainsKey(keyword)); } }
/// <summary> /// Removes a global alias by keyword /// </summary> public void Remove(string keyword) { keyword = keyword.ToUpperInvariant().Trim(); lock (_lock) { UserAliases.Remove(keyword); UserAliasesChanged?.Invoke(this, EventArgs.Empty); } }
/// <summary> /// Populates global aliases from a list /// </summary> public void Populate(IEnumerable <GlobalAlias> globalAliases) { lock (_lock) { UserAliases.Clear(); foreach (var alias in globalAliases) { Set(alias); } UserAliasesChanged?.Invoke(this, EventArgs.Empty); } }
private void GetUserAliases() { if (_userAliasesHandled) return; _userAliasesHandled = true; var userAliasList = _aliasService.UserAliases.ToArray().Select(kvp => new GlobalAlias(kvp.Key, kvp.Value)).ToList(); DispatcherHelper.UIDispatcher.InvokeSafe(() => { UserAliases.Clear(); userAliasList.ForEach(UserAliases.Add); }); _userAliasesHandled = false; }
public IEnumerable <string> GetAliases(string id) { using (PoolItem <DirectoryService> connection = this.directoryServicePool.Take(NullValueHandling.Ignore)) { UserAliasListRequest request = new UserAliasListRequest(connection.Item, id); UserAliases result = request.ExecuteWithRetryOnBackoff(); if (result.AliasesValue == null) { return(new List <string>()); } return(result.AliasesValue.Select(t => t.AliasValue)); } }
/// <summary> /// Adds an Alias to the User /// </summary> /// <param name="UserID">ulong UserID of the SocketUser we're saving information for</param> /// <param name="Alias">The Alias the User wants to add and keep track of</param> /// <returns></returns> public AddSuccess AddAlias(ulong UserID, string Alias) { Aliases tempAliases = _aliases; var SuccessLevel = AddSuccess.Unknown; bool SuccessfulWrite = false; //See if the user has Saved any Aliases previously if (UserAliases.ContainsKey(UserID)) { //If they have make sure they aren't trying to save the same alias again if (!UserAliases[UserID].Contains(Alias, StringComparer.InvariantCultureIgnoreCase)) { UserAliases[UserID].Add(Alias); UserAliases[UserID].Sort(StringComparer.InvariantCultureIgnoreCase); SuccessLevel = AddSuccess.Success; } else { SuccessLevel = AddSuccess.AlreadyExists; } } else //If this is their first Alias, get the List for them set up. { var tempList = new List <string>(); tempList.Add(Alias); UserAliases[UserID] = tempList; SuccessLevel = AddSuccess.Success; } //If we had to make any changes, write them to disk if (SuccessLevel != AddSuccess.AlreadyExists) { SuccessfulWrite = WriteToDisk(); } //Make sure the write was succesful, if not tell the user as such if (SuccessfulWrite || SuccessLevel == AddSuccess.AlreadyExists) { return(SuccessLevel); } else { _aliases = tempAliases; return(AddSuccess.WriteFailure); } }