Example #1
0
        public GetUsersResponse Get(GetUsersRequest request)
        {
            request.Data.SetDefaultOrder("UserName");

            var query = repository.AsQueryable<Models.User>();
            query = ApplyRolesFilter(query, request.Data);

            var listResponse = query
                .Select(user => new UserModel
                    {
                        Id = user.Id,
                        Version = user.Version,
                        CreatedBy = user.CreatedByUser,
                        CreatedOn = user.CreatedOn,
                        LastModifiedBy = user.ModifiedByUser,
                        LastModifiedOn = user.ModifiedOn,

                        UserName = user.UserName,
                        FirstName = user.FirstName,
                        LastName = user.LastName,
                        Email = user.Email,
                        ImageId = user.Image != null && !user.Image.IsDeleted ? user.Image.Id : (System.Guid?) null,
                        ImageCaption = user.Image != null && !user.Image.IsDeleted ? user.Image.Caption : null,
                        ImageThumbnailUrl = user.Image != null && !user.Image.IsDeleted ? user.Image.PublicThumbnailUrl : null,
                        ImageUrl = user.Image != null && !user.Image.IsDeleted ? user.Image.PublicUrl : null
                    })
                .ToDataListResponse(request);

            return new GetUsersResponse
                       {
                           Data = listResponse
                       };
        }
 public GetUsersResponse GetUsers( GetUsersRequest request )
 {
     return new GetUsersResponse {
     Users = _users.Select( u => new IdentifiedUser {
       Id = u.Key,
       User = u.Value
     } ).ToList()
       };
 }
 public GetUsersResponse Get(GetUsersRequest request)
 {
     throw new CmsException(UsersApiConstants.UsersApiHasNoImplementationMessage);
 }
Example #4
0
 public async Task <Response> GetUsers(GetUsersRequest request)
 {
     return(await _userService.GetUsers(request));
 }
Example #5
0
 public Task <GetUsersResponse> GetUsers([FromQuery] GetUsersRequest getUsersRequest) => _mediator.Send(getUsersRequest);
Example #6
0
 public async Task <PagedList <UserBaseViewModel> > GetUsers([FromQuery] GetUsersRequest request)
 {
     return(await this.mediator.Send(request));
 }
Example #7
0
 public async Task <IList <User> > GetAllUsersAsync(GetUsersRequest getUsersRequest, PaginationInfo paginationInfo)
 {
     return(await this.managementApiClient.Users.GetAllAsync(getUsersRequest, paginationInfo));
 }
Example #8
0
 public Task <IActionResult> GetUsersByName([FromQuery] GetUsersRequest request)
 => SendCommand(request);
Example #9
0
        public IEnumerable <GetUserResult> GetUsers(GetUsersRequest dto)
        {
            var result = userRepository.GetUsers(dto);

            return(mapper.Map <IEnumerable <GetUserResult> >(result));
        }
Example #10
0
        public async Task <Users> GetUsersAsync()
        {
            var request = new GetUsersRequest();

            return(await this.client.RequestUsersAsync(request));
        }
Example #11
0
        public async Task <IActionResult> GetUsers([FromQuery] GetUsersRequest request)
        {
            var response = await _adminService.GetUsersAsync(request);

            return(SendResponse(response));
        }
Example #12
0
 public GetUsersQuery(GetUsersRequest request) : base(request, ApiRoutes.Users.Get)
 {
     //request.Alias.BuildQuery(UserParameterType.Alias, QueryBuildModels);
     //RequestRoute = ApiRoutes.Users.Get;
 }
