コード例 #1
0
    public async Task SearchForGitHub()
    {
        var request = new SearchUsersRequest("github");
        var repos   = await _gitHubClient.Search.SearchUsers(request);

        Assert.NotEmpty(repos.Items);
    }
コード例 #2
0
        private void InitControls()
        {
            DateTime date = DateTime.Now.AddMonths(-1);

            ProjectApplication projApp = new ProjectApplication();

            List <ProjectDetailDTO> list = projApp.GetAllProjects();

            list.BindDropdown <ProjectDetailDTO>(ddlProject, "Title", "ID", "All", "0");

            ddlTickets.Items.Add(new ListItem("All", "0"));

            UserApplication    userApp     = new UserApplication();
            SearchUsersRequest requestUser = new SearchUsersRequest(
                SearchUsersType.All, false, " FirstName ", " ASC ");

            requestUser.IsSunnet = true;
            SearchUserResponse responseuser = userApp.SearchUsers(requestUser);

            ddlUsers.Items.Add(new ListItem("All", "0"));
            foreach (UsersEntity user in responseuser.ResultList)
            {
                ddlUsers.Items.Add(new ListItem(string.Format("{0} {1}", user.FirstName, user.LastName)
                                                , user.ID.ToString()));
            }
        }
コード例 #3
0
        private void BindUsers()
        {
            UserApplication    userApp     = new UserApplication();
            SearchUsersRequest requestUser = new SearchUsersRequest(
                SearchUsersType.All, false, " FirstName ", " ASC ");

            requestUser.IsSunnet = true;
            requestUser.IsActive = true;
            SearchUserResponse responseuser = userApp.SearchUsers(requestUser);

            ddlUsers.Items.Add(new ListItem("All", "0"));
            switch (UserInfo.Role)
            {
            case RolesEnum.ADMIN:
            case RolesEnum.Sales:
            case RolesEnum.PM:
                foreach (UsersEntity user in responseuser.ResultList)
                {
                    ddlUsers.Items.Add(new ListItem(string.Format("{0} {1}", user.FirstName, user.LastName)
                                                    , user.ID.ToString()));
                }
                break;

            case RolesEnum.Leader:
            case RolesEnum.QA:
            case RolesEnum.DEV:
                foreach (UsersEntity user in responseuser.ResultList.FindAll(r => r.Role == RolesEnum.Leader ||
                                                                             r.Role == RolesEnum.QA || r.Role == RolesEnum.DEV))
                {
                    ddlUsers.Items.Add(new ListItem(string.Format("{0} {1}", user.FirstName, user.LastName)
                                                    , user.ID.ToString()));
                }
                break;
            }
        }
コード例 #4
0
        public UserExploreViewModel(ISessionService applicationService)
        {
            Title = "Explore Users";

            Items = InternalItems.CreateDerivedCollection(x =>
                                                          new UserItemViewModel(x.Login, x.AvatarUrl, false, () => {
                var vm = this.CreateViewModel <UserViewModel>();
                vm.Init(x.Login, x);
                NavigateTo(vm);
            }));

            var canSearch = this.WhenAnyValue(x => x.SearchKeyword).Select(x => !string.IsNullOrEmpty(x));

            SearchCommand = ReactiveCommand.CreateAsyncTask(canSearch, async t => {
                try
                {
                    InternalItems.Clear();
                    var request  = new SearchUsersRequest(SearchKeyword);
                    var response = await applicationService.GitHubClient.Search.SearchUsers(request);
                    InternalItems.Reset(response.Items);
                }
                catch (Exception e)
                {
                    var msg = string.Format("Unable to search for {0}. Please try again.", SearchKeyword.Humanize());
                    throw new Exception(msg, e);
                }
            });
        }
