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; }
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)); } }