private static SimpleDataSet ToSimpleDataSet(GithubPullRequestModel pullRequest, IEnumerable <SearchResult> contributors, string indexType) { var simpleDataSet = new SimpleDataSet { RowData = new Dictionary <string, string>(), NodeDefinition = new IndexedNode { NodeId = pullRequest.Id, Type = indexType } }; simpleDataSet.RowData.Add("repository", pullRequest.Repository); simpleDataSet.RowData.Add("state", pullRequest.State); simpleDataSet.RowData.Add("title", pullRequest.Title); simpleDataSet.RowData.Add("createdAt", pullRequest.CreatedAt?.ToString("yyyy-MM-dd HH:mm:ss") ?? string.Empty); simpleDataSet.RowData.Add("updatedAt", pullRequest.UpdatedAt?.ToString("yyyy-MM-dd HH:mm:ss") ?? string.Empty); simpleDataSet.RowData.Add("closedAt", pullRequest.ClosedAt?.ToString("yyyy-MM-dd HH:mm:ss") ?? string.Empty); simpleDataSet.RowData.Add("mergedAt", pullRequest.MergedAt?.ToString("yyyy-MM-dd HH:mm:ss") ?? string.Empty); simpleDataSet.RowData.Add("userId", pullRequest.User.Id.ToString()); simpleDataSet.RowData.Add("userLogin", pullRequest.User.Login); var contributor = contributors.FirstOrDefault(x => string.Equals(x.Fields["github"], pullRequest.User.Login, StringComparison.InvariantCultureIgnoreCase)); if (contributor != null) { simpleDataSet.RowData.Add("memberId", contributor.Id.ToString()); } return(simpleDataSet); }
public void UpdateIndex(GithubPullRequestModel pullRequest, IEnumerable <SearchResult> contributors) { var simpleDataSet = ToSimpleDataSet(pullRequest, contributors, IndexType); var examineNode = simpleDataSet.RowData.ToExamineXml(pullRequest.Id, IndexType); ExamineManager.Instance.IndexProviderCollection["PullRequestIndexer"].ReIndexNode(examineNode, IndexType); }
private GithubPullRequestModel GetPullRequest(OurUmbraco.Community.Models.Repository repository, string pullRequestNumber) { GithubPullRequestModel prModel = null; var store = repository.IssuesStorageDirectory() + "/pulls/"; var issueFile = store + pullRequestNumber + ".pull.combined.json"; var issueFilePath = HostingEnvironment.MapPath(issueFile); if (File.Exists(issueFilePath)) { var content = File.ReadAllText(issueFilePath); prModel = JsonConvert.DeserializeObject <GithubPullRequestModel>(content); } return(prModel); }