public GetSyncOptions ( NGitLab.Models.MergeRequest mergeRequest ) : |
||
mergeRequest | NGitLab.Models.MergeRequest | |
리턴 |
public MergeRequestSyncAction GetSyncOptions(MergeRequest mergeRequest)
{
var comments = gitLabWrapper.GetComments(mergeRequest);
var mergeRequestSyncOptions = comments.Where(x => IsXml(x.Note)).Where(x => {
var mr = MergeRequestOptions.ConvertFromString(x.Note);
return mr?.ActionType == MergeRequestActionType.sync;
}).Select(x => (MergeRequestSyncAction)MergeRequestOptions.ConvertFromString(x.Note).Action).LastOrDefault();
return mergeRequestSyncOptions;
}
void RefreshSelectedBranch() { Branch = Repositories?.SelectedBranch; var mergeRequest = Branch?.MergeRequest; if (mergeRequest == null) { comment = null; assignedToService = false; performTesting = false; IsModified = false; } else { if (Branch.SupportsTesting) { var syncOptions = Branch.GetSyncOptions(mergeRequest.MergeRequest); performTesting = syncOptions?.PerformTesting ?? false; assignedToService = (syncOptions?.AssignToSyncService ?? false) && IsTestUser(mergeRequest.Assignee); } else { assignedToService = mergeRequest.Assignee == Branch.SyncServiceName; performTesting = false; } comment = mergeRequest.Title; IsModified = false; } SupportsTesting = Branch?.SupportsTesting ?? false; RaisePropertyChanged(null); }