Example #13
0
        public GetUsersResponse ListUsers(GetUsersRequest request)
        {
            GetUsersResponse response = new GetUsersResponse();

            AuthToken authToken = null;

            try
            {
                Common.Helpers.ValidationHelper.ValidateRequiredField(request.AuthToken, "Auth Token");

                Common.Helpers.ValidationHelper.ValidateStringLength(request.Name, "Name", Constants.MaxNameLength);
                Common.Helpers.ValidationHelper.ValidateStringLength(request.Username, "Username", Constants.MaxUsernameLength);
                Common.Helpers.ValidationHelper.ValidateStringLength(request.EmailAddress, "Email Address", Constants.MaxEmailAddressLength);

                Common.Helpers.ValidationHelper.Assert(request.StartAt < 1E4, "StartAt is too large.");

                if (!UserController.ValidateSession(request.AuthToken, out authToken))
                {
                    throw new AuthenticationException("Authentication failed.");
                }

                DbContext context = DataController.CreateDbContext();

                IQueryable <User> users = context.Users;

                if (!string.IsNullOrEmpty(request.Username))
                {
                    users = users.Where(a => a.ID.Contains(request.Username));
                }

                if (!string.IsNullOrEmpty(request.Name))
                {
                    users = users.Where(a => (a.FirstName + " " + a.LastName).Contains(request.Name));
                }

                if (!string.IsNullOrEmpty(request.EmailAddress))
                {
                    users = users.Where(a => a.EmailAddress.Contains(request.EmailAddress));
                }

                users = users.OrderBy(u => u.LastName)
                        .ThenBy(u => u.FirstName)
                        .Skip(request.StartAt)
                        .Take(InitialRound.Web.Properties.Settings.Default.PageSize);

                response.Results = users.AsEnumerable().Select(u => new GetUsersResponseItem
                {
                    Name            = u.FirstName + " " + u.LastName,
                    Username        = u.ID,
                    EmailAddress    = u.EmailAddress,
                    IsAdmin         = u.IsAdmin,
                    LastUpdatedDate = u.LastUpdatedDate.ToShortDateString(),
                    CreatedDate     = u.CreatedDate.ToShortDateString()
                }).ToArray();
            }
            catch (AuthenticationException ex)
            {
                throw new WebFaultException <string>(ex.Message, System.Net.HttpStatusCode.BadRequest);
            }
            catch (Common.Exceptions.ValidationException ex)
            {
                throw new WebFaultException <string>(ex.Message, System.Net.HttpStatusCode.BadRequest);
            }
            catch (Exception ex)
            {
                ExceptionHelper.Log(ex, authToken == null ? null : authToken.Username);
                throw new WebFaultException <string>("An unknown error has occurred.", System.Net.HttpStatusCode.InternalServerError);
            }

            return(response);
        }
 public async Task <PaginatedResponse <UserListItemResponseModel> > Handle(GetUsersRequest request, CancellationToken cancellationToken)
 {
     return(await _getUsersQueries.Query(request, cancellationToken));
 }
        public void GetUsersTest()
        {
            var usersRequest = new GetUsersRequest();

            var user1 = new Domain.User.User {
                Id        = Guid.NewGuid(),
                FirstName = "test",
                LastName  = "test",
                Address   = new Address {
                    Country     = "UK",
                    City        = "London",
                    Street      = "Baker street",
                    HouseNumber = "221B"
                }
            };

            var user2 = new Domain.User.User {
                Id        = Guid.NewGuid(),
                FirstName = "test2",
                LastName  = "test2",
                Address   = new Address {
                    Country     = "UK",
                    City        = "London",
                    Street      = "Baker street2",
                    HouseNumber = "221BB"
                }
            };

            var users = new List <Domain.User.User> {
                user1,
                user2
            };

            var mockUow = new Mock <IUnitOfWork>();

            var mockRepo = new Mock <IUserRepository>();

            mockRepo.Setup(x => x.Find(It.IsAny <UserQueryParam>())).Returns(users);

            var mockMapper = new Mock <IUserDtoMapper>();

            mockMapper.Setup(x => x.ConvertToDTO(users)).Returns(new List <UserDTO> {
                new UserDTO {
                    Id          = user1.Id,
                    FirstName   = user1.FirstName,
                    LastName    = user1.LastName,
                    Country     = user1.Address.Country,
                    City        = user1.Address.City,
                    Street      = user1.Address.Street,
                    HouseNumber = user1.Address.HouseNumber
                },
                new UserDTO {
                    Id          = user2.Id,
                    FirstName   = user2.FirstName,
                    LastName    = user2.LastName,
                    Country     = user2.Address.Country,
                    City        = user2.Address.City,
                    Street      = user2.Address.Street,
                    HouseNumber = user2.Address.HouseNumber
                }
            });

            var mockValidator = new Mock <IValidator <Domain.User.User> >();

            var service = new UserService(mockUow.Object, mockRepo.Object, mockMapper.Object, mockValidator.Object);

            var response = service.GetUsers(usersRequest);

            Assert.IsNull(response.Exception);
            Assert.IsNotNull(response.Result);
            Assert.AreEqual(2, response.Result.Count());

            var firstDto = response.Result.First();

            Assert.AreEqual(user1.Id, firstDto.Id);

            var lastDto = response.Result.Last();

            Assert.AreEqual(user2.Id, lastDto.Id);
        }
