Example #1
0
        public IEnumerable <UserListModel> SearchUsersRequest(string query, SearchByEnum searchBy)
        {
            var list = new List <User>();

            switch (searchBy)
            {
            case SearchByEnum.Name:
                list = _userManager.Users
                       .Where(x => x.NormalizedUserName.Contains(query.ToUpper()) && x.UserName != Thread.CurrentPrincipal.Identity.Name).ToList();
                break;

            case SearchByEnum.Email:
                list = _userManager.Users
                       .Where(x => x.NormalizedEmail.Contains(query.ToUpper()) && x.UserName != Thread.CurrentPrincipal.Identity.Name).ToList();
                break;

            case SearchByEnum.Phone:
                list = _userManager.Users
                       .Where(x => x.PhoneNumber.Contains(query) && x.UserName != Thread.CurrentPrincipal.Identity.Name).ToList();
                break;

            default:
                return(null);
            }

            list = list.Where(x => _chat.IsUsersInChat(x, Thread.CurrentPrincipal.Identity.Name)).ToList();

            return(list.Select(z => new UserListModel()
            {
                Name = z.UserName, Email = z.Email, PhoneNumber = z.PhoneNumber
            }));
        }
Example #2
0
 public async Task <IEnumerable <UserListModel> > GetRequestUserList(string query, SearchByEnum searchBy)
 {
     return(await connection.InvokeAsync <IEnumerable <UserListModel> >("SearchUsersRequest", query, searchBy));
 }
Example #3
0
 public IEnumerable <UserListModel> SearchUsersRequest(string query, SearchByEnum searchBy)
 {
     Thread.CurrentPrincipal = Context.User;
     logger.Debug($"User {Context.User.Identity.Name} search by {searchBy} with param {query}");
     return(_user.SearchUsersRequest(query, searchBy));
 }