internal CheckInResult CheckIn(Workspace workspace, List <PendingChange> changes, string comment, Dictionary <int, WorkItemCheckinAction> workItems) { var invoker = new SoapInvoker(this); var msg = invoker.CreateEnvelope("CheckIn"); msg.Add(new XElement(MessageNs + "workspaceName", workspace.Name)); msg.Add(new XElement(MessageNs + "ownerName", workspace.OwnerName)); msg.Add(new XElement(MessageNs + "serverItems", changes.Select(x => x.ServerItem).Distinct().Select(s => new XElement(MessageNs + "string", s)))); msg.Add(new XElement(MessageNs + "info", new XAttribute("date", new DateTime(0).ToString("s")), new XAttribute("cset", 0), new XAttribute("owner", workspace.OwnerName), new XElement(MessageNs + "Comment", comment), new XElement(MessageNs + "CheckinNote", string.Empty), new XElement(MessageNs + "PolicyOverride", string.Empty))); if (workItems != null && workItems.Count > 0) { msg.Add(new XElement(MessageNs + "checkinNotificationInfo", new XElement(MessageNs + "WorkItemInfo", workItems.Select(wi => new XElement(MessageNs + "CheckinNotificationWorkItemInfo", new XElement(MessageNs + "Id", wi.Key), new XElement(MessageNs + "CheckinAction", wi.Value)))))); } var response = invoker.InvokeResponse(); var resultElement = invoker.MethodResultExtractor(response); var result = CheckInResult.FromXml(resultElement); result.Failures = FailuresExtractor(response); return(result); }
// <PendChanges xmlns="http://schemas.microsoft.com/TeamFoundation/2005/06/VersionControl/ClientServices/03"> // <workspaceName>string</workspaceName> // <ownerName>string</ownerName> // <changes> // <ChangeRequest req="None or Add or Branch or Encoding or Edit or Delete or Lock or Rename or Undelete or Property" did="int" enc="int" type="Any or Folder or File" lock="None or Checkin or CheckOut or Unchanged" target="string" targettype="Any or Folder or File"> // <item item="string" recurse="None or OneLevel or Full" did="int" /> // <vspec /> // <Properties> // <PropertyValue xsi:nil="true" /> // <PropertyValue xsi:nil="true" /> // </Properties> // </ChangeRequest> // <ChangeRequest req="None or Add or Branch or Encoding or Edit or Delete or Lock or Rename or Undelete or Property" did="int" enc="int" type="Any or Folder or File" lock="None or Checkin or CheckOut or Unchanged" target="string" targettype="Any or Folder or File"> // <item item="string" recurse="None or OneLevel or Full" did="int" /> // <vspec /> // <Properties> // <PropertyValue xsi:nil="true" /> // <PropertyValue xsi:nil="true" /> // </Properties> // </ChangeRequest> // </changes> // <pendChangesOptions>int</pendChangesOptions> // <supportedFeatures>int</supportedFeatures> // </PendChanges> // <PendChangesResult> // <GetOperation type="Any or Folder or File" itemid="int" slocal="string" tlocal="string" titem="string" sitem="string" sver="int" vrevto="int" lver="int" did="int" chgEx="int" chg="None or Add or Edit or Encoding or Rename or Delete or Undelete or Branch or Merge or Lock or Rollback or SourceRename or Property" lock="None or Checkin or CheckOut or Unchanged" il="boolean" pcid="int" cnflct="boolean" cnflctchg="None or Add or Edit or Encoding or Rename or Delete or Undelete or Branch or Merge or Lock or Rollback or SourceRename or Property" cnflctchgEx="int" cnflctitemid="int" nmscnflct="unsignedByte" durl="string" enc="int" vsd="dateTime"> // <HashValue>base64Binary</HashValue> // <Properties> // <PropertyValue xsi:nil="true" /> // <PropertyValue xsi:nil="true" /> // </Properties> // <PropertyValues> // <PropertyValue xsi:nil="true" /> // <PropertyValue xsi:nil="true" /> // </PropertyValues> // </GetOperation> // <GetOperation type="Any or Folder or File" itemid="int" slocal="string" tlocal="string" titem="string" sitem="string" sver="int" vrevto="int" lver="int" did="int" chgEx="int" chg="None or Add or Edit or Encoding or Rename or Delete or Undelete or Branch or Merge or Lock or Rollback or SourceRename or Property" lock="None or Checkin or CheckOut or Unchanged" il="boolean" pcid="int" cnflct="boolean" cnflctchg="None or Add or Edit or Encoding or Rename or Delete or Undelete or Branch or Merge or Lock or Rollback or SourceRename or Property" cnflctchgEx="int" cnflctitemid="int" nmscnflct="unsignedByte" durl="string" enc="int" vsd="dateTime"> // <HashValue>base64Binary</HashValue> // <Properties> // <PropertyValue xsi:nil="true" /> // <PropertyValue xsi:nil="true" /> // </Properties> // <PropertyValues> // <PropertyValue xsi:nil="true" /> // <PropertyValue xsi:nil="true" /> // </PropertyValues> // </GetOperation> // </PendChangesResult> internal List <GetOperation> PendChanges(Workspace workspace, List <ChangeRequest> changeRequest, out List <Failure> failures) { var invoker = new SoapInvoker(this); var msg = invoker.CreateEnvelope("PendChanges"); msg.Add(new XElement(MessageNs + "workspaceName", workspace.Name)); msg.Add(new XElement(MessageNs + "ownerName", workspace.OwnerName)); msg.Add(new XElement(MessageNs + "changes", changeRequest.Select(x => x.ToXml(MessageNs)))); var response = invoker.InvokeResponse(); failures = FailuresExtractor(response); var result = invoker.MethodResultExtractor(response); return(result.Elements(MessageNs + "GetOperation").Select(GetOperation.FromXml).ToList()); }
internal ResolveResult Resolve(Conflict conflict, ResolutionType resolutionType) { var invoker = new SoapInvoker(this); var msg = invoker.CreateEnvelope("Resolve"); msg.Add(new XElement(MessageNs + "workspaceName", conflict.Workspace.Name)); msg.Add(new XElement(MessageNs + "ownerName", conflict.Workspace.OwnerName)); msg.Add(new XElement(MessageNs + "conflictId", conflict.ConflictId)); msg.Add(new XElement(MessageNs + "resolution", resolutionType)); var response = invoker.InvokeResponse(); ResolveResult result = new ResolveResult(); result.GetOperations = GetOperationExtractor(invoker.MethodResultExtractor(response)); result.UndoOperations = GetOperationExtractor(response.Element(MessageNs + "undoOperations")); result.ResolvedConflicts = ConflictExtractor(response.Element(MessageNs + "resolvedConflicts"), conflict.Workspace); return(result); }
internal ResolveResult Resolve(Conflict conflict, ResolutionType resolutionType) { var invoker = new SoapInvoker(this); var msg = invoker.CreateEnvelope("Resolve"); msg.Add(new XElement(MessageNs + "workspaceName", conflict.Workspace.Name)); msg.Add(new XElement(MessageNs + "ownerName", conflict.Workspace.OwnerName)); msg.Add(new XElement(MessageNs + "conflictId", conflict.ConflictId)); msg.Add(new XElement(MessageNs + "resolution", resolutionType)); var response = invoker.InvokeResponse(); ResolveResult result = new ResolveResult(); result.GetOperations = GetOperationExtractor(invoker.MethodResultExtractor(response)); result.UndoOperations = GetOperationExtractor(response.Element(MessageNs + "undoOperations")); result.ResolvedConflicts = ConflictExtractor(response.Element(MessageNs + "resolvedConflicts"), conflict.Workspace); return result; }
internal CheckInResult CheckIn(Workspace workspace, List<PendingChange> changes, string comment, Dictionary<int, WorkItemCheckinAction> workItems) { var invoker = new SoapInvoker(this); var msg = invoker.CreateEnvelope("CheckIn"); msg.Add(new XElement(MessageNs + "workspaceName", workspace.Name)); msg.Add(new XElement(MessageNs + "ownerName", workspace.OwnerName)); msg.Add(new XElement(MessageNs + "serverItems", changes.Select(x => x.ServerItem).Distinct().Select(s => new XElement(MessageNs + "string", s)))); msg.Add(new XElement(MessageNs + "info", new XAttribute("date", new DateTime(0).ToString("s")), new XAttribute("cset", 0), new XAttribute("owner", workspace.OwnerName), new XElement(MessageNs + "Comment", comment), new XElement(MessageNs + "CheckinNote", string.Empty), new XElement(MessageNs + "PolicyOverride", string.Empty))); if (workItems != null && workItems.Count > 0) { msg.Add(new XElement(MessageNs + "checkinNotificationInfo", new XElement(MessageNs + "WorkItemInfo", workItems.Select(wi => new XElement(MessageNs + "CheckinNotificationWorkItemInfo", new XElement(MessageNs + "Id", wi.Key), new XElement(MessageNs + "CheckinAction", wi.Value)))))); } var response = invoker.InvokeResponse(); var resultElement = invoker.MethodResultExtractor(response); var result = CheckInResult.FromXml(resultElement); result.Failures = FailuresExtractor(response); return result; }
// <PendChanges xmlns="http://schemas.microsoft.com/TeamFoundation/2005/06/VersionControl/ClientServices/03"> // <workspaceName>string</workspaceName> // <ownerName>string</ownerName> // <changes> // <ChangeRequest req="None or Add or Branch or Encoding or Edit or Delete or Lock or Rename or Undelete or Property" did="int" enc="int" type="Any or Folder or File" lock="None or Checkin or CheckOut or Unchanged" target="string" targettype="Any or Folder or File"> // <item item="string" recurse="None or OneLevel or Full" did="int" /> // <vspec /> // <Properties> // <PropertyValue xsi:nil="true" /> // <PropertyValue xsi:nil="true" /> // </Properties> // </ChangeRequest> // <ChangeRequest req="None or Add or Branch or Encoding or Edit or Delete or Lock or Rename or Undelete or Property" did="int" enc="int" type="Any or Folder or File" lock="None or Checkin or CheckOut or Unchanged" target="string" targettype="Any or Folder or File"> // <item item="string" recurse="None or OneLevel or Full" did="int" /> // <vspec /> // <Properties> // <PropertyValue xsi:nil="true" /> // <PropertyValue xsi:nil="true" /> // </Properties> // </ChangeRequest> // </changes> // <pendChangesOptions>int</pendChangesOptions> // <supportedFeatures>int</supportedFeatures> // </PendChanges> // <PendChangesResult> // <GetOperation type="Any or Folder or File" itemid="int" slocal="string" tlocal="string" titem="string" sitem="string" sver="int" vrevto="int" lver="int" did="int" chgEx="int" chg="None or Add or Edit or Encoding or Rename or Delete or Undelete or Branch or Merge or Lock or Rollback or SourceRename or Property" lock="None or Checkin or CheckOut or Unchanged" il="boolean" pcid="int" cnflct="boolean" cnflctchg="None or Add or Edit or Encoding or Rename or Delete or Undelete or Branch or Merge or Lock or Rollback or SourceRename or Property" cnflctchgEx="int" cnflctitemid="int" nmscnflct="unsignedByte" durl="string" enc="int" vsd="dateTime"> // <HashValue>base64Binary</HashValue> // <Properties> // <PropertyValue xsi:nil="true" /> // <PropertyValue xsi:nil="true" /> // </Properties> // <PropertyValues> // <PropertyValue xsi:nil="true" /> // <PropertyValue xsi:nil="true" /> // </PropertyValues> // </GetOperation> // <GetOperation type="Any or Folder or File" itemid="int" slocal="string" tlocal="string" titem="string" sitem="string" sver="int" vrevto="int" lver="int" did="int" chgEx="int" chg="None or Add or Edit or Encoding or Rename or Delete or Undelete or Branch or Merge or Lock or Rollback or SourceRename or Property" lock="None or Checkin or CheckOut or Unchanged" il="boolean" pcid="int" cnflct="boolean" cnflctchg="None or Add or Edit or Encoding or Rename or Delete or Undelete or Branch or Merge or Lock or Rollback or SourceRename or Property" cnflctchgEx="int" cnflctitemid="int" nmscnflct="unsignedByte" durl="string" enc="int" vsd="dateTime"> // <HashValue>base64Binary</HashValue> // <Properties> // <PropertyValue xsi:nil="true" /> // <PropertyValue xsi:nil="true" /> // </Properties> // <PropertyValues> // <PropertyValue xsi:nil="true" /> // <PropertyValue xsi:nil="true" /> // </PropertyValues> // </GetOperation> // </PendChangesResult> internal List<GetOperation> PendChanges(Workspace workspace, List<ChangeRequest> changeRequest, out List<Failure> failures) { var invoker = new SoapInvoker(this); var msg = invoker.CreateEnvelope("PendChanges"); msg.Add(new XElement(MessageNs + "workspaceName", workspace.Name)); msg.Add(new XElement(MessageNs + "ownerName", workspace.OwnerName)); msg.Add(new XElement(MessageNs + "changes", changeRequest.Select(x => x.ToXml(MessageNs)))); var response = invoker.InvokeResponse(); failures = FailuresExtractor(response); var result = invoker.MethodResultExtractor(response); return result.Elements(MessageNs + "GetOperation").Select(GetOperation.FromXml).ToList(); }