using System;
using System.Collections;
using Microsoft.Xrm.Sdk;
using Microsoft.Xrm.Sdk.Messages;
public class MultipleRequestDemo : IEnumerable
{
private ExecuteMultipleRequest request = null;
public MultipleRequestDemo()
{
request = new ExecuteMultipleRequest() { };
request.Requests = new OrganizationRequestCollection();
request.Settings = new ExecuteMultipleSettings() { ContinueOnError = false,ReturnResponses = true };
}
public void Add(OrganizationRequest item)
{
request.Requests.Add(item);
}
/// <summary>
/// 添加需要创建的Entity
/// </summary>
public void AddCreate(Entity entity)
{
CreateRequest create = new CreateRequest() { Target = entity };
Add(create);
}
/// <summary>
/// 添加需要修改的Entity
/// </summary>
public void AddUpdate(Entity entity)
{
UpdateRequest update = new UpdateRequest() { Target = entity };
Add(update);
}
/// <summary>
/// 添加需要删除的Entity
/// </summary>
public void AddDelete(EntityReference entityEr)
{
DeleteRequest delete = new DeleteRequest() { Target = entityEr };
Add(delete);
}
/// <summary>
/// 添加需要删除的Entity
/// </summary>
public void AddDelete(Entity entity)
{
EntityReference er = new EntityReference() { LogicalName = entity.LogicalName,Id = entity.Id };
DeleteRequest delete = new DeleteRequest() { Target = er };
Add(delete);
}
public ExecuteMultipleRequest GetExecuteMultipleRequest()
{
return this.request;
}
public IEnumerator GetEnumerator()
{
if (this.request == null) {
return null;
}
return this.request.Requests.GetEnumerator();
}
}