Ejemplo n.º 1
0
        //public string GetMemberList(Dictionary<string, object> parameters)
        //{
        //    string response = string.Empty;

        //    var member =  _memberRepository.GetMemberList(parameters);

        //    response = this._converter.Serialize(member);

        //    return  response;
        //}

        public MemberListResponse GetMemberList(int pageIndex, int?pageSize)
        {
            var filterSpecification = new MemberWithSkillsSpecifications(statusId: (int)Enums.Status.Active);
            //  var members = _testRepository.GetMemberList(new Dictionary<string, object>());
            var root = _itemRepository.List(filterSpecification);

            var totalItems = root.Count();

            var itemsOnPage = root.Skip(pageSize ?? 0 * pageIndex).TakeIfNotNull(pageSize).OrderBy(x => x.Name).ToList();

            var vm = new MemberListResponse()
            {
                MemberList = itemsOnPage.Select(i => new Member()
                {
                    Id   = i.ResourceId,
                    Name = i.Name,
                    //Skils = i.UserSkillTags.Select(s => new SelectListItem() { Text = s.Skill.Name, Value = (s.SkillId.HasValue ? s.SkillId.ToString() : string.Empty) }).ToList(),
                    SkillsCSV = string.Join(",", i.UserSkillTags.Select(x => x.Skill.Name))
                }),
                PaginationInfo = new Infrastructure.Data.PaginationInfoModel()
                {
                    CurrentPage  = pageIndex,
                    ItemsPerPage = itemsOnPage.Count,
                    TotalItems   = totalItems,
                    TotalPages   = int.Parse(Math.Ceiling(((decimal)totalItems / pageSize ?? 1)).ToString())
                }
            };

            return(vm);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// MemberListAsync lists all the members in the cluster in async
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public async Task <MemberListResponse> MemberListAsync(MemberListRequest request, Grpc.Core.Metadata headers = null)
        {
            MemberListResponse response = new MemberListResponse();
            bool success    = false;
            int  retryCount = 0;

            while (!success)
            {
                try
                {
                    response = await _balancer.GetConnection().clusterClient.MemberListAsync(request, headers);

                    success = true;
                }
                catch (RpcException ex) when(ex.StatusCode == StatusCode.Unavailable)
                {
                    retryCount++;
                    if (retryCount >= _balancer._numNodes)
                    {
                        throw ex;
                    }
                }
            }
            return(response);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// MemberList lists all the members in the cluster
        /// </summary>
        /// <param name="request">The request to send to the server.</param>
        /// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
        /// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
        /// <param name="cancellationToken">An optional token for canceling the call.</param>
        /// <returns>The response received from the server.</returns>
        public MemberListResponse MemberList(MemberListRequest request, Grpc.Core.Metadata headers = null,
                                             DateTime?deadline = null,
                                             CancellationToken cancellationToken = default)
        {
            MemberListResponse response = new MemberListResponse();
            bool success    = false;
            int  retryCount = 0;

            while (!success)
            {
                try
                {
                    response = _balancer.GetConnection().clusterClient
                               .MemberList(request, headers, deadline, cancellationToken);
                    success = true;
                }
                catch (RpcException ex) when(ex.StatusCode == StatusCode.Unavailable)
                {
                    retryCount++;
                    if (retryCount >= _balancer._numNodes)
                    {
                        throw;
                    }
                }
            }

            return(response);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// MemberList lists all the members in the cluster
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public MemberListResponse MemberList(MemberListRequest request, Metadata headers = null)
        {
            MemberListResponse response = new MemberListResponse();

            response = _balancer.GetConnection().clusterClient.MemberList(request, headers);

            return(response);
        }
Ejemplo n.º 5
0
        /// <summary>
        /// MemberListAsync lists all the members in the cluster in async
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public async Task <MemberListResponse> MemberListAsync(MemberListRequest request, Metadata headers = null)
        {
            MemberListResponse response = new MemberListResponse();

            response = await _balancer.GetConnection().clusterClient.MemberListAsync(request, headers);

            return(response);
        }
Ejemplo n.º 6
0
        /**
         * lists the current cluster membership.
         */

        public MemberListResponse ListMember()
        {
            var rsp = clusterClient.MemberList(new Etcdserverpb.MemberListRequest());
            MemberListResponse response = new MemberListResponse(rsp);

            return(response);
            // return Util.ToCompletableFuture(
            //  new Etcdserverpb.MemberListRequest(), new FunctionResponse<Etcdserverpb.MemberListRequest, MemberListResponse>()
            // );
        }
Ejemplo n.º 7
0
        public static Entity.MemberListResponse FromProto(this MemberListResponse response)
        {
            var tmp = new Entity.MemberListResponse()
            {
                Header = response.Header.FromProto(),

                Members = response.Members.FromProto()
            };

            return(tmp);
        }
Ejemplo n.º 8
0
        /// <summary>
        /// MemberListAsync lists all the members in the cluster in async
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public async Task <MemberListResponse> MemberListAsync(MemberListRequest request)
        {
            MemberListResponse response = new MemberListResponse();

            try
            {
                response = await _clusterClient.MemberListAsync(request, _headers);
            }
            catch (RpcException ex)
            {
                ResetConnection(ex);
                throw;
            }
            catch
            {
                throw;
            }
            return(response);
        }
Ejemplo n.º 9
0
        /// <summary>
        /// MemberList lists all the members in the cluster
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public MemberListResponse MemberList(MemberListRequest request)
        {
            MemberListResponse response = new MemberListResponse();

            try
            {
                response = _clusterClient.MemberList(request, _headers);
            }
            catch (RpcException ex)
            {
                ResetConnection(ex);
                throw;
            }
            catch
            {
                throw;
            }
            return(response);
        }
Ejemplo n.º 10
0
        /// <summary>
        /// Gets the list of channel memberships.
        /// </summary>
        /// <param name="maxResults">The maximum results to return</param>
        /// <returns>The list of channel memberships</returns>
        public async Task <IEnumerable <Member> > GetChannelMemberships(int maxResults = 1)
        {
            return(await this.YouTubeServiceWrapper(async() =>
            {
                List <Member> results = new List <Member>();
                string pageToken = null;
                do
                {
                    MembersResource.ListRequest request = this.connection.GoogleYouTubeService.Members.List("id,snippet");
                    request.MaxResults = Math.Min(maxResults, 50);
                    request.PageToken = pageToken;

                    MemberListResponse response = await request.ExecuteAsync();
                    results.AddRange(response.Items);
                    maxResults -= response.Items.Count;
                    pageToken = response.NextPageToken;
                } while (maxResults > 0 && !string.IsNullOrEmpty(pageToken));
                return results;
            }));
        }
Ejemplo n.º 11
0
        //public string GetMemberList(Dictionary<string, object> parameters)
        //{
        //    string response = string.Empty;

        //    var member =  _memberRepository.GetMemberList(parameters);

        //    response = this._converter.Serialize(member);

        //    return  response;
        //}

        public MemberListResponse GetMemberList(int pageIndex, int?pageSize)
        {
            var filterSpecification = new MemberWithSkillsSpecifications(statusId: (int)Enums.Status.Active);
            //  var members = _testRepository.GetMemberList(new Dictionary<string, object>());
            var root = _itemRepository.List(filterSpecification);

            var totalItems = root.Count();

            var itemsOnPage = root.Skip(pageSize ?? 0 * pageIndex).TakeIfNotNull(pageSize).OrderBy(x => x.Name).ToList();

            var vm = new MemberListResponse()
            {
                MemberList = itemsOnPage.Select(i => new Member()
                {
                    Id   = i.ResourceId,
                    Name = i.Name,
                    //Skils = i.UserSkillTags.Select(s => new SelectListItem() { Text = s.Skill.Name, Value = (s.SkillId.HasValue ? s.SkillId.ToString() : string.Empty) }).ToList(),
                    SkillsCSV    = string.Join(",", i.UserSkillTags.Select(x => x.Skill.Name)),
                    EmailAddress = i.EmailAddress,
                    Cost         = i.Cost ?? 0,
                    ResourceType = i.ResourceType == null ? string.Empty : i.ResourceType.Name,
                    Technology   = string.Join(",", i.ResourceTechnologyMap.Select(x => x.Technology.Name)),
                    Designation  = i.Designation
                                   //designation = i.Description
                                   // Technology = i.TechnologyId
                }),
                PaginationInfo = new Entities.Entities.Member.PaginationInfoModel()
                {
                    CurrentPage  = pageIndex,
                    ItemsPerPage = itemsOnPage.Count,
                    TotalItems   = totalItems,
                    TotalPages   = int.Parse(Math.Ceiling(((decimal)totalItems / pageSize ?? 1)).ToString())
                }
            };

            return(vm);
            // return _converter.Serialize(vm);
        }
Ejemplo n.º 12
0
        public async Task <string> ListAllMembersInCluster()
        {
            MemberListRequest request = new MemberListRequest();

            etcdClient.MemberList(request);

            // Sync
            //MemberListResponse res = etcdClient.MemberList(request);

            // Async
            MemberListResponse res = await etcdClient.MemberListAsync(request);

            JsonMemberList = JsonConvert.SerializeObject(res);



            // Do something with response
            //foreach (var member in res.Members)
            //{
            //    WriteLine($"member.ID: {member.ID} - member.Name: {member.Name} - member.PeerURLs :{member.PeerURLs} - member.ClientURLs: { member.ClientURLs}");
            //}

            return(JsonMemberList);
        }