public void ShowCRMVersion() { RetrieveVersionRequest versionRequest = new RetrieveVersionRequest(); RetrieveVersionResponse versionResponse = (RetrieveVersionResponse)CRMOrganizationService.Execute(versionRequest); Logger(String.Format("Microsoft Dynamics CRM version {0}.", versionResponse.Version)); }
public string GetOptionSetValueLabel(string entityName, string fieldName, int optionSetValue) { var attReq = new RetrieveAttributeRequest(); attReq.EntityLogicalName = entityName; attReq.LogicalName = fieldName; attReq.RetrieveAsIfPublished = true; var attResponse = (RetrieveAttributeResponse)CRMOrganizationService.Execute(attReq); var attMetadata = (EnumAttributeMetadata)attResponse.AttributeMetadata; return(attMetadata.OptionSet.Options.Where(x => x.Value == optionSetValue).FirstOrDefault().Label.UserLocalizedLabel.Label); }
public void CreateBulkDeleteJob(string entityName, int executeTimePerday) { var req = new WhoAmIRequest(); var res = (WhoAmIResponse)CRMOrganizationService.Execute(req); Guid guid = res.UserId; var condition = new ConditionExpression("statecode", ConditionOperator.NotNull); var filter = new FilterExpression(); filter.AddCondition(condition); var query = new QueryExpression { EntityName = entityName, Distinct = false, Criteria = filter }; DateTime now = DateTime.Now; DateTime start = new DateTime(now.Year, now.Month, now.Day, now.Hour, 0, 0).AddHours(1); int steps = 24 * 60 / executeTimePerday; for (int i = 0; i < executeTimePerday; i++) { var request = new BulkDeleteRequest { JobName = "Bulk Delete " + entityName + start.ToString(" HH-mm-ss"), QuerySet = new[] { query }, StartDateTime = start, SendEmailNotification = false, RecurrencePattern = "FREQ=DAILY;INTERVAL=1;", ToRecipients = new Guid[] { guid }, CCRecipients = new Guid[] { } }; CRMOrganizationService.Execute(request); start = start.AddMinutes(steps); } }