public virtual DomainAccessGuard.Session GetValidUser(string paramValue, ItemContextParameters parameters, IConversation conversation) { var username = paramValue.Replace(" ", ""); if (string.IsNullOrEmpty(username)) { return(null); } string regex = @"^(\w[\w\s]*)([\\]{1})(\w[\w\s\.\@]*)$"; Match m = Regex.Match(username, regex); if (string.IsNullOrEmpty(m.Value)) { return(null); } DomainAccessGuard.Session userSession = null; if (User.Exists(username)) { userSession = AuthenticationWrapper.GetDomainAccessSessions().FirstOrDefault( s => string.Equals(s.UserName, username, StringComparison.OrdinalIgnoreCase)); } return(userSession); }
public override ConversationResponse Respond(LuisResult result, ItemContextParameters parameters, IConversation conversation) { var sessions = AuthenticationWrapper.GetDomainAccessSessions().OrderByDescending(s => s.LastRequest); var sessionCount = sessions.Count(); var userNames = sessions.Select(a => a.UserName); var conjunction = (sessionCount != 1) ? Translator.Text("Chat.Intents.LoggedInUsers.PluralConjunction") : Translator.Text("Chat.Intents.LoggedInUsers.SingularConjuntion"); var plurality = (sessionCount != 1) ? Translator.Text("Chat.Intents.LoggedInUsers.PluralLetter") : ""; return(ConversationResponseFactory.Create(KeyName, $"{string.Format(Translator.Text("Chat.Intents.LoggedInUsers.Response"), conjunction, sessionCount, plurality)} <br/><ul><li>{string.Join("</li><li>", userNames)}</li></ul>")); }
public override ConversationResponse Respond(LuisResult result, ItemContextParameters parameters, IConversation conversation) { var sessions = AuthenticationWrapper.GetDomainAccessSessions().OrderByDescending(s => s.LastRequest); var sessionCount = sessions.Count(); var userNames = sessions.Select(a => a.UserName); var conjunction = (sessionCount != 1) ? "are" : "is"; var plurality = (sessionCount != 1) ? "s" : ""; return(ConversationResponseFactory.Create($"There {conjunction} {sessionCount} user{plurality}. <br/><ul><li>{string.Join("</li><li>", userNames)}</li></ul>")); }