Example #16
0
        public IActionResult GetUsers(GetUsersRequest request)
        {
            var users = _userService.GetUsers(request);

            return(Json(users));
        }
Example #17
0
 public IActionResult Get([FromQuery] GetUsersRequest dto)
 {
     return(Ok(userService.GetUsers(dto)));
 }
Example #18
0
 GetUsersResponse IOnVifDevice.GetUsers(GetUsersRequest request)
 {
     throw new NotImplementedException();
 }
Example #19
0
 public override Task <Response> GetUsers(GetUsersRequest request, ServerCallContext context)
 {
     return(base.GetUsers(request, context));
 }
Example #20
0
 public override Task <GetUsersReply> GetUsers(
     GetUsersRequest request, ServerCallContext context)
 {
     return(Task.FromResult(GetUsers(request)));
 }
 public GetUsersResponse GetUsers(GetUsersRequest request)
 {
     return(_innerService.GetUsers(request));
 }
        public IActionResult GetUsers([FromQuery] GetUsersRequest request)
        {
            var userResponse = this.userServiceClient.GetUsers(request);

            return(Ok(userResponse.Users));
        }
Example #23
0
        public override async Task <UserPageModel> GetUsers(GetUsersRequest getUsersRequest, ServerCallContext context)
        {
            var getUsers = _mapper.Map <GetUsersRequest, GetUsers>(getUsersRequest);

            return(_mapper.Map <PageModel <UserModel>, UserPageModel>(await _mediator.Send(getUsers)));
        }