コード例 #5
0
        public override void Invoke(AWSCredentials creds, RegionEndpoint region, int maxItems)
        {
            AmazonAlexaForBusinessConfig config = new AmazonAlexaForBusinessConfig();

            config.RegionEndpoint = region;
            ConfigureClient(config);
            AmazonAlexaForBusinessClient client = new AmazonAlexaForBusinessClient(creds, config);

            SearchUsersResponse resp = new SearchUsersResponse();

            do
            {
                SearchUsersRequest req = new SearchUsersRequest
                {
                    NextToken = resp.NextToken
                    ,
                    MaxResults = maxItems
                };

                resp = client.SearchUsers(req);
                CheckError(resp.HttpStatusCode, "200");

                foreach (var obj in resp.Users)
                {
                    AddObject(obj);
                }
            }while (!string.IsNullOrEmpty(resp.NextToken));
        }
コード例 #6
0
        public async Task <List <FEUser> > GetAll(SearchUsersRequest request)
        {
            var allUsers      = appDbContext.Users.Include(user => user.Cars);
            var usersToReturn = allUsers.Select(user => new FEUser
            {
                Id          = user.UserId,
                FullName    = user.FullName,
                PhoneNumber = user.PhoneNumber,
                Email       = user.Email,
                SlackId     = user.SlackId,
                MainOffice  = user.MainOffice,
                RoleId      = user.RoleId,
                CarPlates   = user.Cars.Select(car => car.CarPlate).ToArray()
            });

            if (!string.IsNullOrEmpty(request.FullName))
            {
                usersToReturn = usersToReturn.Where(user => user.FullName == request.FullName);
            }
            if (!string.IsNullOrEmpty(request.PhoneNumber))
            {
                usersToReturn = usersToReturn.Where(user => user.PhoneNumber == request.PhoneNumber);
            }
            if (request.CarPlates != null && request.CarPlates.Length != 0)
            {
                foreach (string plate in request.CarPlates)
                {
                    usersToReturn = usersToReturn.Where(user => user.CarPlates.Contains(plate));
                }
            }

            return(await usersToReturn.ToListAsync());
        }
コード例 #7
0
        private SearchUsersRequest CreateSearchRequest(string text)
        {
            SearchUsersRequest request;

            if (!_searchResultsCache.TryGetValue(text, out request))
            {
                IList <TLUserBase> source;

                if (_lastSearchRequest != null &&
                    text.IndexOf(_lastSearchRequest.Text, StringComparison.OrdinalIgnoreCase) != -1)
                {
                    source = _lastSearchRequest.Source;
                }
                else
                {
                    _source = _source ??
                              CacheService.GetContacts()
                              .Where(x => !(x is TLUserEmpty) && x.Index != StateService.CurrentUserId)
                              .OrderBy(x => x.FullName)
                              .ToList();

                    source = _source;
                }

                request = new SearchUsersRequest(text, source);
            }
            return(request);
        }
コード例 #8
0
        private void InitSearchControls()
        {
            DateTime date = DateTime.Now.AddMonths(-1);
            //txtStartDate.Text = new DateTime(date.Year, date.Month, 1).ToString("MM/dd/yyyy");
            //txtEndDate.Text = new DateTime(date.Year, date.Month, DateTime.DaysInMonth(date.Year, date.Month)).ToString("MM/dd/yyyy");

            ProjectApplication      projApp = new ProjectApplication();
            List <ProjectDetailDTO> listAll = projApp.GetUserProjects(UserInfo);

            listAll.BindDropdown <ProjectDetailDTO>(ddlProject, "Title", "ID", "All", "0");

            UserApplication    userApp     = new UserApplication();
            SearchUsersRequest requestUser = new SearchUsersRequest(
                SearchUsersType.All, false, " FirstName ", " ASC ");

            requestUser.IsSunnet = true;
            SearchUserResponse responseuser = userApp.SearchUsers(requestUser);

            ddlUsers.Items.Add(new ListItem("All", "0"));
            foreach (UsersEntity user in responseuser.ResultList)
            {
                ddlUsers.Items.Add(new ListItem(string.Format("{0} {1}", user.FirstName, user.LastName)
                                                , user.ID.ToString()));
            }
        }
