public static GitHubStats MappToStats(GitHubProfile profile, IEnumerable <GitHubRepos> repos) { GitHubStats result = new GitHubStats(); if (profile != null) { result.name = profile.login; result.url_git = profile.url; result.number_repositories = profile.public_repos; result.location = profile.location; result.created_at = profile.created_at; result.updated_at = profile.updated_at; } if (repos.Count() > 0) { foreach (var repo in repos) { GitHubRepoStats repoStat = new GitHubRepoStats(); repoStat.name = repo.name; repoStat.url_repository = repo.html_url; repoStat.created_at = repo.created_at; repoStat.updated_at = repo.updated_at; result.repos.Add(repoStat); } } return(result); }
public void Email() { var item = new GitHubProfile(); var data = StringHelper.ValidString(); item.Email = data; Assert.AreEqual <string>(data, item.Email); }
public void Login() { var item = new GitHubProfile(); var data = StringHelper.ValidString(); item.Login = data; Assert.AreEqual <string>(data, item.Login); }
public void Id() { var random = new Random(); var item = new GitHubProfile(); var data = random.Next(); item.Id = data; Assert.AreEqual <int>(data, item.Id); }
public IActionResult Search(String userName) { List <GitHubRepo> repoList = new List <GitHubRepo>(); GitHubRepo repo = null; try { if (string.IsNullOrEmpty(userName)) { throw new InvalidOperationException("EmptyInput"); } GitHubRequestHandler handler = new GitHubRequestHandler(); if (!string.IsNullOrWhiteSpace(userName)) { String url = "https://api.github.com/users/" + userName + "/repos"; var releases = handler.GetReleases(url); //List out the retreived releases foreach (JObject release in releases.Children()) { Console.WriteLine("name: {0}", release.GetValue("name")); Console.WriteLine("fullname: {0}", release.GetValue("full_name")); Console.WriteLine(); repo = JsonConvert.DeserializeObject <GitHubRepo>(release.ToString(Newtonsoft.Json.Formatting.None)); repo.git_url = repo.git_url.Substring(6, repo.git_url.Length - 6); repoList.Add(repo); } GitHubProfile profile = handler.GetReleases1("https://api.github.com/users/" + userName); Console.WriteLine("login: {0}", profile.login); Console.WriteLine("name: {0}", profile.name); ViewData["accountName"] = profile.login; ViewData["date"] = DateTime.Parse(profile.updated_at).ToString(); ViewData["followers"] = profile.followers; ViewData["following"] = profile.following; return(View(repoList)); } else { Index(); } }catch (Exception e) {} return(View("404")); }
public async Task <IActionResult> GetProfile() { GitHubProfile result = new GitHubProfile(); try { result = await _gitHubService.GetProfile(); return(Ok(result)); } catch (Exception ex) { throw new Utils.HttpStatusCodeException(HttpStatusCode.InternalServerError, ex.ToString()); } }
private bool Login(GitHubProfile profile) { var newUser = false; var register = new RegisterModel() { Email = profile.Email, NameIdentifier = string.Format("github{0}", profile.Id), UserName = profile.Name, }; var source = new DomainSource(); UserData user = null; if (!string.IsNullOrWhiteSpace(register.NameIdentifier) && null != (user = source.GetUserByNameIdentifier(Application.Default.Identifier, register.NameIdentifier))) { user.LastLoggedInOn = DateTime.UtcNow; user.LastActivityOn = DateTime.UtcNow; source.Update(user); } else if (!string.IsNullOrWhiteSpace(register.Email) && null != (user = source.GetUserByEmail(Application.Default.Identifier, register.Email))) { user.LastLoggedInOn = DateTime.UtcNow; user.LastActivityOn = DateTime.UtcNow; user.NameIdentifier = register.NameIdentifier; source.Update(user); } else { var provider = new TableMembershipProvider(); MembershipCreateStatus status; provider.CreateUser(register.UserName, Guid.NewGuid().ToString(), register.Email, null, null, true, register.NameIdentifier, out status); if (status == MembershipCreateStatus.Success) { log.Log("New user signed up."); newUser = true; } else { log.Log(string.Format("New user failed to signed up; status: '{0}'", status)); } } FormsAuthentication.SetAuthCookie(register.Email, true); return(newUser); }
public async Task <GitHubProfile> GetProfile() { GitHubProfile result = new GitHubProfile(); var uri = _config["GitHub:GithubProfileUri"]; try { var response = await _httpClient.GetAsync(uri, HttpCompletionOption.ResponseHeadersRead); response.EnsureSuccessStatusCode(); var data = await response.Content.ReadAsStringAsync(); result = JsonConvert.DeserializeObject <GitHubProfile>(data); } catch (Exception ex) { throw new HttpStatusCodeException(HttpStatusCode.InternalServerError, ex.ToString()); } return(result); }