示例#1
0
 protected virtual void MultiDelete()
 {
     foreach (KeyValuePair <string, IOperationAgent> operationAgent in OperationAgents)
     {
         IOperationAgent agent = operationAgent.Value;
         while (agent.MoreAvaliable)
         {
             IRecordsOperationWorker worker = OperationWorkers[operationAgent.Key];
             IEnumerable <Guid>      items  = agent.GetNextItems();
             if (items != null)
             {
                 worker.ApplyOperations(items);
             }
         }
     }
 }
示例#2
0
        private void PreparedRecordIds()
        {
            var items     = new List <Guid>();
            var recordIds = new List <Guid>();

            if (Parameters.ContainsKey("IsDeleteAll"))
            {
                IDictionary <string, object> parametersDelete = GetReplaceParameter("IsRoot", true, Parameters);
                IOperationAgent agent = GetOperationAgentInstance(parametersDelete);
                do
                {
                    recordIds.AddRange(items);
                    items = (List <Guid>)agent.GetNextItems();
                } while (items != null);
                Parameters["RecordIds"] = recordIds;
                Parameters.Remove("PreviousOperationKey");
            }
        }