コード例 #9
0
ファイル: SealEdit.aspx.cs プロジェクト: KhaledSMQ/SunNet.PM
        private void BindDropDownData()
        {
            SearchUsersRequest requestUser = new SearchUsersRequest(
                SearchUsersType.All, false, " FirstName ", " ASC ");

            requestUser.IsSunnet = true;
            requestUser.IsActive = true;
            SearchUserResponse responseuser = userApp.SearchUsers(requestUser);

            ddlOwner.DataSource = responseuser.ResultList.FindAll(r => r.Office == "CN");
            ddlOwner.DataBind();

            ddlApprover.DataSource = responseuser.ResultList.FindAll(r => r.Role == RolesEnum.ADMIN);
            ddlApprover.DataBind();
            ListItem liApprover = ddlApprover.Items.FindByValue(Config.SealApprover.ToString());

            if (liApprover == null)
            {
                UsersEntity usersEntity = userApp.GetUser(Config.SealApprover);
                ddlApprover.Items.Insert(0, new ListItem()
                {
                    Value = usersEntity.UserID.ToString(), Text = usersEntity.FirstName
                });
            }
        }
コード例 #10
0
        /// <summary>
        /// 初始化搜索 条件
        /// </summary>
        private void InitSearchControls()
        {
            DateTime                date    = DateTime.Now.AddMonths(-1);
            ProjectApplication      projApp = new ProjectApplication();
            List <ProjectDetailDTO> listAll = projApp.GetAllProjects().Where(c => c.Title == "0_PTO").ToList();

            listAll.BindDropdown <ProjectDetailDTO>(ddlProject, "Title", "ID", "All", "0");

            SearchUsersRequest requestUser = new SearchUsersRequest(
                SearchUsersType.All, false, " FirstName ", " ASC ");

            requestUser.IsSunnet = true;
            var selfid = Convert.ToInt32(ConfigurationManager.AppSettings["PTOVIEWSELF"]);

            if (list.Where(t => t.ModuleID == allid).Count() > 0)
            {
                SearchUserResponse responseuser = userApp.SearchUsers(requestUser);
                ddlUsers.Items.Add(new ListItem("All", "0"));
                foreach (UsersEntity user in responseuser.ResultList)
                {
                    ddlUsers.Items.Add(new ListItem(string.Format("{0} {1}", user.FirstName, user.LastName)
                                                    , user.ID.ToString()));
                }
            }
            else
            {
                ddlUsers.Items.Add(new ListItem(string.Format("{0} {1}", UserInfo.FirstName, UserInfo.LastName)
                                                , UserInfo.ID.ToString()));
            }
        }
コード例 #11
0
        public UserExploreViewModel(IApplicationService applicationService = null)
        {
            applicationService = applicationService ?? Locator.Current.GetService <IApplicationService>();

            var items        = new ReactiveList <Octokit.User>();
            var itemSelected = ReactiveCommand.Create <UserItemViewModel, UserItemViewModel>(x => x);

            Items = items.CreateDerivedCollection(
                x => new UserItemViewModel(x, y => itemSelected.ExecuteNow(y)));

            RepositoryItemSelected = itemSelected;

            var canSearch = this.WhenAnyValue(x => x.SearchText).Select(x => !string.IsNullOrEmpty(x));

            SearchCommand = ReactiveCommand.CreateFromTask(async t => {
                try
                {
                    items.Clear();
                    var request  = new SearchUsersRequest(SearchText);
                    var response = await applicationService.GitHubClient.Search.SearchUsers(request);
                    items.Reset(response.Items);
                }
                catch (Exception e)
                {
                    var msg = string.Format("Unable to search for {0}. Please try again.", SearchText.Humanize());
                    throw new Exception(msg, e);
                }
            }, canSearch);
        }
コード例 #12
0
ファイル: Program.cs プロジェクト: Alambdasystem/GithubWebAPI
        private static async Task UserAllFieldsExample(GitHubClient client)
        {
            var fromDate = new DateTime(2001, 3, 17);

            int fromNumber = 1;
            int toNumber   = 1000;

            string location = "Ontario";

            var request = new SearchUsersRequest("code")
            {
                AccountType  = AccountSearchType.User,
                Created      = new DateRange(fromDate, SearchQualifierOperator.GreaterThan),
                Followers    = new Range(fromNumber, SearchQualifierOperator.GreaterThanOrEqualTo),
                In           = new UserInQualifier[] { UserInQualifier.Username },
                Language     = Language.CSharp,
                Location     = location,
                Order        = SortDirection.Descending,
                Repositories = new Range(fromNumber, toNumber),
                SortField    = UsersSearchSort.Followers
            };

            var result = await client.Search.SearchUsers(request);

            Console.WriteLine($"Search.SearchUsers (All Fields): TotalCount={result.TotalCount}");
        }
