コード例 #1
0
ファイル: Program.cs プロジェクト: bjjeong/ARS-Source-Code
 private static IArsOrganizationContext CreateOrganizationContext()
 {
     var connection = new CrmConnection("ArsOrg");
     var org = new OrganizationService(connection);
     var xrm = new ArsOrganizationContext(org);
     return xrm;
 }
コード例 #2
0
        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();
        }
コード例 #3
0
        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();
        }
コード例 #4
0
        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();
        }