private Revision GetRevision(string alias, FileSystemInfo fileInfo = null, Stream packageStream = null) { var r = new Revision(); r.Name = alias; if (fileInfo != null) { r.LastModified = fileInfo.LastWriteTime; } using (var archive = fileInfo == null ? Package.Open(packageStream) : Package.Open(fileInfo.FullName, FileMode.Open, FileAccess.Read, FileShare.Read)) { foreach (var packagePart in archive.GetParts().Where(e => e.Uri.ToString().TrimStart('/').StartsWith(Umbraco.Courier.Core.Settings.RevisionFolderName.Trim()))) { var path = Uri.UnescapeDataString(packagePart.Uri.ToString()).Replace("/", "\\").TrimStart('\\'); var item = new RevisionItem { FilePath = path }; var bytes = GetBytes(packagePart); ItemIdentifier id = null; var name = ""; Core.Serialization.Serializer.GetIdentifier(bytes, ref id, ref name); item.Name = name; item.ItemId = id; item.FileContent = bytes; item.InternalFile = false; r.RevisionCollection.Add(path, item); } foreach (var packagePart in archive.GetParts().Where(e => e.Uri.ToString().TrimStart('/').StartsWith(Umbraco.Courier.Core.Settings.ResourcesFolderName.Trim()))) { var path = Uri.UnescapeDataString(packagePart.Uri.ToString()).Replace("/", "\\").TrimStart('\\'); var item = new ResourceItem { FilePath = path }; item.FileContent = GetBytes(packagePart); item.Name = path; r.ResourceCollection.Add(item.Name, item); } foreach (var packagePart in archive.GetParts().Where(e => e.Uri.ToString().TrimStart('/').StartsWith(Umbraco.Courier.Core.Settings.VirtualResourcesFolderName.Trim()))) { var path = Uri.UnescapeDataString(packagePart.Uri.ToString()).Replace("/", "\\").TrimStart('\\'); var item = new ResourceItem { FilePath = path }; item.FileContent = GetBytes(packagePart); item.Virtual = true; item.Name = path; r.ResourceCollection.Add(item.Name, item); } } return(r); }
private void RunSourceEnrichers(Revision wi, RevisionItem wid) { Log.LogDebug("TfsWorkItemEndPoint::RunSourceEnrichers::{SourceEnrichersCount}", SourceEnrichers.Count()); foreach (IWorkItemEndpointSourceEnricher enricher in SourceEnrichers) { enricher.EnrichWorkItemData(this, wi, wid); // HELP:: is this Right } }
public void RevisionItem(XlfEventArgs args) { if (!args.IsEndElement) { object parent = stack.Peek(); switch (parent) { case Revision r: RevisionItem ri = mapper.Map <RevisionItem>(args); r.Item = ri; break; } } }
private void PopulateRevisions(WorkItem wi, WorkItemData wid) { wid.Revisions = new List <RevisionItem>(); foreach (Revision revision in wi.Revisions) { RevisionItem revi = new RevisionItem { Number = revision.Index, Index = revision.Index }; RunSourceEnrichers(revision, revi); wid.Revisions.Add(revi); } }
public abstract void EnrichWorkItemData(IEndpoint endpoint, object dataSource, RevisionItem dataTarget);
private void WorkItemTypeChange(WorkItemData targetWorkItem, bool skipToFinalRevisedWorkItemType, string finalDestType, RevisionItem revision, WorkItemData currentRevisionWorkItem, string destType) { //If the work item already exists and its type has changed, update its type. Done this way because there doesn't appear to be a way to do this through the store. if (!skipToFinalRevisedWorkItemType && targetWorkItem.Type != finalDestType) { Debug.WriteLine($"Work Item type change! '{targetWorkItem.Title}': From {targetWorkItem.Type} to {destType}"); var typePatch = new JsonPatchOperation() { Operation = Microsoft.VisualStudio.Services.WebApi.Patch.Operation.Add, Path = "/fields/System.WorkItemType", Value = destType }; var datePatch = new JsonPatchOperation() { Operation = Microsoft.VisualStudio.Services.WebApi.Patch.Operation.Add, Path = "/fields/System.ChangedDate", Value = currentRevisionWorkItem.ToWorkItem().Revisions[revision.Index].Fields["System.ChangedDate"].Value }; var patchDoc = new JsonPatchDocument { typePatch, datePatch }; _witClient.UpdateWorkItemAsync(patchDoc, int.Parse(targetWorkItem.Id), bypassRules: true).Wait(); } }
/// <remarks/> public System.IAsyncResult BeginCommitRevisionitem(string revision, RevisionItem revisionItem, string username, string password, System.AsyncCallback callback, object asyncState) { return this.BeginInvoke("CommitRevisionitem", new object[] { revision, revisionItem, username, password}, callback, asyncState); }
/// <remarks/> public void CommitRevisionitemAsync(string revision, RevisionItem revisionItem, string username, string password, object userState) { if ((this.CommitRevisionitemOperationCompleted == null)) { this.CommitRevisionitemOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCommitRevisionitemOperationCompleted); } this.InvokeAsync("CommitRevisionitem", new object[] { revision, revisionItem, username, password}, this.CommitRevisionitemOperationCompleted, userState); }
/// <remarks/> public void CommitRevisionitemAsync(string revision, RevisionItem revisionItem, string username, string password) { this.CommitRevisionitemAsync(revision, revisionItem, username, password, null); }
public string CommitRevisionitem(string revision, RevisionItem revisionItem, string username, string password) { object[] results = this.Invoke("CommitRevisionitem", new object[] { revision, revisionItem, username, password}); return ((string)(results[0])); }
public override void EnrichWorkItemData(IEndpoint endpoint, object dataSource, RevisionItem dataTarget) { throw new NotImplementedException(); }
private Revision GetRevision(string alias, FileSystemInfo fileInfo = null, Stream packageStream = null) { var r = new Revision(); r.Name = alias; if (fileInfo != null) r.LastModified = fileInfo.LastWriteTime; using (var archive = fileInfo == null ? Package.Open(packageStream) : Package.Open(fileInfo.FullName, FileMode.Open, FileAccess.Read, FileShare.Read)) { foreach (var packagePart in archive.GetParts().Where(e => e.Uri.ToString().TrimStart('/').StartsWith(Umbraco.Courier.Core.Settings.RevisionFolderName.Trim()))) { var path = Uri.UnescapeDataString(packagePart.Uri.ToString()).Replace("/","\\").TrimStart('\\'); var item = new RevisionItem { FilePath = path }; var bytes = GetBytes(packagePart); ItemIdentifier id = null; var name = ""; Core.Serialization.Serializer.GetIdentifier(bytes, ref id, ref name); item.Name = name; item.ItemId = id; item.FileContent = bytes; item.InternalFile = false; r.RevisionCollection.Add(path, item); } foreach (var packagePart in archive.GetParts().Where(e => e.Uri.ToString().TrimStart('/').StartsWith(Umbraco.Courier.Core.Settings.ResourcesFolderName.Trim()))) { var path = Uri.UnescapeDataString(packagePart.Uri.ToString()).Replace("/", "\\").TrimStart('\\'); var item = new ResourceItem { FilePath = path }; item.FileContent = GetBytes(packagePart); item.Name = path; r.ResourceCollection.Add(item.Name, item); } foreach (var packagePart in archive.GetParts().Where(e => e.Uri.ToString().TrimStart('/').StartsWith(Umbraco.Courier.Core.Settings.VirtualResourcesFolderName.Trim()))) { var path = Uri.UnescapeDataString(packagePart.Uri.ToString()).Replace("/", "\\").TrimStart('\\'); var item = new ResourceItem { FilePath = path }; item.FileContent = GetBytes(packagePart); item.Virtual = true; item.Name = path; r.ResourceCollection.Add(item.Name, item); } } return r; }