コード例 #13
0
        private void InitClientUsers()
        {
            SearchUsersRequest searchUserRequest = new SearchUsersRequest(
                SearchUsersType.Project, false, " FirstName ", " ASC ");

            searchUserRequest.ProjectID = ProjectID;
            SearchUserResponse response = userApp.SearchUsers(searchUserRequest);
            var listUsers = response.ResultList.FindAll(x => x.Role == RolesEnum.CLIENT && x.UserID != UserInfo.UserID);

            var listTicketUsers = ticketApp.GetListUsersByTicketId(TicketID);
            var tmpList         = listUsers.Select(x => new
            {
                x.ID,
                ProjectID = ProjectID,
                x.FirstName,
                x.LastName,
                x.FirstAndLastName,
                x.LastNameAndFirst,
                Writed = hasWaitingStatus && listTicketUsers.Any(r => r.UserID == x.ID) &&
                         listTicketUsers.Find(r => r.UserID == x.ID).TicketStatus == UserTicketStatus.Normal,
                Selected = listTicketUsers.Any(r => r.UserID == x.ID) &&
                           listTicketUsers.Find(r => r.UserID == x.ID).TicketStatus != UserTicketStatus.Normal,
                Update = listTicketUsers.Any(r => r.UserID == x.ID) ? listTicketUsers.Find(r => r.UserID == x.ID).TUID : 0,
                x.Role
            }).ToList();

            rptClient.DataSource = tmpList;
            rptClient.DataBind();

            rptClient2.DataSource = tmpList;
            rptClient2.DataBind();
        }
コード例 #14
0
        public void SortNotSpecifiedByDefault()
        {
            var request = new SearchUsersRequest("shiftkey");

            Assert.True(String.IsNullOrWhiteSpace(request.Sort));
            Assert.False(request.Parameters.ContainsKey("sort"));
        }
コード例 #15
0
        public SearchUserResponse SearchUsers(SearchUsersRequest request)
        {
            this.ClearBrokenRuleMessages();
            SearchUserResponse response = mgr.SearchUsers(request);

            this.AddBrokenRuleMessages(mgr.BrokenRuleMessages);
            return(response);
        }
コード例 #16
0
        public void ReturnsAReadOnlyDictionary()
        {
            var request = new SearchUsersRequest("test");

            var result = request.MergedQualifiers();

            // If I can cast this to a writeable collection, then that defeats the purpose of a read only.
            AssertEx.IsReadOnlyCollection <string>(result);
        }
コード例 #17
0
        private async Task <bool> IsUserExist(GitHubClient gitHubClient, string userName)
        {
            var request = new SearchUsersRequest(userName)
            {
                In = new[] { UserInQualifier.Username },
            };
            var searchResult = await gitHubClient.Search.SearchUsers(request);

            return(searchResult.Items.Any(x => x.Login == userName));
        }
コード例 #18
0
        Task <SearchUsersResult> RequestNext()
        {
            var request =
                new SearchUsersRequest("w")
            {
                Page = Random.Next(0, 10)
            };

            return(GitHubClient.Search.SearchUsers(request));
        }
コード例 #19
0
        public void DefaultConstructor_LeavesSearchPattern_Null()
        {
            //Arrange

            //Act
            var request = new SearchUsersRequest();

            //Assert
            request.Search.Should().BeNull();
        }
コード例 #20
0
 public void TestingTheTermParameter()
 {
     var connection = Substitute.For<IApiConnection>();
     var client = new SearchClient(connection);
     var request = new SearchUsersRequest("github");
     client.SearchUsers(request);
     connection.Received().Get<SearchUsersResult>(
         Arg.Is<Uri>(u => u.ToString() == "search/users"),
         Arg.Is<Dictionary<string, string>>(d => d["q"] == "github"));
 }
