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