1: static void runBulkDelete()
2: { 3:
4: CrmAuthenticationToken token = new CrmAuthenticationToken();
5: token.AuthenticationType = 0;
6: token.OrganizationName = "AdventureWorksCycle";
7: CrmService service = new CrmService();
8: service.Url = "http://crmserver/mscrmservices/2007/crmservice.asmx";
9: service.CrmAuthenticationTokenValue = token;
10: service.Credentials = System.Net.CredentialCache.DefaultCredentials;
11: //create a QueryExpression using the helper
12: QueryExpressionHelper expression = new QueryExpressionHelper("asyncoperation"); 13: expression.Columns.AddColumn("asyncoperationid"); 14: expression.Criteria.Conditions.AddCondition("statecode", ConditionOperator.Equal, (int)AsyncOperationState.Completed); 15: expression.Criteria.Conditions.AddCondition("completedon", ConditionOperator.OlderThanXMonths, 1); 16: expression.Criteria.Conditions.AddCondition("operationtype", ConditionOperator.NotEqual, (int)AsyncOperationType.Workflow); 17: Guid[] emptyRecipients = new Guid[0];
18: //Create a BulkDeleteRequest
19: BulkDeleteRequest request = new BulkDeleteRequest();
20: request.JobName = "Bulk delete completed asyncoperations to free up space";
21: request.QuerySet = new QueryBase[] { expression.Query }; 22: request.ToRecipients = emptyRecipients;
23: request.CCRecipients = emptyRecipients;
24: request.SendEmailNotification = false;
25: request.RecurrencePattern = string.Empty;
26: request.StartDateTime = CrmDateTime.Now;
27: BulkDeleteResponse response = (BulkDeleteResponse)service.Execute(request);
28: Console.WriteLine("Bulk delete job with id: {0} has been created", response.JobId); 29: }