Example #24
0
        public bool ConnectSSL()
        {
            lock (_lock) {
                if (oAuth == null)
                {
                    // Make sure we're able to authenticate with the server BEFORE trying to connect
                    Logger.Warn("Missing authentication to connect with server.");
                    return(false);
                }
                oAuth.Scope  |= TwitchScope.CHAT_READ | TwitchScope.CHAT_EDIT;  // ensure required scopes are set on request
                StayConnected = true;
                doCreateClient();
                // Socket Connected - DO LOGIN
                doConnect();
                Task.Run(() => {
                    // System.Threading.Thread.Sleep(5000);    // avoid race condition in joining channel
                    while (StayConnected)
                    {
                        if (sslStream == null)
                        {
                            doCreateClient();
                            doConnect();
                        }
                        while ((sslStream != null) && (sslStream.CanRead))
                        {
                            try {
                                lock (_lock) {
                                    string response = ReadMessage();
                                    Match m         = Regex.Match(response, "(@(?<tags>[^ ]*) )?(:(?<prefix>[^ ]*) )?(?<command>[^ ]*) (?<params>.*)");
                                    string tags     = m.Groups["tags"].Value;
                                    string prefix   = m.Groups["prefix"].Value;
                                    string command  = m.Groups["command"].Value;
                                    string p        = m.Groups["params"].Value;

                                    // Logger.Trace(() => { return string.Format("Prefix <{0}> Command<{1}> Params<{2}>", prefix, command, p); });

                                    // Decode user
                                    m = Regex.Match(prefix, "((?<nick>[^!]*)[!](?<user>[^@]*)[@](?<host>.*))|(?<servername>[^!@]*)");
                                    string servername = m.Groups["servername"].Value;
                                    string nick       = m.Groups["nick"].Value;
                                    string user       = m.Groups["user"].Value;
                                    string host       = m.Groups["host"].Value;
                                    // Logger.Trace(() => { return string.Format("Servername <{0}> Nick <{1}> User <{2}> Host <{3}>", servername, nick, user, host); });

                                    string name = string.IsNullOrWhiteSpace(nick) ? servername : nick;

                                    if (command.Equals("PRIVMSG"))
                                    {
                                        m              = Regex.Match(tags, "emotes=(?<emotes>[^;]*);");
                                        string emotes  = m.Groups["emotes"].Value;
                                        m              = Regex.Match(p, "#(?<channel>.*) :(?<message>.*)");
                                        string channel = m.Groups["channel"].Value;
                                        string message = m.Groups["message"].Value;

                                        // Logger.Trace(() => { return string.Format("User <{0}> Message <{1}> on <{2}>", name, message, channel); });

                                        // Do onMessageReceived
                                        GetUsersRequest req   = new GetUsersRequest(name);
                                        GetUsersResponse resp = req.doRequest(oAuth);
                                        if (resp.Users.Count != 0)
                                        {
                                            Logger.Trace(string.Format("Invoking event: onMessageReceived <{0}>", message));
                                            if (Listeners.ContainsKey(channel))
                                            {
                                                foreach (IRCListener l in Listeners[channel])
                                                {
                                                    l.onMessageReceived(resp.Users[0], message, emotes);
                                                }
                                            }
                                        }
                                    }
                                    else if (command.Equals("PING"))
                                    {
                                        IRCPongCommand.send(this);
                                    }
                                    else if (command.Equals("RECONNECT"))
                                    {
                                        Logger.Trace("Reconnecting");
                                        // IRCQuitCommand.send(this);
                                        doConnect();
                                    }
                                }
                            } catch (Exception e) {
                                Logger.Warn(e.Message);
                            }
                        }
                    }
                });
                return(true);
            }
        }
        public GetUsersResponse GetUsers(GetUsersRequest request)
        {
            var response = new GetUsersResponse();

            try
            {
                response.Users = this.unitOfWork.UserRepository.Get(q => q.Select(x => new UserDto
                {
                    UserName = x.UserName,
                    FirstName = x.FirstName,
                    LastName = x.LastName,
                    Email = x.Email
                }));

                response.Status = StatusCode.OK;
            }
            catch (Exception ex)
            {
                this.exceptionHandler.HandleException(ex);
                response.Status = StatusCode.InternalServerError;
            }

            return response;
        }
 public async Task <IActionResult> GetUsers([FromQuery] GetUsersRequest request)
 {
     return(await request.Handle());
 }
