crm2011ExecuteMultipleRequest的事例

来源:互联网 发布:thunder for mac 编辑:程序博客网 时间:2024/04/29 14:02

    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();
        }
    }

0 0
原创粉丝点击