コード例 #21
0
 public void TestingTheAccountTypeQualifier_Org()
 {
     var connection = Substitute.For<IApiConnection>();
     var client = new SearchClient(connection);
     var request = new SearchUsersRequest("github");
     request.AccountType = AccountType.Org;
     client.SearchUsers(request);
     connection.Received().Get<SearchUsersResult>(
         Arg.Is<Uri>(u => u.ToString() == "search/users"),
         Arg.Is<Dictionary<string, string>>(d => d["q"] == "github+type:Org"));
 }
コード例 #22
0
        /// <summary>
        /// To search user on using Github API
        /// </summary>
        /// <param name="textToSearch">text to search</param>
        /// <param name="page">current page number</param>
        /// <param name="itemerPage">items per page</param>
        /// <returns></returns>
        public async Task <ResponseVM <SearchUserResponseVM> > SearchUserAsync(string textToSearch, int page = 1, int itemerPage = 10)
        {
            try
            {
                if (string.IsNullOrEmpty(textToSearch))
                {
                    return(new ResponseVM <SearchUserResponseVM>(true, ErrorMessage.REQUIRED_FIELD_ERROR));
                }
                var request = new SearchUsersRequest(textToSearch)
                {
                    Page    = page,
                    PerPage = itemerPage
                };

                var result = await _githubClient.Search.SearchUsers(request);

                var searchResponseVM = new SearchUserResponseVM()
                {
                    SearchString   = textToSearch,
                    CurrentPage    = page,
                    ItemsPerPage   = itemerPage,
                    TotalPageCount = GetTotalPageCount(result.TotalCount, itemerPage),
                    UserList       = result.Items.Select(s => new UserVM()
                    {
                        Id       = s.Id,
                        ImageURL = s.AvatarUrl,
                        Location = s.Location,
                        Login    = s.Login,
                        Name     = s.Name,
                    }).ToList()
                };

                foreach (var user in searchResponseVM.UserList)
                {
                    try
                    {
                        user.RepositoryList = await GetTopRatedRepository(user.Login);
                    }
                    catch (Exception)
                    {
                        throw;
                    }
                }
                return(new ResponseVM <SearchUserResponseVM>(searchResponseVM));
            }
            catch (RateLimitExceededException ex)
            {
                return(new ResponseVM <SearchUserResponseVM>(true, ErrorMessage.RATE_LIMIT_ERROR));
            }
            catch (Exception ex)
            {
                return(new ResponseVM <SearchUserResponseVM>(true, ErrorMessage.COMMON_ERROR));
            }
        }
コード例 #23
0
        private List <UsersEntity> GetAllCompanyUsers()
        {
            int id = QS("id", 0);
            SearchUsersRequest searchUserRequest = new SearchUsersRequest(
                SearchUsersType.CompanyByProject, false, " FirstName ", " ASC ");

            searchUserRequest.ProjectID = id;
            SearchUserResponse response = projApp.GetProjectUsers(searchUserRequest);

            return(response.ResultList);
        }
コード例 #24
0
        public SunNet.PMNew.Entity.UserModel.SearchUserResponse SearchUsers(SearchUsersRequest request)
        {
            mgr.ClearBrokenRuleMessages();
            SearchUserResponse response = mgr.SearchUsers(request);

            if (mgr.BrokenRuleMessages.Count > 0)
            {
                this.BrokenRuleMessages = mgr.BrokenRuleMessages;
            }
            return(response);
        }
コード例 #25
0
 public async Task <ActionResult <IEnumerable <FEUser> > > GetAll([FromQuery] SearchUsersRequest request)
 {
     try
     {
         return(await adminRepository.GetAll(request));
     }
     catch (Exception e)
     {
         return(StatusCode(500, e));
     }
 }
コード例 #26
0
ファイル: CompanyManager.cs プロジェクト: KhaledSMQ/SunNet.PM
        public SearchUserResponse SearchUsers(SearchUsersRequest request)
        {
            this.ClearBrokenRuleMessages();
            SearchUserResponse response = CompanyUserAdapter.SearchUsers(request);

            if (response == null)
            {
                this.AddBrokenRuleMessage();
            }
            return(response);
        }