Example #27
0
        public GetUsersResponse SearchUsers(GetUsersRequest input)
        {
            GetUsersResponse response = new GetUsersResponse();

            if (!this.ModelState.IsValid)
            {
                response.Status = new Status
                {
                    Code = Status.INTERNAL_MESSAGE_CODE,
                    Message = this.ModelState.Values.First().Errors.First().ErrorMessage
                };

                return response;
            }

            if (input == null)
            {
                response.Status = Status.MISSING_PARRAMETERS;
                return response;
            }

            ////check for register user by Token
            User currentUser = null;
            try
            {
                currentUser = this.Users.SingleOrDefault(a => a.Token == input.Token); ////TOKEN must be unique
                if (currentUser == null)
                {
                    response.Status = Status.INVALID_TOKEN;
                    return response;
                }
            }
            catch (Exception)
            {
                response.Status = Status.INTERNAL_ERROR;
                return response;
            }

            List<User> allUsers = this.Users.Where(a => a.FanApps == currentUser.FanApps).AsQueryable().ToList();
            List<UserModel> usersResponseList = new List<UserModel>();
            foreach (User item in allUsers)
            {
                usersResponseList.Add(new UserModel
                {
                    FirstName = item.FirstName,
                    LastName = item.LastName,
                    Email = item.Email
                });
            }

            response.Status = Status.SUCCESS_FETCH_USERS;
            response.Users = usersResponseList;
            response.FanAppName = currentUser.FanApps;
            return response;
        }
 public GetUsersResponse GetAllUsers(GetUsersRequest request)
 {
     throw new NotSupportedException("Request should be routed to a request handler.");
 }
        /// <summary>
        /// Retrieves a single user using an email address. If more or less than one result is found, that is treated 
        /// as an error.
        /// </summary>
        /// <returns>Returns a User object if user is found, and null otherwise.</returns>
        public static User GetUser()
        {
            const string methodName = "GetUser()";
            const string bwsApiName = "bwsService.getUsers()";
            logMessage("Entering {0}", methodName);
            User returnValue = null;

            GetUsersRequest request = new GetUsersRequest();
            request.metadata = Metadata;

            GetUsersSearchCriteria searchCriteria = new GetUsersSearchCriteria();

            // Note: Email searches are not case-sensitive. Wildcards and prefix or suffix matching are supported.

            /*
             * Check if the value of the variable "DisplayUserDetailsEmail" is enclosed in double-quotes, and if it's
             * not, then display a message. If the variable "DisplayUserDetailsEmail" is not enclosed in double-quotes,
             * then a substring match search will be performed.
             */
            if (!DisplayUserDetailsEmail.StartsWith("\"") || !DisplayUserDetailsEmail.EndsWith("\""))
            {
                logMessage("Warning: Email Address \"{0}\" is not enclosed in double-quotes",
                    DisplayUserDetailsEmail);
            }
            searchCriteria.emailAddress = DisplayUserDetailsEmail;
            request.searchCriteria = searchCriteria;

            /*
             * The pageSize value of 2 is used to help determine if exactly 1 unique user was found. Using a pageSize value
             * of 2 avoids the overhead of retrieving more than 2 search results.
             */
            request.pageSize = 2;

            GetUsersSortBy sortBy = new GetUsersSortBy();
            sortBy.EMAIL_ADDRESS = true;
            sortBy.value = "EMAIL_ADDRESS";
            request.sortBy = sortBy;

            GetUsersResponse response = null;

            try
            {
                logRequest(bwsApiName);
                response = bwsService.getUsers(request);
                logResponse(bwsApiName, response.returnStatus.code, response.metadata);
            }
            catch (WebException e)
            {
                // Log and re-throw exception.
                logMessage("Exiting {0} with exception \"{1}\"", methodName, e.Message);
                throw e;
            }

            if (response.returnStatus.code.Equals("SUCCESS"))
            {
                if (response.users != null && response.users.Length == 1)
                {
                    // Returns the first user object in the users array.
                    returnValue = response.users[0];
                }
                else if (response.users != null && response.users.Length > 1)
                {
                    logMessage("More than one user was found with email address \"{0}\"",
                        DisplayUserDetailsEmail);
                }
                else
                {
                    logMessage("No user was found with email address \"{0}\"", DisplayUserDetailsEmail);
                }
            }
            else
            {
                logMessage("Error Message: \"{0}\"", response.returnStatus.message);
            }

            logMessage("Exiting {0} with {1}", methodName, returnValue == null ? "\"null\"" :
                "User object (UID \"" + returnValue.uid + "\")");
            return returnValue;
        }
