diff --git a/src/lib/Xrm.Oss.UnitOfWork/UpdateContext.2016.cs b/src/lib/Xrm.Oss.UnitOfWork/UpdateContext.2016.cs new file mode 100644 index 0000000..346938f --- /dev/null +++ b/src/lib/Xrm.Oss.UnitOfWork/UpdateContext.2016.cs @@ -0,0 +1,27 @@ +using System; +using Microsoft.Xrm.Sdk; +using Microsoft.Xrm.Sdk.Messages; + +namespace Xrm.Oss.UnitOfWork +{ + public partial class UpdateContext : IDisposable where T : Entity + { + public bool AddToTransaction(ExecuteTransactionRequest transaction) + { + if (transaction.Requests == null) + { + transaction.Requests = new OrganizationRequestCollection(); + } + + var updateRequest = GetUpdateRequest(); + + if (updateRequest == null) + { + return false; + } + + transaction.Requests.Add(updateRequest); + return true; + } + } +} diff --git a/src/lib/Xrm.Oss.UnitOfWork/UpdateContext.cs b/src/lib/Xrm.Oss.UnitOfWork/UpdateContext.cs index 8e22236..4106084 100644 --- a/src/lib/Xrm.Oss.UnitOfWork/UpdateContext.cs +++ b/src/lib/Xrm.Oss.UnitOfWork/UpdateContext.cs @@ -213,6 +213,24 @@ public UpdateRequest GetUpdateRequest() return null; } + public bool AddToExecuteMultiple(ExecuteMultipleRequest executeMultiple) + { + if (executeMultiple.Requests == null) + { + executeMultiple.Requests = new OrganizationRequestCollection(); + } + + var updateRequest = GetUpdateRequest(); + + if (updateRequest == null) + { + return false; + } + + executeMultiple.Requests.Add(updateRequest); + return true; + } + public void Dispose() { Dispose(true);