コード例 #1
0
        /// <summary>
        /// Gets the users.
        /// </summary>
        /// <returns></returns>
        public async Task <APIResponse> GetUserProfiles(UserProfileParameters profileParameters)
        {
            try
            {
                var client = httpClientFactory.CreateClient(IdentityServiceOperation.serviceName);

                UriBuilder url = new UriBuilder(servicesConfig.Vendor + IdentityServiceOperation.GetUsers());
                url.Query = QueryStringHelper.ConvertToQueryString(profileParameters);

                var response = await client.GetAsync(url.ToString());

                if (response.IsSuccessStatusCode)
                {
                    var profiles = JsonConvert.DeserializeObject <List <ProfileResponse> >(await response.Content.ReadAsStringAsync());
                    return(new APIResponse(profiles, HttpStatusCode.OK));
                }

                return(new APIResponse(response.StatusCode));
            }
            catch (Exception ex)
            {
                logger.Error(ex, "Exception in method 'GetUsers()'");
                var exMessage = ex.InnerException != null ? ex.InnerException.Message : ex.Message;
                return(new APIResponse(exMessage, HttpStatusCode.InternalServerError));
            }
        }
コード例 #2
0
        public void NavigateToUserProfile(EntryViewModel from, UserProfileParameters parameters)
        {
            var controller = GetViewController <RootNavigationViewController, EntryViewModel>(from);

            controller
            .GetNavigationController()
            .PushViewController(new UserProfileViewController(parameters), animated: false);
        }
コード例 #3
0
        public void NavigateToUserProfile(EntryViewModel from, UserProfileParameters parameters)
        {
            var splashScreenActivity = GetActivity <SplashScreenActivity, EntryViewModel>(from);

            var intent = new Intent(splashScreenActivity, typeof(UserProfileActivity));

            intent.AddFlags(ActivityFlags.ClearTask | ActivityFlags.ClearTop | ActivityFlags.NewTask);
            intent.PutParameters(parameters);

            splashScreenActivity.StartActivity(intent);
        }
コード例 #4
0
        public async Task <IActionResult> GetProfiles([FromQuery] UserProfileParameters profileParameters)
        {
            var getAllUserProfilesQuery = new GetAllUserProfilesQuery(profileParameters);
            var result = await mediator.Send(getAllUserProfilesQuery);

            if (result.Code == HttpStatusCode.OK)
            {
                Response.Headers.Add("X-Pagination", PagedList <Entity> .ToJson(result.Value as PagedList <Entity>));
            }

            return(StatusCode((int)result.Code, result.Value));
        }
コード例 #5
0
        public void NavigateToUserProfile(ILifecycleViewModel from, UserProfileParameters parameters)
        {
            var view   = NavigationViewProvider.Get(from);
            var target = new UserProfileViewController();

            Navigate(view, target, parameters, false);

            /* Here's what is done by Navigate() above:
             *
             * target.SetParameters(parameters);
             * view.GetNavigationController().PushViewController(target, false);
             *
             */
        }
コード例 #6
0
        public void NavigateToUserProfile(ILifecycleViewModel from, UserProfileParameters parameters)
        {
            var view = NavigationViewProvider.Get(from);

            Navigate <UserProfileActivity, UserProfileParameters>(view, parameters);

            /* Here's what is approximately done by Navigate() above:
             *
             * var source = view.GetActivity();
             * var intent = new Intent(source, typeof(UserProfileActivity));
             * intent.PutParameters(parameters);
             * source.StartActivity(intent);
             *
             */
        }
コード例 #7
0
        /// <summary>
        /// Gets all Profiless.
        /// </summary>
        /// <param name="profileParameters">The Profile parameters.</param>
        /// <returns></returns>
        public async Task <PagedList <Entity> > GetAllUserProfiles(UserProfileParameters profileParameters)
        {
            var profiles = FindByCondition(x => x.Active == Convert.ToInt16(true));

            var filteredProfiles = FilterUserProfiles(profiles, profileParameters.UserId, profileParameters.SearchKeyword)
                                   .Include(ac => ac.Profilepermission)
                                   .Include(cd => cd.Companydistricts)
                                   .ProjectTo <ProfileResponse>(mapper.ConfigurationProvider);

            var sortedProfiles = sortHelper.ApplySort(filteredProfiles, profileParameters.OrderBy);

            var pagedProfiles = sortedProfiles
                                .Skip((profileParameters.PageNumber - 1) * profileParameters.PageSize)
                                .Take(profileParameters.PageSize);

            var mappedProfiles = pagedProfiles;

            var shapedProfiles = dataShaper.ShapeData(mappedProfiles, profileParameters.Fields);

            return(await PagedList <Entity>
                   .ToPagedList(shapedProfiles, profileParameters.PageNumber, profileParameters.PageSize));
        }
コード例 #8
0
        public async Task <IActionResult> GetUserProfiles([FromQuery] UserProfileParameters profileParameters)
        {
            var result = await userService.GetUserProfiles(profileParameters);

            return(StatusCode((int)result.Code, result.Value));
        }
コード例 #9
0
 /// <summary>
 /// Initializes a new instance of the <see cref="GetAllUserProfilesQuery"/> class.
 /// </summary>
 /// <param name="profileParameters">The Profile parameters.</param>
 public GetAllUserProfilesQuery(UserProfileParameters profileParameters)
 {
     ProfileParameters = profileParameters;
 }