Example #30
0
        public async Task <GetUsersResponse> GetUsers([FromQuery] GetUsersRequest model)
        {
            var response = await _mediator.Send(model);

            return(response);
        }
 public IActionResult Get(GetUsersRequest request)
 {
     return(Ok(_userService.GetUsers(request).Users));
 }
        /// <summary>
        /// Gets the users.
        /// </summary>
        /// <param name="storefront">The storefront.</param>
        /// <param name="userName">The username.</param>
        /// <returns>
        /// The manager response where a list of users is returned in the response.
        /// </returns>
        public virtual ManagerResponse<GetUsersResult, IList<CommerceUser>> GetUsers([NotNull] CommerceStorefront storefront, string userName)
        {
            Assert.ArgumentNotNullOrEmpty(userName, "userName");

            var criteria = new UserSearchCriteria { UserName = userName, ShopName = storefront.ShopName };
            var request = new GetUsersRequest(criteria);
            var result = this.CustomerServiceProvider.GetUsers(request);
            if (!result.Success || result.CommerceUsers == null)
            {
                var message = StorefrontManager.GetSystemMessage("UserNotFoundError");
                result.SystemMessages.Add(new SystemMessage { Message = message });
            }

            Helpers.LogSystemMessages(result.SystemMessages, result);
            return new ManagerResponse<GetUsersResult, IList<CommerceUser>>(result, result.CommerceUsers);
        }
Example #33
0
        /// <summary>
        /// Retrieves a single user using an email address. If more or less than one result is found, that is treated
        /// as an error.
        /// </summary>
        /// <returns>Returns a User object if user is found, and null otherwise.</returns>
        public static User GetUser()
        {
            const string methodName = "GetUser()";
            const string bwsApiName = "bwsService.getUsers()";

            logMessage("Entering {0}", methodName);
            User returnValue = null;

            GetUsersRequest request = new GetUsersRequest();

            request.metadata = Metadata;

            GetUsersSearchCriteria searchCriteria = new GetUsersSearchCriteria();

            /*
             * Check if the value of the variable "DisplayUserDetailsEmail" is enclosed in double-quotes.
             * If it is, then the search will look for an email address that exactly matches this value.
             * Otherwise, this value will be used in a prefix match.
             */
            if (!DisplayUserDetailsEmail.StartsWith("\"") || !DisplayUserDetailsEmail.EndsWith("\""))
            {
                logMessage("Warning: Email Address \"{0}\" is not enclosed in double-quotes. A prefix match will occur.",
                           DisplayUserDetailsEmail);
            }
            searchCriteria.emailAddress = DisplayUserDetailsEmail;
            request.searchCriteria      = searchCriteria;

            /*
             * The pageSize value of 2 is used to help determine if exactly 1 unique user was found. Using a pageSize value
             * of 2 avoids the overhead of retrieving more than 2 search results.
             */
            request.pageSize = 2;

            GetUsersSortBy sortBy = new GetUsersSortBy();

            sortBy.EMAIL_ADDRESS = true;
            sortBy.value         = "EMAIL_ADDRESS";
            request.sortBy       = sortBy;

            GetUsersResponse response = null;

            try
            {
                logRequest(bwsApiName);
                response = bwsService.getUsers(request);
                logResponse(bwsApiName, response.returnStatus.code, response.metadata);
            }
            catch (WebException e)
            {
                // Log and re-throw exception.
                logMessage("Exiting {0} with exception \"{1}\"", methodName, e.Message);
                throw e;
            }

            if (response.returnStatus.code.Equals("SUCCESS"))
            {
                if (response.users != null && response.users.Length == 1)
                {
                    // Returns the first user object in the users array.
                    returnValue = response.users[0];
                }
                else if (response.users != null && response.users.Length > 1)
                {
                    logMessage("More than one user was found with email address \"{0}\"",
                               DisplayUserDetailsEmail);
                }
                else
                {
                    logMessage("No user was found with email address \"{0}\"", DisplayUserDetailsEmail);
                }
            }
            else
            {
                logMessage("Error Message: \"{0}\"", response.returnStatus.message);
            }

            logMessage("Exiting {0} with {1}", methodName, returnValue == null ? "\"null\"" :
                       "User object (UID \"" + returnValue.uid + "\")");
            return(returnValue);
        }
Example #34
0
 public async Task <GetUsersResponse> GetUsers(GetUsersRequest request)
 {
     return(await PostAsync <GetUsersRequest, GetUsersResponse>(
                request,
                CreateUri(HydraServices.UserService4, HydraMethods.GetUsers)));
 }