コード例 #27
0
        public void ParameteredConstructor_SetsSearchPattern()
        {
            //Arrange
            var pattern = fixture.Create <string>();

            //Act
            var request = new SearchUsersRequest(pattern);

            //Assert
            request.Search.Should().Be(pattern);
        }
コード例 #28
0
        private List <UsersEntity> GetAllSunnetUsers()
        {
            int id = QS("id", 0);
            SearchUsersRequest searchUserRequest = new SearchUsersRequest(
                SearchUsersType.All, false, " FirstName ", " ASC ");

            searchUserRequest.IsSunnet = true;

            SearchUserResponse response = projApp.GetProjectUsers(searchUserRequest);

            return(response.ResultList);
        }
コード例 #29
0
 public void TestingTheInQualifier()
 {
     var connection = Substitute.For<IApiConnection>();
     var client = new SearchClient(connection);
     //get users where the fullname contains 'github'
     var request = new SearchUsersRequest("github");
     request.In = new[] { UserInQualifier.Fullname };
     client.SearchUsers(request);
     connection.Received().Get<SearchUsersResult>(
         Arg.Is<Uri>(u => u.ToString() == "search/users"),
         Arg.Is<Dictionary<string, string>>(d => d["q"] == "github+in:Fullname"));
 }
コード例 #30
0
        public ActionResult GetUser(string user_filter)
        {
            var request = new SearchUsersRequest(user_filter);
            var result  = client.Search.SearchUsers(request).Result;

            var request_repo = new SearchRepositoriesRequest("test")
            {
                User = user_filter
            };
            var result_repo = client.Search.SearchRepo(request_repo).Result;

            return(Json(result));
        }
コード例 #31
0
        public async Task <SearchUsersResponse> SearchAsync([FromBody] SearchUsersRequest request)
        {
            var fixture = new Fixture();
            var random  = new Random();

            var ret = new SearchUsersResponse();

            var allUsers = fixture.CreateMany <SearchUsersSingleModel>(random.Next(5, 100));

            ret.Users = allUsers.Take(request.Count).ToList();
            ret.Count = allUsers.Count();

            return(ret);
        }
コード例 #32
0
        private void InitPM()
        {
            SearchUsersRequest searchUsersRequest = new SearchUsersRequest(
                SearchUsersType.Role, false, " FirstName ", " ASC ");

            searchUsersRequest.Role = RolesEnum.PM;

            SearchUserResponse response = projApp.GetProjectUsers(searchUsersRequest);

            foreach (UsersEntity user in response.ResultList)
            {
                ddlPM.Items.Add(new ListItem(string.Format("{0} {1}", user.FirstName, user.LastName), user.UserID.ToString()));
            }
        }
コード例 #33
0
        private bool QueryISClient(string userid)
        {
            SearchUsersRequest searchUserRequest = new SearchUsersRequest(
                SearchUsersType.SingleInstance, false, " FirstName ", " ASC ");

            searchUserRequest.UserID = int.Parse(userid);
            SearchUserResponse response = projApp.GetProjectUsers(searchUserRequest);

            if (response.ResultList != null && response.ResultList.Count > 0)
            {
                return(response.ResultList[0].Role == RolesEnum.CLIENT);
            }
            return(false);
        }
コード例 #34
0
 public void TestingTheFollowersQualifier_Range()
 {
     var connection = Substitute.For<IApiConnection>();
     var client = new SearchClient(connection);
     var request = new SearchUsersRequest("github");
     request.Followers = new Range(1, 1000);
     client.SearchUsers(request);
     connection.Received().Get<SearchUsersResult>(
         Arg.Is<Uri>(u => u.ToString() == "search/users"),
         Arg.Is<Dictionary<string, string>>(d => d["q"] == "github+followers:1..1000"));
 }
コード例 #35
0
 /// <summary>
 /// search users
 /// http://developer.github.com/v3/search/#search-users
 /// </summary>
 /// <param name="search"></param>
 /// <returns>List of users</returns>
 public IObservable<SearchUsersResult> SearchUsers(SearchUsersRequest search)
 {
     Ensure.ArgumentNotNull(search, "search");
     return _client.SearchUsers(search).ToObservable();
 }
