Exemplo n.º 1
0
        public static void Initialize(TestContext context)
        {
            var config = new TestConfig
            {
                ResetHttpContext = true
            };

            var orderLookup        = new BaseIntegrationTest <OrderLookup, AccountOrderDetailResponse>(config);
            var orderLookupRequest = RequestBuilder.GetInvalidOrderLookupRequest();

            _result = (Response <AccountOrderDetailResponse>)orderLookup.TestObject.Execute(orderLookupRequest);

            _testObject = orderLookup.TestObject;
        }
Exemplo n.º 2
0
        protected override void Execute(CodeActivityContext executionContext)
        {
            //ITracingService tracingService = executionContext.GetExtension<ITracingService>();

            IWorkflowContext            context        = executionContext.GetExtension <IWorkflowContext>();
            IOrganizationServiceFactory serviceFactory = executionContext.GetExtension <IOrganizationServiceFactory>();
            IOrganizationService        service        = serviceFactory.CreateOrganizationService(context.UserId);

            if (InspectionLookup.Get <EntityReference>(executionContext) != null)
            {
                recordId       = InspectionLookup.Get <EntityReference>(executionContext).Id;
                queryAttribute = "blu_inspectiondetailid";
                isInspection   = true;
            }
            if (OrderLookup.Get <EntityReference>(executionContext) != null)
            {
                recordId       = OrderLookup.Get <EntityReference>(executionContext).Id;
                queryAttribute = "blu_order";
                isOrder        = true;
            }
            if (isInspection == false && isOrder == false)
            {
                return;
            }

            strFirstName = WFHelpers.GetFirstPortalQuestionAsnwerByNumberAndLookupRecord(executionContext
                                                                                         , FirstNameQuestion.Get <string>(executionContext)
                                                                                         , queryAttribute
                                                                                         , recordId
                                                                                         , service);
            strLastName = WFHelpers.GetFirstPortalQuestionAsnwerByNumberAndLookupRecord(executionContext
                                                                                        , LastNameQuestion.Get <string>(executionContext)
                                                                                        , queryAttribute
                                                                                        , recordId
                                                                                        , service);
            strEmailAddress = WFHelpers.GetFirstPortalQuestionAsnwerByNumberAndLookupRecord(executionContext
                                                                                            , EmailAddressQuestion.Get <string>(executionContext)
                                                                                            , queryAttribute
                                                                                            , recordId
                                                                                            , service);
            strMobilePhone = WFHelpers.GetFirstPortalQuestionAsnwerByNumberAndLookupRecord(executionContext
                                                                                           , MobileNumberQuestion.Get <string>(executionContext)
                                                                                           , queryAttribute
                                                                                           , recordId
                                                                                           , service);

            if (strFirstName != String.Empty && strLastName != String.Empty && strEmailAddress != String.Empty && strMobilePhone != String.Empty)
            {
                Entity enContact = new Entity("contact")
                {
                    ["firstname"]     = strFirstName,
                    ["lastname"]      = strLastName,
                    ["emailaddress1"] = strEmailAddress,
                    ["mobilephone"]   = strMobilePhone
                };

                Guid contactId = Guid.Empty;
                //Check if Contact record already exists otherwise create new
                #region query Contact
                var fetchXmlContact = string.Empty;
                fetchXmlContact += "<fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='false'>";
                fetchXmlContact += "  <entity name='contact'>";
                fetchXmlContact += "     <attribute name='contactid'/>";
                fetchXmlContact += "     <filter type='and'>";
                fetchXmlContact += "        <condition attribute='firstname' operator='eq' value='" + enContact["firstname"].ToString() + "'/>";
                fetchXmlContact += "        <condition attribute='lastname' operator='eq' value='" + enContact["lastname"].ToString() + "'/>";
                fetchXmlContact += "        <condition attribute='emailaddress1' operator='eq' value='" + enContact["emailaddress1"].ToString() + "'/>";
                fetchXmlContact += "        <condition attribute='mobilephone' operator='eq' value='" + enContact["mobilephone"].ToString() + "'/>";
                fetchXmlContact += "        <condition attribute='statecode' operator='eq' value='0'/>";
                fetchXmlContact += "     </filter>";
                fetchXmlContact += "  </entity>";
                fetchXmlContact += "</fetch>";
                #endregion

                EntityCollection ecContact = service.RetrieveMultiple(new FetchExpression(fetchXmlContact));
                if (ecContact.Entities.Count > 0)
                {
                    foreach (var enContactResult in ecContact.Entities)
                    {
                        contactId = enContactResult.Id;
                    }
                }
                else
                {
                    contactId = service.Create(enContact);
                }

                ContactLookup.Set(executionContext, new EntityReference("contact", contactId));
            }
        }