private static IArsOrganizationContext CreateOrganizationContext() { var connection = new CrmConnection("ArsOrg"); var org = new OrganizationService(connection); var xrm = new ArsOrganizationContext(org); return xrm; }
protected override void HandleRequest() { var customerId = Target.CustomerId; if (customerId == null || customerId.LogicalName != Account.EntityLogicalName) { return; } var templateWorkItems = from workItem in ArsOrganizationContext.ars_workitemSet join business in ArsOrganizationContext.AccountSet on workItem.ars_AccountId.Id equals business.AccountId join location in ArsOrganizationContext.AccountSet on business.AccountId equals location.ParentAccountId.Id join workorder in ArsOrganizationContext.IncidentSet on location.AccountId equals workorder.CustomerId.Id where workorder.CustomerId.Id == customerId.Id select new { Name = workItem.ars_name }; var workItemNames = new HashSet <string>(); foreach (var templateWorkItem in templateWorkItems) { workItemNames.Add(templateWorkItem.Name); } foreach (var name in workItemNames) { ArsOrganizationContext.AddObject(new ars_workitem { ars_name = name, ars_WorkOrderId = Target.ToEntityReference() }); } ArsOrganizationContext.SaveChanges(); }
protected override void HandleRequest() { string bingMapsKey = Container.Resolve <ISettingsService>().GetSettingValueByName("Bing Maps Key"); var optionSetHelper = new CachingOptionSetHelper(new OptionSetHelper(ArsOrganizationContext)); IGeoLocationUpdater entityGeoLocationUpdater = new GeoLocationUpdater( ArsOrganizationContext, new EntityGeoLocationUpdater( new BingMapsGeoLocator(bingMapsKey), new CachingMetadataService(new MetadataService(ArsOrganizationContext)), new EntityAttributeValueHandler( ArsOrganizationContext, optionSetHelper, new StrictOptionSetValueParsingStrategy(optionSetHelper)))); var entity = (Entity)Context.InputParameters["Target"]; entityGeoLocationUpdater.UpdateGeoLocation(entity.ToEntityReference(), _config); ArsOrganizationContext.SaveChanges(); }
private void AddAccountNumber() { var accounts = ArsOrganizationContext .AccountSet .ToList(); var maxNumber = 1; foreach (var account in accounts) { int j; if (int.TryParse(account.AccountNumber, out j)) { if (maxNumber < j) { maxNumber = j; } } } Target.AccountNumber = (maxNumber + 1).ToString(); ArsOrganizationContext.SaveChanges(); }