コード例 #36
0
 /// <summary>
 /// search users
 /// http://developer.github.com/v3/search/#search-users
 /// </summary>
 /// <param name="search"></param>
 /// <returns>List of users</returns>
 public IObservable<User> SearchUsers(SearchUsersRequest search)
 {
     Ensure.ArgumentNotNull(search, "search");
     return _connection.GetAndFlattenAllPages<User>(ApiUrls.SearchUsers(), search.Parameters);
 }
コード例 #37
0
 public void TestingTheReposQualifier_LessThan()
 {
     var connection = Substitute.For<IApiConnection>();
     var client = new SearchClient(connection);
     var request = new SearchUsersRequest("github");
     request.Repositories = Range.LessThan(5);
     client.SearchUsers(request);
     connection.Received().Get<SearchUsersResult>(
         Arg.Is<Uri>(u => u.ToString() == "search/users"),
         Arg.Is<Dictionary<string, string>>(d => d["q"] == "github+repos:<5"));
 }
コード例 #38
0
 public void TestingTheLocationQualifier()
 {
     var connection = Substitute.For<IApiConnection>();
     var client = new SearchClient(connection);
     var request = new SearchUsersRequest("github");
     request.Location = "San Francisco";
     client.SearchUsers(request);
     connection.Received().Get<SearchUsersResult>(
         Arg.Is<Uri>(u => u.ToString() == "search/users"),
         Arg.Is<Dictionary<string, string>>(d => d["q"] == "github+location:San Francisco"));
 }
コード例 #39
0
 /// <summary>
 /// search users
 /// http://developer.github.com/v3/search/#search-users
 /// </summary>
 /// <param name="request"></param>
 /// <returns>List of users</returns>
 public IObservable<User> SearchUsers(SearchUsersRequest request)
 {
     Ensure.ArgumentNotNull(request, "request");
     return _connection.GetAndFlattenAllPages<User>(ApiUrls.SearchUsers(), request.ToParametersDictionary());
 }
コード例 #40
0
 public void TestingTheLanguageQualifier()
 {
     var connection = Substitute.For<IApiConnection>();
     var client = new SearchClient(connection);
     //get users who have mostly repos where language is Ruby
     var request = new SearchUsersRequest("github");
     request.Language = Language.Ruby;
     client.SearchUsers(request);
     connection.Received().Get<SearchUsersResult>(
         Arg.Is<Uri>(u => u.ToString() == "search/users"),
         Arg.Is<Dictionary<string, string>>(d => d["q"] == "github+language:Ruby"));
 }
コード例 #41
0
 public void TestingTheInQualifier_Email()
 {
     var connection = Substitute.For<IApiConnection>();
     var client = new SearchClient(connection);
     var request = new SearchUsersRequest("github");
     request.In = new[] { UserInQualifier.Email };
     client.SearchUsers(request);
     connection.Received().Get<SearchUsersResult>(
         Arg.Is<Uri>(u => u.ToString() == "search/users"),
         Arg.Is<Dictionary<string, string>>(d => d["q"] == "github+in:Email"));
 }
コード例 #42
0
 public void TestingTheCreatedQualifier_LessThan()
 {
     var connection = Substitute.For<IApiConnection>();
     var client = new SearchClient(connection);
     var request = new SearchUsersRequest("github");
     request.Created = DateRange.LessThan(new DateTime(2014, 1, 1));
     client.SearchUsers(request);
     connection.Received().Get<SearchUsersResult>(
         Arg.Is<Uri>(u => u.ToString() == "search/users"),
         Arg.Is<Dictionary<string, string>>(d => d["q"] == "github+created:<2014-01-01"));
 }
コード例 #43
0
 public void TestingTheFollowersQualifier_LessThanOrEqualTo()
 {
     var connection = Substitute.For<IApiConnection>();
     var client = new SearchClient(connection);
     var request = new SearchUsersRequest("github");
     request.Followers = Range.LessThanOrEquals(1);
     client.SearchUsers(request);
     connection.Received().GetAll<User>(
         Arg.Is<Uri>(u => u.ToString() == "search/users"),
         Arg.Is<Dictionary<string, string>>(d => d["q"] == "github+followers:<=1"));
 }