public void EscalationDuplicate() { var serviceProvider = new StubIServiceProvider(); var pluginContext = new StubIPluginExecutionContext(); var organizationService = new StubIOrganizationService(); pluginContext.PrimaryEntityNameGet = () => "smp_escalation"; pluginContext.PrimaryEntityIdGet = () => new Guid("884A078B-0467-E711-80F5-3863BB3C0660"); Microsoft.Xrm.Sdk.ParameterCollection paramCollection = new Microsoft.Xrm.Sdk.ParameterCollection(); Entity escalation = new Entity("smp_escalation"); escalation.Id = new Guid("884A078B-0467-E711-80F5-3863BB3C0660"); escalation["smp_name"] = "test escalation"; paramCollection.Add("Target", escalation); pluginContext.InputParametersGet = () => paramCollection; Helper.Helper.PluginVariables(serviceProvider, pluginContext, organizationService, 20, "Create", null); organizationService.RetrieveMultipleQueryBase = (query) => { EntityCollection collection = new EntityCollection(); string entityName = string.Empty; if (query.GetType().Name.Equals("QueryExpression")) { entityName = ((QueryExpression)query).EntityName; } else { entityName = ((QueryByAttribute)query).EntityName; } if (entityName == "smp_escalation") { Entity escaltionCollection = new Entity("smp_escalation"); escaltionCollection.Id = new Guid("884A078B-0466-E711-80F5-3863BB3C0560"); escaltionCollection["smp_name"] = "test escalation"; collection.Entities.Add(escaltionCollection); } return(collection); }; organizationService.RetrieveStringGuidColumnSet = delegate(string entity, Guid guid, ColumnSet secondaryUserColumnSet) { if (entity == "incident") { Entity building = new Entity(entity); building.Id = Guid.NewGuid(); building["smp_issurveyservicerequest"] = true; building["smp_cancelledforreclassification"] = true; return(building); } return(null); }; PreEscalationCreateDuplicateDetection escaltionDetect = new PreEscalationCreateDuplicateDetection(); escaltionDetect.Execute(serviceProvider); }
public void SendStatusChangeEmail() { var serviceProvider = new StubIServiceProvider(); var pluginContext = new StubIPluginExecutionContext(); var organizationService = new StubIOrganizationService(); pluginContext.PrimaryEntityNameGet = () => "incident"; pluginContext.PrimaryEntityIdGet = () => new Guid("884A078B-0467-E711-80F5-3863BB3C0660"); Microsoft.Xrm.Sdk.ParameterCollection paramCollection = new Microsoft.Xrm.Sdk.ParameterCollection(); Microsoft.Xrm.Sdk.ParameterCollection paramCollectionPostImage = new Microsoft.Xrm.Sdk.ParameterCollection(); Entity incident = new Entity("incident"); incident.Id = new Guid("884A078B-0467-E711-80F5-3863BB3C0660"); incident.Attributes["statuscode"] = new OptionSetValue(2); incident.Attributes["smp_problembuilding"] = new EntityReference("smp_building", new Guid("884A078B-0467-E711-80F5-3863BB3C1560")) { Name = "building" }; incident.Attributes["new_problemroomnumber"] = new EntityReference("smp_room", new Guid("884A078B-0467-E711-80F5-3863BB3C0560")) { Name = "room" }; incident.Attributes["caseorigincode"] = new OptionSetValue(1); incident.Attributes["smp_duedate"] = new DateTime(2018, 1, 8); incident.Attributes["smp_portalsubmit"] = false; incident.Attributes["smp_duedatebybuildingtimezone"] = "2018-01-08"; incident.Attributes["smp_occureddatetimebybuildingtimezone"] = "2018-01-08"; incident["smp_submitteddatetime"] = new DateTime(2018, 1, 8); incident["createdon"] = new DateTime(2018, 1, 8); incident["smp_problemoccureddatetime"] = new DateTime(2018, 1, 8); incident["smp_createdfrom"] = new OptionSetValue(1); incident["smp_integrationstatus"] = true; incident.Attributes["smp_submitteddatetimebybuildingtimezone"] = "2018-01-08"; incident.Attributes["smp_createddatetimebybuildingtimezone"] = "2018-01-08"; incident["smp_contact"] = new EntityReference("contact", new Guid("884A078B-0466-E711-80F5-3863BB3C0560")) { Name = "contact" }; incident.Attributes["smp_priorityid"] = new EntityReference("smp_priority", new Guid("884A078B-0466-E711-80F5-3863BB3C0560")) { Name = "priority" }; incident.Attributes["smp_problemroomtype"] = new EntityReference("smp_roomtype", new Guid("884A078B-0466-E711-80F5-3863BB3C0560")) { Name = "roomtype" }; incident.Attributes["smp_problemclassid"] = new EntityReference("smp_problemclass", new Guid("884A078B-0468-E711-80F5-3863BB3C0560")) { Name = "problemClass" }; incident.Attributes["smp_problemtypeid"] = new EntityReference("smp_problemtype", new Guid("884A078B-0469-E711-80F5-3863BB3C0560")) { Name = "problemType" }; incident.Attributes["smp_priorityid"] = new EntityReference("smp_priority", new Guid("884A078B-0469-E711-80F5-3863BB3C0560")) { Name = "TestName" }; incident.Attributes["customerid"] = new EntityReference("contact", new Guid()); incident.Attributes["smp_allowemailnotification"] = true; incident["caseorigincode"] = new OptionSetValue(180620001); ////Entity preIncident = new Entity("incident"); ////preIncident["incidentid"] = Guid.NewGuid(); incident["statuscode"] = new OptionSetValue(2); incident["smp_requestorid"] = new EntityReference("contact", Guid.NewGuid()); incident["smp_cc"] = new EntityReference("contact", Guid.NewGuid()); incident["smp_approver"] = new EntityReference("contact", Guid.NewGuid()); paramCollection.Add("Target", incident); pluginContext.InputParametersGet = () => paramCollection; EntityImageCollection postImage = new EntityImageCollection { (new KeyValuePair <string, Entity>("PostImage", incident)) }; ////pluginContext.PostEntityImagesGet = () => { return postImage; }; Helper.Helper.PluginVariables(serviceProvider, pluginContext, organizationService, 40, "Create", postImage); organizationService.RetrieveMultipleQueryBase = (query) => { EntityCollection collection = new EntityCollection(); string entityName = string.Empty; if (query.GetType().Name.Equals("QueryExpression")) { entityName = ((QueryExpression)query).EntityName; } else { entityName = ((QueryByAttribute)query).EntityName; } if (entityName == "smp_configuration") { Entity configuration = new Entity("smp_configuration"); configuration.Id = new Guid("884A078B-0466-E711-80F5-3863BB3C0560"); configuration["smp_title"] = "8/8RoutingPriorities"; configuration["smp_value"] = "P1,P2,PS1,PS2"; collection.Entities.Add(configuration); Entity configuration1 = new Entity("smp_configuration"); configuration1.Id = new Guid("884A078B-0466-E711-80F5-3863BB3C0560"); configuration1["smp_title"] = "EmailSenderDomainName"; configuration1["smp_value"] = "*****@*****.**"; collection.Entities.Add(configuration1); Entity configuration2 = new Entity("smp_configuration"); configuration2.Id = new Guid("884A078B-0466-E711-80F5-3863BB3C0560"); configuration2["smp_title"] = "PendingDispatchStatusCode"; configuration2["smp_value"] = "2"; collection.Entities.Add(configuration2); Entity configuration3 = new Entity("smp_configuration"); configuration3.Id = new Guid("884A078B-0466-E711-80F5-3863BB3C0560"); configuration3["smp_title"] = "DefaultProviderName"; configuration3["smp_value"] = "NotAssigned"; collection.Entities.Add(configuration3); Entity configuration4 = new Entity("smp_configuration"); configuration4.Id = new Guid("884A078B-0466-E711-80F5-3863BB3C0560"); configuration4["smp_title"] = "NoCmmsIntegrationActionCodes"; configuration4["smp_value"] = "Draft"; collection.Entities.Add(configuration4); Entity configuration5 = new Entity("smp_configuration"); configuration5.Id = new Guid("884A078B-0466-E711-80F5-3863BB3C0560"); configuration5["smp_title"] = "StatusChangeOnCodes"; configuration5["smp_value"] = "Draft"; collection.Entities.Add(configuration5); Entity configuration9 = new Entity("smp_configuration"); configuration9.Id = new Guid("884A078B-0466-E711-80F5-3863BB3C0560"); configuration9["smp_title"] = "Sample One"; configuration9["smp_value"] = "*****@*****.**"; collection.Entities.Add(configuration9); Entity configuration10 = new Entity("smp_configuration"); configuration10.Id = new Guid(); configuration10["smp_title"] = "sample name"; configuration10["smp_value"] = "04/10/2018"; collection.Entities.Add(configuration10); Entity configuration11 = new Entity("smp_configuration"); configuration11.Id = new Guid(); configuration11["smp_title"] = "en-us"; configuration11["smp_value"] = "2018-09-09"; collection.Entities.Add(configuration11); Entity configuration12 = new Entity("smp_configuration"); configuration12.Id = new Guid(); configuration12["smp_title"] = "ServiceRequestConfirmation/ToBeScheduled"; configuration12["smp_value"] = "2018-09-09"; collection.Entities.Add(configuration12); Entity configuration13 = new Entity("smp_configuration"); configuration13.Id = new Guid(); configuration13["smp_title"] = "ServiceRequestPortalLink"; configuration13["smp_value"] = "https://test.microsofotcrmportals.com"; collection.Entities.Add(configuration13); Entity configuration14 = new Entity("smp_configuration"); configuration14.Id = new Guid(); configuration14["smp_title"] = "ServiceRequestSurveyLink"; configuration14["smp_value"] = "https://[email protected]"; collection.Entities.Add(configuration14); Entity configuration15 = new Entity("smp_configuration"); configuration15.Id = new Guid(); configuration15["smp_title"] = "Seemoreinformationaboutyourservicerequest"; configuration15["smp_value"] = "seemoreinformation"; collection.Entities.Add(configuration15); Entity configuration16 = new Entity("smp_configuration"); ////configuration16["smp_entityname"] = "incident"; ////configuration16.Attributes["statuscode"] = new OptionSetValue(2); ////configuration16["smp_attributename"] = "smp_duedate"; configuration16["smp_title"] = "PrioritiesToDisplayTheDueDate"; configuration16["smp_value"] = "2018-09-09"; collection.Entities.Add(configuration16); } if (entityName == "systemuser") { Entity systemUser = new Entity(entityName); systemUser.Id = Guid.NewGuid(); systemUser["systemuserid"] = systemUser.Id; collection.Entities.Add(systemUser); } else if (entityName == "smp_servicerequeststatuscode") { Entity srStatusCode = new Entity(entityName); srStatusCode.Id = Guid.NewGuid(); srStatusCode["smp_name"] = "test1"; srStatusCode["smp_servicerequeststatus"] = new OptionSetValue(2); collection.Entities.Add(srStatusCode); } else if (entityName == "smp_servicerequestproblemtypedesc") { Entity servicerequestproblemtype = new Entity(entityName); servicerequestproblemtype.Id = Guid.NewGuid(); servicerequestproblemtype["smp_servicerequestproblemtypedescid"] = new EntityReference("smp_servicerequestproblemtypedesc", new Guid("884A078B-0466-E711-80F5-3863BB3C0560")); servicerequestproblemtype["smp_problemtypedescriptionid"] = new EntityReference("smp_problemtypedescription", new Guid("884A078B-0466-E711-80F5-3863BB3C0560")); servicerequestproblemtype["smp_answer"] = "Sample Answer"; collection.Entities.Add(servicerequestproblemtype); } else if (entityName == "annotation") { Entity annotation = new Entity(entityName); annotation.Id = Guid.NewGuid(); annotation["annotationid"] = annotation.Id; annotation["subject"] = "Sample subject"; annotation["notetext"] = "Sample text"; annotation["filename"] = "Sample filename4"; annotation["isdocument"] = true; annotation["documentbody"] = "Sample body"; annotation["createdon"] = DateTime.Now.AddDays(-10); collection.Entities.Add(annotation); } else if (entityName == "template") { Entity annotation = new Entity(entityName); annotation.Id = Guid.NewGuid(); annotation["templateid"] = annotation.Id; annotation["subject"] = "<?xml version=\"1.0\" ?><xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" version=\"1.0\"><xsl:output method=\"text\" indent=\"no\" /><xsl:template match=\"/data\"><![CDATA[We haven't heard from you...]]></xsl:template></xsl:stylesheet>"; annotation["body"] = "<?xml version=\"1.0\" ?><xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" version=\"1.0\"><xsl:output method=\"text\" indent=\"no\"/><xsl:template match=\"/data\"><![CDATA[<P>Dear ]]><xsl:choose><xsl:when test=\"account/name\"><xsl:value-of select=\"account/name\" /></xsl:when><xsl:otherwise>Valued Customer</xsl:otherwise></xsl:choose><![CDATA[,</P> <P>We have not heard from you for a while. We wanted to check in and make sure that you are still having a great experience using our product(s). We have asked ]]><xsl:choose><xsl:when test=\"account/ownerid/@name\"><xsl:value-of select=\"account/ownerid/@name\" /></xsl:when><xsl:otherwise>a customer service representative</xsl:otherwise></xsl:choose><![CDATA[ to contact you next week to get your feedback on the product(s) you are currently using and to give you details about our upcoming products.</P> <P>Thank you.</P>]]></xsl:template></xsl:stylesheet>"; collection.Entities.Add(annotation); } return(collection); }; organizationService.RetrieveStringGuidColumnSet = delegate(string entity, Guid guid, ColumnSet secondaryUserColumnSet) { if (entity == "incident") { Entity incident1 = new Entity(entity); incident.Id = new Guid("884A078B-0467-E711-80F5-3863BB3C0660"); incident1["smp_issurveyservicerequest"] = true; incident1["smp_cancelledforreclassification"] = true; return(incident1); } if (entity == "account") { Entity account = new Entity(entity); account.Id = new Guid("58d19398-b350-490a-9e2d-6b30391304a0"); account["name"] = "test"; account["smp_iscmmsintegrationenabled"] = true; account["smp_cmmsurl"] = "https://testurl/cmmsservicerequestmanagerAAD.svc"; account["smp_hostedonazure"] = false; account["smp_providerteam"] = new EntityReference("team", new Guid("884A078B-0467-E711-80F5-3863BB3C0652")); return(account); } else if (entity == "contact") { Entity contact = new Entity(entity); contact.Id = Guid.NewGuid(); contact["smp_preferredlanguage"] = "en-us"; contact["smp_isprovideruser"] = false; contact["smp_costcenter"] = "11110"; contact["smp_allowemailnotification"] = false; contact["smp_alias"] = "testalias"; contact["firstname"] = "first"; contact["lastname"] = "last"; contact["funllname"] = "last"; contact["emailaddress1"] = "*****@*****.**"; return(contact); } else if (entity == "smp_building") { Entity building = new Entity(entity); building.Id = Guid.NewGuid(); building["smp_timezoneid"] = new EntityReference("smp_timezone", new Guid("884A078B-0467-E711-80F5-3863BB3C0652")); building["smp_isfinancialstatecampus"] = true; building["smp_buildinglevelemailnotification"] = true; building["smp_feedstoreid"] = "Sample StoreId"; building["smp_buildingname"] = "sample building"; return(building); } else if (entity == "smp_problemclass") { Entity problemClass = new Entity(entity); problemClass.Id = Guid.NewGuid(); problemClass["smp_donotallowsurvey"] = true; problemClass["smp_allowemailnotification"] = true; return(problemClass); } else if (entity == "smp_problemtype") { Entity problemType = new Entity(entity); problemType.Id = Guid.NewGuid(); problemType["smp_donotallowsurvey"] = true; problemType["smp_allowemailnotification"] = true; return(problemType); } else if (entity == "smp_problemtypedescription") { Entity problemType = new Entity(entity); problemType.Id = Guid.NewGuid(); problemType["smp_problemtypedescriptionname"] = "sample description"; return(problemType); } else if (entity == "smp_priority") { Entity priority = new Entity(entity); priority.Id = Guid.NewGuid(); priority["smp_name"] = "sample name"; return(priority); } else if (entity == "smp_roomtype") { Entity problemclass = new Entity(entity); problemclass.Id = Guid.NewGuid(); problemclass["smp_roomtype"] = "sample room"; return(problemclass); } return(null); }; PostServiceRequestCreateEmailNotification pluginClass = new PostServiceRequestCreateEmailNotification(); pluginClass.Execute(serviceProvider); }
public void SetPriority3() { var serviceProvider = new StubIServiceProvider(); var pluginContext = new StubIPluginExecutionContext(); var organizationService = new StubIOrganizationService(); pluginContext.PrimaryEntityNameGet = () => "incident"; pluginContext.PrimaryEntityIdGet = () => new Guid("54D94FC2-52AD-E511-8158-1458D04DB4D1"); Microsoft.Xrm.Sdk.ParameterCollection paramCollection = new Microsoft.Xrm.Sdk.ParameterCollection(); Entity incident = new Entity("incident"); incident.Id = new Guid("884A078B-0467-E711-80F5-3863BB3C0660"); incident.Attributes["statuscode"] = new OptionSetValue(2); incident.Attributes["smp_problembuilding"] = new EntityReference("smp_building", new Guid("884A078B-0467-E711-80F5-3863BB3C1560")) { Name = "building" }; incident.Attributes["new_problemroomnumber"] = new EntityReference("smp_room", new Guid("884A078B-0467-E711-80F5-3863BB3C0560")) { Name = "room" }; incident.Attributes["caseorigincode"] = new OptionSetValue(3); incident.Attributes["smp_duedate"] = "2018-01-08";////Convert.ToDateTime(null, CultureInfo.CurrentCulture); incident.Attributes["smp_portalsubmit"] = false; incident.Attributes["smp_duedatebybuildingtimezone"] = "2018-01-08"; ////incident.Attributes["smp_occureddatetimebybuildingtimezone"] = "2018-01-08"; //// incident["smp_submitteddatetime"] = Convert.ToDateTime(null, CultureInfo.CurrentCulture);//new DateTime(2018, 1, 8); incident["createdon"] = "2018-01-08"; incident["smp_problemoccureddatetime"] = "2018-01-08"; ////incident.Attributes["smp_submitteddatetimebybuildingtimezone"] = "2018-01-08"; ////incident.Attributes["smp_createddatetimebybuildingtimezone"] = "2018-01-08"; incident.Attributes["smp_priorityid"] = new EntityReference("smp_priority", Guid.Empty) { Name = "priority" }; incident.Attributes["smp_problemroomtype"] = new EntityReference("smp_roomtype", new Guid("884A078B-0466-E711-80F5-3863BB3C0560")) { Name = "roomtype" }; incident.Attributes["smp_problemclassid"] = new EntityReference("smp_problemclass", new Guid("884A078B-0468-E711-80F5-3863BB3C0560")) { Name = "problemClass" }; incident.Attributes["smp_problemtypeid"] = new EntityReference("smp_problemtype", new Guid("884A078B-0469-E711-80F5-3863BB3C0560")) { Name = "problemType" }; incident.Attributes["smp_priorityid"] = new EntityReference("smp_priority", Guid.Empty); incident.Attributes["smp_contact"] = new EntityReference("contact", Guid.NewGuid()); paramCollection.Add("Target", incident); pluginContext.InputParametersGet = () => paramCollection; Helper.Helper.PluginVariables(serviceProvider, pluginContext, organizationService, 20, "Create", null); organizationService.ExecuteOrganizationRequest = QueryBase => { if (QueryBase.RequestName == "RetrieveAttribute") { PicklistAttributeMetadata picklistAttributeMetadata = new PicklistAttributeMetadata(); picklistAttributeMetadata.OptionSet = new OptionSetMetadata(); picklistAttributeMetadata.OptionSet.Options.Add(new OptionMetadata(new Label(new LocalizedLabel("+02:30", 1033), (new LocalizedLabel[] { new LocalizedLabel("+02:30", 1033) })), 0)); picklistAttributeMetadata.OptionSet.Options.Add(new OptionMetadata(new Label(new LocalizedLabel("+03:30", 1033), (new LocalizedLabel[] { new LocalizedLabel("+03:30", 1033) })), 1)); picklistAttributeMetadata.OptionSet.Options.Add(new OptionMetadata(new Label(new LocalizedLabel("-04:30", 1033), (new LocalizedLabel[] { new LocalizedLabel("-04:30", 1033) })), 2)); RetrieveAttributeResponse response = new RetrieveAttributeResponse(); response.Results.Add("AttributeMetadata", picklistAttributeMetadata); return(response); } else if (QueryBase.RequestName == "LocalTimeFromUtcTime") { LocalTimeFromUtcTimeResponse localTimeResponse = new LocalTimeFromUtcTimeResponse(); ////localTimeResponse.Results.Add("", value); DateTime dateTime = Convert.ToDateTime(QueryBase.Parameters["UtcTime"]).AddMinutes(Convert.ToInt32(QueryBase.Parameters["TimeZoneCode"])); localTimeResponse.Results.Add("LocalTime", dateTime); return(localTimeResponse); } else if (QueryBase.RequestName == "UtcTimeFromLocalTime") { UtcTimeFromLocalTimeResponse utcTimeResponse = new UtcTimeFromLocalTimeResponse(); DateTime dateTime = Convert.ToDateTime(QueryBase.Parameters["LocalTime"]).AddMinutes(-Convert.ToInt32(QueryBase.Parameters["TimeZoneCode"])); utcTimeResponse.Results.Add("UtcTime", dateTime); return(utcTimeResponse); } return(null); }; organizationService.RetrieveStringGuidColumnSet = delegate(string entity, Guid guid, ColumnSet secondaryUserColumnSet) { if (entity == "smp_building") { Entity building = new Entity(entity); building.Id = Guid.NewGuid(); building["smp_timezoneid"] = new EntityReference("smp_timezone", Guid.NewGuid()); building["smp_isfinancialstatecampus"] = true; return(building); } else if (entity == "smp_timezone") { Entity timeZone = new Entity(entity); timeZone["smp_timezonename"] = "test timezone"; timeZone["smp_offset"] = new OptionSetValue(2); return(timeZone); } else if (entity == "smp_priority") { Entity priority = new Entity(entity); priority["smp_noofminutes"] = 100; return(priority); } else if (entity == "smp_roomtype") { Entity roomType = new Entity(entity); roomType["smp_zone"] = new OptionSetValue(1); return(roomType); } return(null); }; organizationService.RetrieveMultipleQueryBase = (query) => { EntityCollection collection = new EntityCollection(); string entityName = string.Empty; if (query.GetType().Name.Equals("FetchExpression")) { if (((FetchExpression)query).Query.Contains("<entity name='ava_keyvaluepair'>")) { entityName = "ava_keyvaluepair"; } } else if (query.GetType().Name.Equals("QueryExpression")) { entityName = ((QueryExpression)query).EntityName; } else { entityName = ((QueryByAttribute)query).EntityName; } if (entityName == "smp_providermatrix") { Entity matrix = new Entity("smp_providermatrix"); matrix.Id = new Guid("884A078B-0466-E711-80F5-3863BB3C0560"); matrix["smp_primaryproviderid"] = new EntityReference("account", new Guid("884A078B-0467-E711-80F5-3863BB3C1560")); collection.Entities.Add(matrix); } else if (entityName == "smp_room") { Entity room = new Entity(entityName); room["smp_name"] = "test room"; room["smp_roomid"] = new Guid("884A078B-0466-E711-80F5-3863BB3C0679"); collection.Entities.Add(room); } else if (entityName == "account") { Entity account = new Entity(entityName); account["accountid"] = new Guid("884A078B-0467-E711-80F5-3863BB3C1560"); account["statuscode"] = 1; collection.Entities.Add(account); } else if (entityName == "smp_slamatrix") { Entity slaMatrix = new Entity(entityName); slaMatrix["smp_priorityid"] = new EntityReference("smp_priority", new Guid("884A078B-0467-E711-80F5-3863BB3C1489")); slaMatrix["smp_starthours"] = 2; slaMatrix["smp_endhours"] = 1; collection.Entities.Add(slaMatrix); } else if (entityName == "smp_buildingworkhours") { ////Entity buildWorkHours = new Entity(entityName); ////buildWorkHours["smp_starthours"] = new OptionSetValue(1); ////buildWorkHours["smp_endhours"] = new OptionSetValue(2); ////buildWorkHours.FormattedValues["smp_starthours"] = "08:30"; ////buildWorkHours.FormattedValues["smp_endhours"] = "08:30"; ////collection.Entities.Add(buildWorkHours); } else if (entityName == "smp_weekdays") { Entity weekdays = new Entity(entityName); weekdays["smp_name"] = Convert.ToDateTime("09-03-2017 02:30 AM"); collection.Entities.Add(weekdays); } else if (entityName == "smp_configuration") { Entity configuration = new Entity(entityName); configuration["smp_value"] = "Production"; collection.Entities.Add(configuration); } else if (entityName == "systemuser") { Entity systemuser = new Entity(entityName); systemuser.Id = Guid.NewGuid(); systemuser["systemuserid"] = systemuser.Id; collection.Entities.Add(systemuser); } else if (entityName == "usersettings") { Entity usersettings = new Entity(entityName); usersettings["timezonecode"] = 85; collection.Entities.Add(usersettings); } return(collection); }; PreServiceRequestCreateSetPriority prioritySet = new PreServiceRequestCreateSetPriority(); prioritySet.Execute(serviceProvider); }
public void ServiceRequestFromSurvey() { var serviceProvider = new StubIServiceProvider(); var pluginContext = new StubIPluginExecutionContext(); var organizationService = new StubIOrganizationService(); pluginContext.PrimaryEntityNameGet = () => "smp_srsatisfactionsurvey"; pluginContext.PrimaryEntityIdGet = () => new Guid("884A078B-0467-E711-80F5-3863BB3C0660"); Microsoft.Xrm.Sdk.ParameterCollection paramCollection = new Microsoft.Xrm.Sdk.ParameterCollection(); Microsoft.Xrm.Sdk.ParameterCollection paramCollectionPostImage = new Microsoft.Xrm.Sdk.ParameterCollection(); Entity incident = new Entity("incident"); incident.Id = new Guid("884A078B-0467-E711-80F5-3863BB3C0660"); incident.Attributes["statuscode"] = new OptionSetValue(2); incident.Attributes["smp_incidentid"] = new EntityReference("incident", new Guid("884A078B-0467-E711-80F5-3863BB3C0660")); incident.Attributes["smp_problembuilding"] = new EntityReference("smp_building", new Guid("884A078B-0467-E711-80F5-3863BB3C1560")) { Name = "building" }; incident.Attributes["new_problemroomnumber"] = new EntityReference("smp_room", new Guid("884A078B-0467-E711-80F5-3863BB3C0560")) { Name = "room" }; incident.Attributes["caseorigincode"] = new OptionSetValue(1); incident.Attributes["smp_duedate"] = new DateTime(2018, 1, 8); incident.Attributes["smp_portalsubmit"] = false; incident.Attributes["smp_duedatebybuildingtimezone"] = "2018-01-08"; incident.Attributes["smp_occureddatetimebybuildingtimezone"] = "2018-01-08"; incident["smp_submitteddatetime"] = "2018-01-08"; incident["createdon"] = "2018-01-08"; incident["smp_problemoccureddatetime"] = "2018-01-08"; incident["smp_createdfrom"] = new OptionSetValue(1); incident.Attributes["smp_7a5070ca45ac4bfb9cf14dc614b2c28b"] = new OptionSetValue(1); incident.Attributes["smp_df933ec69da9441986ea13ad23c16c16"] = new OptionSetValue(1); incident.Attributes["smp_a9dfbbbb5d9540d5bea5954f97a5b57e"] = new OptionSetValue(1); incident.Attributes["smp_74593f38170543a0a6af56948307ff8b"] = new OptionSetValue(1); incident.Attributes["smp_8ae246fa75ed4d47a4bb402c7f6b3339 "] = new OptionSetValue(3); incident["smp_integrationstatus"] = true; incident.Attributes["smp_submitteddatetimebybuildingtimezone"] = "2018-01-08"; incident.Attributes["smp_createddatetimebybuildingtimezone"] = "2018-01-08"; incident.Attributes["smp_contact"] = new EntityReference("contact", new Guid("884A078B-0466-E711-80F5-3863BB3C0560")) { Name = "contact" }; incident.Attributes["smp_priorityid"] = new EntityReference("smp_priority", new Guid("884A078B-0466-E711-80F5-3863BB3C0560")) { Name = "priority" }; incident.Attributes["smp_problemroomtype"] = new EntityReference("smp_roomtype", new Guid("884A078B-0466-E711-80F5-3863BB3C0560")) { Name = "roomtype" }; incident.Attributes["smp_problemclassid"] = new EntityReference("smp_problemclass", new Guid("884A078B-0468-E711-80F5-3863BB3C0560")) { Name = "problemClass" }; incident.Attributes["smp_problemtypeid"] = new EntityReference("smp_problemtype", new Guid("884A078B-0469-E711-80F5-3863BB3C0560")) { Name = "problemType" }; incident.Attributes["smp_priorityid"] = new EntityReference("smp_priority", new Guid("884A078B-0469-E711-80F5-3863BB3C0560")); incident.Attributes["customerid"] = new EntityReference("account", new Guid("884A078B-0469-E711-80F5-3863BB3C0560")); incident.Attributes["smp_requestorid"] = new EntityReference("contact", new Guid("884A078B-0469-E711-80F5-3863BB3C0560")); incident.Attributes["smp_buildingid"] = new EntityReference("smp_building", new Guid("884A078B-0469-E711-80F5-3863BB3C0560")); incident.Attributes["smp_requestorphone"] = "88999"; incident.Attributes["smp_requestoralias"] = "test"; incident.Attributes["smp_requestorroomno"] = "88999"; incident.Attributes["smp_requestoremail"] = "*****@*****.**"; ////incident.Attributes["smp_contact"] = new EntityReference("contact", new Guid("884A078B-0469-E711-80F5-3863BB3C0560")); paramCollection.Add("Target", incident); pluginContext.InputParametersGet = () => paramCollection; EntityImageCollection postImage = new EntityImageCollection { (new KeyValuePair <string, Entity>("PostImage", incident)) }; PluginVariables(serviceProvider, pluginContext, organizationService, 40, "Create", postImage); organizationService.RetrieveMultipleQueryBase = (query) => { EntityCollection collection = new EntityCollection(); string entityName = string.Empty; if (query.GetType().Name.Equals("FetchExpression")) { if (((FetchExpression)query).Query.Contains("<entity name='smp_8x8mailbox'>")) { entityName = "smp_8x8mailbox"; } } else if (query.GetType().Name.Equals("QueryExpression")) { entityName = ((QueryExpression)query).EntityName; } else { entityName = ((QueryByAttribute)query).EntityName; } if (entityName == "smp_configuration") { Entity configuration = new Entity("smp_configuration"); configuration.Id = new Guid("884A078B-0466-E711-80F5-3863BB3C0560"); configuration["smp_title"] = "8/8RoutingPriorities"; configuration["smp_value"] = "P1,P2,PS1,PS2"; collection.Entities.Add(configuration); Entity configuration1 = new Entity("smp_configuration"); configuration1.Id = new Guid("884A078B-0466-E711-80F5-3863BB3C0560"); configuration1["smp_title"] = "EmailSenderDomainName"; configuration1["smp_value"] = "*****@*****.**"; collection.Entities.Add(configuration1); Entity configuration2 = new Entity("smp_configuration"); configuration2.Id = new Guid("884A078B-0466-E711-80F5-3863BB3C0560"); configuration2["smp_title"] = "PendingDispatchStatusCode"; configuration2["smp_value"] = "2"; collection.Entities.Add(configuration2); Entity configuration3 = new Entity("smp_configuration"); configuration3.Id = new Guid("884A078B-0466-E711-80F5-3863BB3C0560"); configuration3["smp_title"] = "DefaultProviderName"; configuration3["smp_value"] = "NotAssigned"; collection.Entities.Add(configuration3); Entity configuration4 = new Entity("smp_configuration"); configuration4.Id = new Guid("884A078B-0466-E711-80F5-3863BB3C0560"); configuration4["smp_title"] = "NoCmmsIntegrationActionCodes"; configuration4["smp_value"] = "Draft"; collection.Entities.Add(configuration4); Entity configuration5 = new Entity("smp_configuration"); configuration5.Id = new Guid("884A078B-0466-E711-80F5-3863BB3C0560"); configuration5["smp_title"] = "StatusChangeOnCodes"; configuration5["smp_value"] = "Draft"; collection.Entities.Add(configuration5); Entity configuration9 = new Entity("smp_configuration"); configuration9.Id = new Guid("884A078B-0466-E711-80F5-3863BB3C0560"); configuration9["smp_title"] = "ProviderQuestionOne"; configuration9["smp_value"] = "smp_7a5070ca45ac4bfb9cf14dc614b2c28b"; collection.Entities.Add(configuration9); Entity configuration10 = new Entity("smp_configuration"); configuration10.Id = new Guid(); configuration10["smp_title"] = "ProviderQuestionTwo"; configuration10["smp_value"] = "smp_df933ec69da9441986ea13ad23c16c16 "; collection.Entities.Add(configuration10); Entity configuration11 = new Entity("smp_configuration"); configuration11.Id = new Guid(); configuration11["smp_title"] = "en-us"; configuration11["smp_value"] = "2018-09-09"; collection.Entities.Add(configuration11); Entity configuration12 = new Entity("smp_configuration"); configuration12.Id = new Guid(); configuration12["smp_title"] = "CallCenterQuestionOne"; configuration12["smp_value"] = "smp_a9dfbbbb5d9540d5bea5954f97a5b57e"; collection.Entities.Add(configuration12); Entity configuration13 = new Entity("smp_configuration"); configuration13.Id = new Guid(); configuration13["smp_title"] = "CallCenterQuestionTwo"; configuration13["smp_value"] = "smp_74593f38170543a0a6af56948307ff8b "; collection.Entities.Add(configuration13); Entity configuration14 = new Entity("smp_configuration"); configuration14.Id = new Guid(); configuration14["smp_title"] = "SingleResponseQuestion"; configuration14["smp_value"] = "smp_8ae246fa75ed4d47a4bb402c7f6b3339"; collection.Entities.Add(configuration14); Entity configuration15 = new Entity("smp_configuration"); configuration15.Id = new Guid(); configuration15["smp_title"] = "Seemoreinformationaboutyourservicerequest"; configuration15["smp_value"] = "seemoreinformation"; collection.Entities.Add(configuration15); Entity configuration16 = new Entity("smp_configuration"); ////configuration16["smp_entityname"] = "incident"; ////configuration16.Attributes["statuscode"] = new OptionSetValue(2); ////configuration16["smp_attributename"] = "smp_duedate"; configuration16["smp_title"] = "PrioritiesToDisplayTheDueDate"; configuration16["smp_value"] = "2018-09-09"; collection.Entities.Add(configuration16); Entity configuration17 = new Entity("smp_configuration"); configuration17.Id = new Guid(); configuration17["smp_title"] = "SurveyQuestions"; configuration17["smp_value"] = "survery1;survey2;survey3;survey4;survery5"; collection.Entities.Add(configuration17); Entity configuration18 = new Entity("smp_configuration"); configuration18.Id = new Guid(); configuration18["smp_title"] = "SurveyProviderRelatedProblemClass"; configuration18["smp_value"] = "SurveyProviderRelatedProblemClass"; collection.Entities.Add(configuration18); Entity configuration19 = new Entity("smp_configuration"); configuration19.Id = new Guid(); configuration19["smp_title"] = "SurveyProviderRelatedProblemType"; configuration19["smp_value"] = "SurveyProviderRelatedProblemType"; collection.Entities.Add(configuration19); Entity configuration20 = new Entity("smp_configuration"); configuration20.Id = new Guid(); configuration20["smp_title"] = "SurveyCallCenterManagementRelatedProblemClass"; configuration20["smp_value"] = "SurveyCallCenterManagementRelatedProblemClass"; collection.Entities.Add(configuration20); Entity configuration21 = new Entity("smp_configuration"); configuration21.Id = new Guid(); configuration21["smp_title"] = "SurveyCallCenterManagementRelatedProblemType"; configuration21["smp_value"] = "SurveyCallCenterManagementRelatedProblemType"; collection.Entities.Add(configuration21); } else if (entityName == "smp_servicerequeststatuscode") { Entity srStatusCode = new Entity(entityName); srStatusCode["smp_name"] = "test"; srStatusCode["smp_servicerequeststatus"] = new OptionSetValue(2); collection.Entities.Add(srStatusCode); } else if (entityName == "systemuser") { Entity user = new Entity(entityName); user["systemuserid"] = new Guid("884A078B-0466-E711-80F5-3863BB3C0560"); user["domainname"] = "*****@*****.**"; collection.Entities.Add(user); } else if (entityName == "smp_8x8mailbox") { Entity eightByEight = new Entity(entityName); eightByEight["smp_8x8mailboxid"] = new Guid("884A078B-0466-E711-80F5-3863BB3C0560"); collection.Entities.Add(eightByEight); } else if (entityName == "account") { Entity account = new Entity(entityName); account.Id = new Guid("58d19398-b350-490a-9e2d-6b30391304a0"); account["name"] = "test"; account["smp_iscmmsintegrationenabled"] = true; account["smp_cmmsurl"] = "https://testurl/cmmsservicerequestmanagerAAD.svc"; account["smp_hostedonazure"] = false; account["smp_providerteam"] = new EntityReference("team", new Guid("884A078B-0467-E711-80F5-3863BB3C0652")); collection.Entities.Add(account); } else if (entityName == "smp_problemclass") { Entity problemClass = new Entity(entityName); problemClass.Id = Guid.NewGuid(); problemClass["smp_donotallowsurvey"] = true; problemClass["smp_allowemailnotification"] = true; collection.Entities.Add(problemClass); } else if (entityName == "smp_problemtype") { Entity problemType = new Entity(entityName); problemType.Id = Guid.NewGuid(); problemType["smp_donotallowsurvey"] = true; problemType["smp_allowemailnotification"] = true; collection.Entities.Add(problemType); } return(collection); }; organizationService.RetrieveStringGuidColumnSet = delegate(string entity, Guid guid, ColumnSet secondaryUserColumnSet) { if (entity == "incident") { Entity incident1 = new Entity(entity); incident.Id = new Guid("884A078B-0467-E711-80F5-3863BB3C0660"); incident1["smp_issurveyservicerequest"] = true; incident1["smp_cancelledforreclassification"] = true; incident1["ticketnumber"] = "CAS-120083-X4D1Q2"; incident1["smp_contact"] = new EntityReference("contact", new Guid("884A078B-0467-E711-80F5-3863BB3C0660")); incident1.Attributes["smp_requestorid"] = new EntityReference("contact", new Guid("884A078B-0469-E711-80F5-3863BB3C0560")); incident1.Attributes["smp_buildingid"] = new EntityReference("smp_building", new Guid("884A078B-0469-E711-80F5-3863BB3C0560")); incident1.Attributes["smp_requestorphone"] = "88999"; incident1.Attributes["smp_requestoralias"] = "test"; incident1.Attributes["smp_requestorroomno"] = "88999"; incident1.Attributes["smp_requestoremail"] = "*****@*****.**"; incident1["smp_contactbuilding"] = new EntityReference("smp_building", new Guid("884A078B-0469-E711-80F5-3863BB3C0560")); incident1["smp_contactemail"] = "*****@*****.**"; incident1["smp_contactalias"] = "test"; incident1["smp_contactroom"] = "test"; incident1["smp_costcentercode"] = "11223"; incident1["smp_contactphone"] = "44555"; incident1["smp_problembuilding"] = new EntityReference("smp_building", new Guid("884A078B-0469-E711-80F5-3863BB3C0560")); incident1["smp_problembuildingaddressline2"] = "test"; incident1["smp_problembuildingstate"] = "test"; incident1["smp_problembuildingzipcode"] = "5344"; incident1["smp_problemroomtype"] = new EntityReference("smp_roomtype", new Guid("884A078B-0469-E711-80F5-3863BB3C0560")); incident1["new_problemroomnumber"] = new EntityReference("smp_room", new Guid("884A078B-0469-E711-80F5-3863BB3C0560")); incident1["smp_problembuildingaddressline1"] = "test"; incident1["smp_problembuildingcity"] = "test"; incident1["smp_problemroom"] = "test"; return(incident1); } if (entity == "smp_building") { Entity building = new Entity("entity"); building.Id = new Guid("884A078B-0467-E711-80F5-3863BB3C0660"); building["smp_timezoneid"] = new EntityReference("smp_timezone", new Guid("884A078B-0467-E711-80F5-3863BB3C0652")); building["smp_isfinancialstatecampus"] = true; building["smp_problembuilding"] = new EntityReference("smp_building", new Guid("884A078B-0469-E711-80F5-3863BB3C0560")); building["smp_problembuildingaddressline2"] = "test"; building["smp_problembuildingstate"] = "test"; building["smp_problembuildingzipcode"] = "5344"; building["smp_problemroomtype"] = new EntityReference("smp_roomtype", new Guid("884A078B-0469-E711-80F5-3863BB3C0560")); building["new_problemroomnumber"] = new EntityReference("smp_room", new Guid("884A078B-0469-E711-80F5-3863BB3C0560")); building["smp_problembuildingaddressline1"] = "test"; building["smp_problembuildingcity"] = "test"; building["smp_problemroom"] = "test"; building["smp_problembuildingtimezone"] = new EntityReference("smp_timezone", new Guid("884A078B-0469-E711-80F5-3863BB3C0560")); return(incident); } else if (entity == "smp_timezone") { Entity timeZone = new Entity(entity); timeZone["smp_timezonename"] = "test timezone"; timeZone["smp_offset"] = new OptionSetValue(2); return(timeZone); } else if (entity == "smp_priority") { Entity priority = new Entity(entity); priority["smp_noofminutes"] = 100; return(priority); } else if (entity == "smp_roomtype") { Entity roomType = new Entity(entity); roomType["smp_zone"] = new OptionSetValue(1); return(roomType); } else if (entity == "account") { Entity account = new Entity(entity); account["name"] = "test Provider"; account["smp_iscmmsintegrationenabled"] = true; account["smp_cmmsurl"] = "testurl"; account["smp_hostedonazure"] = false; account["smp_providerteam"] = new EntityReference("team", new Guid("884A078B-0467-E711-80F5-3863BB3C0652")); return(account); } else if (entity == "contact") { Entity contact = new Entity(entity); contact.Id = new Guid("884a078b-0467-e711-80f5-3863bb3c0660"); contact["smp_preferredlanguage"] = "en-US"; contact["smp_isprovideruser"] = false; contact["smp_costcenter"] = "11110"; contact["smp_allowemailnotification"] = false; contact["smp_alias"] = "testalias"; contact["firstname"] = "first"; contact["lastname"] = "last"; contact["funllname"] = "last"; contact["emailaddress1"] = "*****@*****.**"; return(contact); } return(null); }; PostSatisfactionSurveyResponseCreate pluginClass = new PostSatisfactionSurveyResponseCreate(); pluginClass.Execute(serviceProvider); }
public void CreateSR() { PreServiceRequestCreate servicerequestCreate = new PreServiceRequestCreate(); var serviceProvider = new StubIServiceProvider(); var pluginContext = new StubIPluginExecutionContext(); var organizationService = new StubIOrganizationService(); pluginContext.PrimaryEntityNameGet = () => "incident"; pluginContext.PrimaryEntityIdGet = () => new Guid("54D94FC2-52AD-E511-8158-1458D04DB4D1"); Microsoft.Xrm.Sdk.ParameterCollection paramCollection = new Microsoft.Xrm.Sdk.ParameterCollection(); Entity incident = new Entity("incident"); incident.Id = new Guid("884A078B-0467-E711-80F5-3863BB3C0660"); incident.Attributes["statuscode"] = new OptionSetValue(1); incident.Attributes["smp_problembuilding"] = new EntityReference("smp_building", new Guid("884A078B-0467-E711-80F5-3863BB3C1560")) { Name = "building" }; incident.Attributes["new_problemroomnumber"] = new EntityReference("smp_room", new Guid("884A078B-0467-E711-80F5-3863BB3C0560")) { Name = "room" }; incident.Attributes["caseorigincode"] = new OptionSetValue(915240000); incident.Attributes["smp_duedate"] = new DateTime(2018, 1, 8); incident.Attributes["smp_portalsubmit"] = true; incident.Attributes["smp_duedatebybuildingtimezone"] = "2018-01-08"; incident.Attributes["smp_occureddatetimebybuildingtimezone"] = "2018-01-08"; incident.Attributes["smp_submitteddatetimebybuildingtimezone"] = "2018-01-08"; incident.Attributes["smp_createddatetimebybuildingtimezone"] = "2018-01-08"; incident.Attributes["smp_priorityid"] = new EntityReference("smp_priority", new Guid("884A078B-0466-E711-80F5-3863BB3C0560")) { Name = "priority" }; incident.Attributes["smp_problemclassid"] = new EntityReference("smp_problemclass", new Guid("884A078B-0468-E711-80F5-3863BB3C0560")) { Name = "problemClass" }; incident.Attributes["smp_problemtypeid"] = new EntityReference("smp_problemtype", new Guid("884A078B-0469-E711-80F5-3863BB3C0560")) { Name = "problemType" }; incident["smp_contact"] = new EntityReference("contact", new Guid("884A078B-0466-E711-80F5-3863BB3C0560")) { Name = "contact" }; incident.Attributes["smp_integrationstatus"] = true; paramCollection.Add("Target", incident); pluginContext.InputParametersGet = () => paramCollection; Helper.Helper.PluginVariables(serviceProvider, pluginContext, organizationService, 20, "Create", null); organizationService.RetrieveMultipleQueryBase = (query) => { EntityCollection collection = new EntityCollection(); string entityName = string.Empty; if (query.GetType().Name.Equals("FetchExpression")) { if (((FetchExpression)query).Query.Contains("<entity name='smp_room'>")) { entityName = "smp_room"; } } else if (query.GetType().Name.Equals("QueryExpression")) { entityName = ((QueryExpression)query).EntityName; } else { entityName = ((QueryByAttribute)query).EntityName; } if (entityName == "smp_providermatrix") { Entity matrix = new Entity("smp_providermatrix"); matrix.Id = new Guid("884A078B-0466-E711-80F5-3863BB3C0560"); matrix["smp_primaryproviderid"] = new EntityReference("account", new Guid("884A078B-0467-E711-80F5-3863BB3C1560")); collection.Entities.Add(matrix); } if (entityName == "smp_room") { Entity room = new Entity(entityName); room.Id = new Guid("884A078B-0466-E711-80F5-3863BB3C0679"); room["smp_name"] = "test room"; room["smp_roomid"] = new Guid("884A078B-0466-E711-80F5-3863BB3C0679"); collection.Entities.Add(room); } if (entityName == "account") { Entity account = new Entity(entityName); account["accountid"] = new Guid("884A078B-0467-E711-80F5-3863BB3C1560"); account["statuscode"] = 1; collection.Entities.Add(account); } return(collection); }; organizationService.RetrieveStringGuidColumnSet = delegate(string entity, Guid guid, ColumnSet secondaryUserColumnSet) { if (entity == "smp_room") { Entity room = new Entity(entity); room.Id = new Guid("884A078B-0466-E711-80F5-3863BB3C0679"); room["smp_name"] = "test room"; room["smp_roomid"] = new Guid("884A078B-0466-E711-80F5-3863BB3C0679"); return(room); } return(null); }; servicerequestCreate.Execute(serviceProvider); }
public void CreateSRCaseOriginCode() { PreServiceRequestCreate servicerequestCreate = new PreServiceRequestCreate(); var serviceProvider = new StubIServiceProvider(); var pluginContext = new StubIPluginExecutionContext(); var organizationService = new StubIOrganizationService(); pluginContext.PrimaryEntityNameGet = () => "incident"; pluginContext.PrimaryEntityIdGet = () => new Guid("54D94FC2-52AD-E511-8158-1458D04DB4D1"); Microsoft.Xrm.Sdk.ParameterCollection paramCollection = new Microsoft.Xrm.Sdk.ParameterCollection(); Entity incident = new Entity("incident"); incident.Id = new Guid("884A078B-0467-E711-80F5-3863BB3C0660"); incident.Attributes["statuscode"] = new OptionSetValue(1); incident.Attributes["smp_problembuilding"] = new EntityReference("smp_building", new Guid("884A078B-0467-E711-80F5-3863BB3C1560")) { Name = "building" }; incident.Attributes["new_problemroomnumber"] = new EntityReference("smp_room", new Guid("884A078B-0467-E711-80F5-3863BB3C0560")) { Name = "room" }; incident.Attributes["caseorigincode"] = new OptionSetValue(3); incident.Attributes["smp_duedate"] = new DateTime(2018, 1, 8); incident.Attributes["smp_portalsubmit"] = true; incident.Attributes["smp_duedatebybuildingtimezone"] = "2018-01-08"; incident.Attributes["smp_occureddatetimebybuildingtimezone"] = "2018-01-08"; incident.Attributes["smp_submitteddatetimebybuildingtimezone"] = "2018-01-08"; incident.Attributes["smp_createddatetimebybuildingtimezone"] = "2018-01-08"; incident.Attributes["smp_priorityid"] = new EntityReference("smp_priority", new Guid("884A078B-0466-E711-80F5-3863BB3C0560")) { Name = "priority" }; incident.Attributes["smp_problemclassid"] = new EntityReference("smp_problemclass", new Guid("884A078B-0468-E711-80F5-3863BB3C0560")) { Name = "problemClass" }; incident.Attributes["smp_problemtypeid"] = new EntityReference("smp_problemtype", new Guid("884A078B-0469-E711-80F5-3863BB3C0560")) { Name = "problemType" }; incident["smp_contact"] = new EntityReference("contact", new Guid("884A078B-0466-E711-80F5-3863BB3C0560")) { Name = "contact" }; incident["smp_requestorid"] = new EntityReference("contact", new Guid("884A078B-0466-E711-80F5-3863BB3C0560")); incident["telephone1"] = "777"; incident["smp_alias"] = "testalias"; incident["emailaddress1"] = "*****@*****.**"; incident.Attributes["smp_buildingid"] = new EntityReference("smp_building", new Guid("884A078B-0469-E711-80F5-3863BB3C0560")); incident.Attributes["new_requestorroomnumber"] = "1222"; incident.Attributes["telephone1"] = "77889990"; paramCollection.Add("Target", incident); pluginContext.InputParametersGet = () => paramCollection; Helper.Helper.PluginVariables(serviceProvider, pluginContext, organizationService, 20, "Create", null); organizationService.RetrieveMultipleQueryBase = (query) => { EntityCollection collection = new EntityCollection(); string entityName = string.Empty; if (query.GetType().Name.Equals("FetchExpression")) { if (((FetchExpression)query).Query.Contains("<entity name='smp_room'>")) { entityName = "smp_room"; } } else if (query.GetType().Name.Equals("QueryExpression")) { entityName = ((QueryExpression)query).EntityName; } else { entityName = ((QueryByAttribute)query).EntityName; } if (entityName == "smp_providermatrix") { Entity matrix = new Entity("smp_providermatrix"); matrix.Id = new Guid("884A078B-0466-E711-80F5-3863BB3C0560"); matrix["smp_primaryproviderid"] = new EntityReference("account", new Guid("884A078B-0467-E711-80F5-3863BB3C1560")); matrix.Attributes["smp_problemroomtype"] = new EntityReference("smp_roomtype", new Guid("884A178B-0466-E711-80F5-3863BB3C0560")) { Name = "roomtype" }; matrix.Attributes["smp_problemclassid"] = new EntityReference("smp_problemclass", new Guid("884A278B-0468-E711-80F5-3863BB3C0560")) { Name = "problemClass" }; matrix.Attributes["smp_problemtypeid"] = new EntityReference("smp_problemtype", new Guid("884A378B-0469-E711-80F5-3863BB3C0560")) { Name = "problemType" }; matrix.Attributes["smp_approvalrequired"] = true; matrix.Attributes["smp_billablecode"] = "1234"; collection.Entities.Add(matrix); } if (entityName == "smp_room") { Entity room = new Entity(entityName); room.Id = new Guid("884A078B-0466-E711-80F5-3863BB3C0679"); room["smp_name"] = "test room"; room["smp_roomid"] = new Guid("884A078B-0466-E711-80F5-3863BB3C0679"); collection.Entities.Add(room); } if (entityName == "account") { Entity account = new Entity(entityName); account["accountid"] = new Guid("884A078B-0467-E711-80F5-3863BB3C1560"); account["statuscode"] = 1; collection.Entities.Add(account); } return(collection); }; organizationService.RetrieveStringGuidColumnSet = delegate(string entity, Guid guid, ColumnSet secondaryUserColumnSet) { if (entity == "smp_room") { Entity room = new Entity(entity); room.Id = new Guid("884A078B-0466-E711-80F5-3863BB3C0679"); room["smp_name"] = "test room"; room["smp_roomid"] = new Guid("884A078B-0466-E711-80F5-3863BB3C0679"); return(room); } else if (entity == "contact") { Entity contact = new Entity(entity); contact.Id = Guid.NewGuid(); contact["smp_preferredlanguage"] = "en-us"; contact["smp_isprovideruser"] = false; contact["smp_costcenter"] = "11110"; contact["smp_allowemailnotification"] = false; contact["smp_alias"] = "testalias"; contact["firstname"] = "first"; contact["lastname"] = "last"; contact["funllname"] = "last"; contact["emailaddress1"] = "*****@*****.**"; contact["smp_manager"] = new EntityReference("contact", new Guid("884A078B-0466-E711-80F5-3863BB3C0679")); return(contact); } else if (entity == "smp_building") { Entity building = new Entity(entity); building.Id = Guid.NewGuid(); building["smp_timezoneid"] = new EntityReference("smp_timezone", new Guid("884A078B-0467-E711-80F5-3863BB3C0652")); building["smp_isfinancialstatecampus"] = true; building["smp_buildinglevelemailnotification"] = true; building["smp_feedstoreid"] = "Sample StoreId"; building["smp_buildingname"] = "sample building"; building["smp_addressline1"] = "test addressline1"; building["smp_addressline2"] = "test addressline2"; building["smp_state"] = "test state"; building["smp_country"] = "test country"; building["smp_city"] = "test city"; building["smp_zipcode"] = "1222333"; building["smp_timezoneid"] = "test zone"; building["statuscode"] = new OptionSetValue(2); building["smp_buildingid"] = new EntityReference("smp_building", new Guid("884A078B-0467-E711-80F5-3863BB3C0652")); building["smp_problemclassid"] = new EntityReference("smp_problemclass", new Guid("884A078B-0467-E711-80F5-3863BB3C0652")); building["smp_problemtypeid"] = new EntityReference("smp_problemtype", new Guid("884A078B-0467-E711-80F5-3863BB3C0652")); return(building); } else if (entity == "smp_problemclass") { Entity problemClass = new Entity(entity); problemClass.Id = Guid.NewGuid(); problemClass["smp_donotallowsurvey"] = true; problemClass["smp_allowemailnotification"] = true; return(problemClass); } else if (entity == "smp_problemtype") { Entity problemType = new Entity(entity); problemType.Id = Guid.NewGuid(); problemType["smp_donotallowsurvey"] = true; problemType["smp_allowemailnotification"] = true; return(problemType); } else if (entity == "smp_problemtypedescription") { Entity problemType = new Entity(entity); problemType.Id = Guid.NewGuid(); problemType["smp_problemtypedescriptionname"] = "sample description"; return(problemType); } else if (entity == "smp_priority") { Entity priority = new Entity(entity); priority.Id = Guid.NewGuid(); priority["smp_name"] = "sample name"; return(priority); } else if (entity == "smp_roomtype") { Entity problemclass = new Entity(entity); problemclass.Id = Guid.NewGuid(); problemclass["smp_roomtype"] = "sample room"; return(problemclass); } return(null); }; servicerequestCreate.Execute(serviceProvider); }
public void DoIntegrationWithIsHostedinAzureTrue() { var serviceProvider = new StubIServiceProvider(); var pluginContext = new StubIPluginExecutionContext(); var organizationService = new StubIOrganizationService(); pluginContext.PrimaryEntityNameGet = () => "incident"; pluginContext.PrimaryEntityIdGet = () => new Guid("884A078B-0467-E711-80F5-3863BB3C0660"); Microsoft.Xrm.Sdk.ParameterCollection paramCollection = new Microsoft.Xrm.Sdk.ParameterCollection(); Microsoft.Xrm.Sdk.ParameterCollection paramCollectionPostImage = new Microsoft.Xrm.Sdk.ParameterCollection(); Entity incident = new Entity("incident"); incident.Id = new Guid("884A078B-0467-E711-80F5-3863BB3C0660"); incident.Attributes["statuscode"] = new OptionSetValue(2); incident.Attributes["smp_problembuilding"] = new EntityReference("smp_building", new Guid("884A078B-0467-E711-80F5-3863BB3C1560")) { Name = "building" }; incident.Attributes["new_problemroomnumber"] = new EntityReference("smp_room", new Guid("884A078B-0467-E711-80F5-3863BB3C0560")) { Name = "room" }; incident.Attributes["caseorigincode"] = new OptionSetValue(1); incident.Attributes["smp_duedate"] = new DateTime(2018, 1, 8); incident.Attributes["smp_portalsubmit"] = false; incident.Attributes["smp_duedatebybuildingtimezone"] = "2018-01-08"; incident.Attributes["smp_occureddatetimebybuildingtimezone"] = "2018-01-08"; incident["smp_submitteddatetime"] = new DateTime(2018, 1, 8); incident["createdon"] = new DateTime(2018, 1, 8); incident["smp_problemoccureddatetime"] = new DateTime(2018, 1, 8); incident["smp_createdfrom"] = new OptionSetValue(1); incident["smp_integrationstatus"] = true; incident.Attributes["smp_submitteddatetimebybuildingtimezone"] = "2018-01-08"; incident.Attributes["smp_createddatetimebybuildingtimezone"] = "2018-01-08"; incident["smp_contact"] = new EntityReference("contact", new Guid("884A078B-0466-E711-80F5-3863BB3C0560")) { Name = "contact" }; incident.Attributes["smp_priorityid"] = new EntityReference("smp_priority", new Guid("884A078B-0466-E711-80F5-3863BB3C0560")) { Name = "priority" }; incident.Attributes["smp_problemroomtype"] = new EntityReference("smp_roomtype", new Guid("884A078B-0466-E711-80F5-3863BB3C0560")) { Name = "roomtype" }; incident.Attributes["smp_problemclassid"] = new EntityReference("smp_problemclass", new Guid("884A078B-0468-E711-80F5-3863BB3C0560")) { Name = "problemClass" }; incident.Attributes["smp_problemtypeid"] = new EntityReference("smp_problemtype", new Guid("884A078B-0469-E711-80F5-3863BB3C0560")) { Name = "problemType" }; incident.Attributes["smp_priorityid"] = new EntityReference("smp_priority", new Guid("884A078B-0469-E711-80F5-3863BB3C0560")) { Name = "TestName" }; incident.Attributes["customerid"] = new EntityReference("account", new Guid("884A078B-0469-E711-80F5-3863BB3C0560")); incident.Attributes["smp_requestedduedate"] = new DateTime(2018, 1, 8); ////"2018-01-08"; incident.Attributes["title"] = "sample title"; incident.Attributes["smp_iocode"] = "sample code"; incident.Attributes["smp_tier1workcompletiondatebybuildingtimezone"] = "sample timezone"; incident.Attributes["smp_providerduedatebybuildingtimezone"] = "sample title"; incident.Attributes["smp_problembuildingaddressline1"] = "sample address1"; incident.Attributes["smp_problembuildingaddressline2"] = "sample address1"; incident.Attributes["smp_problembuildingcity"] = "sample city"; incident.Attributes["smp_problembuildingcountry"] = "sample country"; incident.Attributes["smp_problembuildingzipcode"] = "23432423"; incident.Attributes["smp_problemcode"] = "sample code"; incident.Attributes["smp_problemtypedescription"] = "sample description"; incident.Attributes["smp_requestoralias"] = "sample alias"; incident.Attributes["smp_requestorfirstname"] = "sample first name"; incident.Attributes["smp_requestorlastname"] = "sample last name"; incident.Attributes["smp_requestorphone"] = "sample phone"; incident.Attributes["smp_requestorroomno"] = "sample promo"; incident.Attributes["smp_requestorroomtype"] = "sample room type"; Entity preIncident = new Entity("incident"); preIncident["incidentid"] = Guid.NewGuid(); preIncident["statuscode"] = new OptionSetValue(1); paramCollection.Add("Target", incident); pluginContext.InputParametersGet = () => paramCollection; EntityImageCollection postImage = new EntityImageCollection { (new KeyValuePair <string, Entity>("PostImage", incident)) }; EntityImageCollection preImage = new EntityImageCollection { new KeyValuePair <string, Entity>("PreImage", preIncident) }; Helper.Helper.PluginVariables(serviceProvider, pluginContext, organizationService, 40, "Create", postImage, preImage); organizationService.RetrieveMultipleQueryBase = (query) => { EntityCollection collection = new EntityCollection(); string entityName = string.Empty; if (query.GetType().Name.Equals("QueryExpression")) { entityName = ((QueryExpression)query).EntityName; } else { entityName = ((QueryByAttribute)query).EntityName; } if (entityName == "smp_configuration") { ////query.ExtensionData var v = (((QueryExpression)query).Criteria.Conditions)[0].Values.First().ToString(); if (v == "AzureToeknService") { Entity configurationAzure = new Entity("smp_configuration"); configurationAzure.Id = Guid.NewGuid(); configurationAzure["smp_title"] = "AzureToeknService"; configurationAzure["smp_value"] = "https://gfmstokenservice.azurewebsites.net/CmmsServiceRequestManagerAAD.svc"; collection.Entities.Add(configurationAzure); return(collection); } if (v == "TokenEndpointURL") { Entity configurationAzure = new Entity("smp_configuration"); configurationAzure.Id = Guid.NewGuid(); configurationAzure["smp_title"] = "TokenEndpointURL"; configurationAzure["smp_value"] = "https://login.microsoftonline.com/72f988bf-86f1-41af-91ab-2d7cd011db47/oauth2/token"; collection.Entities.Add(configurationAzure); return(collection); } Entity configuration = new Entity("smp_configuration"); configuration.Id = Guid.NewGuid(); configuration["smp_title"] = "8/8RoutingPriorities"; configuration["smp_value"] = "P1,P2,PS1,PS2"; collection.Entities.Add(configuration); Entity configuration1 = new Entity("smp_configuration"); configuration1.Id = new Guid("884A078B-0466-E711-80F5-3863BB3C0560"); configuration1["smp_title"] = "EmailSenderDomainName"; configuration1["smp_value"] = "*****@*****.**"; collection.Entities.Add(configuration1); Entity configuration2 = new Entity("smp_configuration"); configuration2.Id = new Guid("884A078B-0466-E711-80F5-3863BB3C0560"); configuration2["smp_title"] = "PendingDispatchStatusCode"; configuration2["smp_value"] = "2"; collection.Entities.Add(configuration2); Entity configuration3 = new Entity("smp_configuration"); configuration3.Id = new Guid("884A078B-0466-E711-80F5-3863BB3C0560"); configuration3["smp_title"] = "DefaultProviderName"; configuration3["smp_value"] = "NotAssigned"; collection.Entities.Add(configuration3); Entity configuration4 = new Entity("smp_configuration"); configuration4.Id = new Guid("884A078B-0466-E711-80F5-3863BB3C0560"); configuration4["smp_title"] = "NoCmmsIntegrationActionCodes"; configuration4["smp_value"] = "test"; collection.Entities.Add(configuration4); Entity configuration5 = new Entity("smp_configuration"); configuration5.Id = new Guid("884A078B-0466-E711-80F5-3863BB3C0560"); configuration5["smp_title"] = "StatusChangeOnCodes"; configuration5["smp_value"] = "Draft"; collection.Entities.Add(configuration5); Entity configuration6 = new Entity("smp_configuration"); configuration6.Id = new Guid("884A078B-0466-E711-80F5-3863BB3C0560"); configuration6["smp_title"] = "OutBoundIntegrationtimeOutInSeconds"; configuration6["smp_value"] = "5"; collection.Entities.Add(configuration6); Entity configuration7 = new Entity("smp_configuration"); configuration7.Id = new Guid("884A078B-0466-E711-80F5-3863BB3C0560"); configuration7["smp_title"] = "DebugOutBoundIntegration"; configuration7["smp_value"] = "4"; collection.Entities.Add(configuration7); Entity configuration8 = new Entity("smp_configuration"); configuration8.Id = Guid.NewGuid(); configuration8["smp_title"] = "ServiceRequestIntegrationFailEmailTemplateName"; configuration8["smp_value"] = "*****@*****.**"; collection.Entities.Add(configuration8); Entity configuration9 = new Entity("smp_configuration"); configuration9.Id = Guid.NewGuid(); configuration9["smp_title"] = "SASToken"; configuration9["smp_value"] = "Test"; collection.Entities.Add(configuration9); Entity configuration10 = new Entity("smp_configuration"); configuration10.Id = Guid.NewGuid(); configuration10["smp_title"] = "AttachmentBlobUrl"; configuration10["smp_value"] = "https://refstorage.blob.core.windows.net/msrefpuatblobnotes/"; collection.Entities.Add(configuration10); Entity configuration11 = new Entity("smp_configuration"); configuration11.Id = Guid.NewGuid(); configuration11["smp_title"] = "Environment"; configuration11["smp_value"] = "Non-Prod"; collection.Entities.Add(configuration11); } else if (entityName == "smp_providerintegration") { Entity providerintegration = new Entity(entityName); providerintegration.Id = Guid.NewGuid(); providerintegration["smp_name"] = "Engineer Team Details"; providerintegration["smp_clientid"] = ""; providerintegration["smp_serviceprincipalid"] = ""; collection.Entities.Add(providerintegration); } else if (entityName == "smp_servicerequeststatuscode") { Entity srStatusCode = new Entity(entityName); srStatusCode.Id = Guid.NewGuid(); srStatusCode["smp_name"] = "test1"; srStatusCode["smp_servicerequeststatus"] = new OptionSetValue(2); collection.Entities.Add(srStatusCode); } else if (entityName == "smp_servicerequestproblemtypedesc") { Entity servicerequestproblemtype = new Entity(entityName); servicerequestproblemtype.Id = Guid.NewGuid(); servicerequestproblemtype["smp_servicerequestproblemtypedescid"] = new EntityReference("smp_servicerequestproblemtypedesc", new Guid("884A078B-0466-E711-80F5-3863BB3C0560")); servicerequestproblemtype["smp_problemtypedescriptionid"] = new EntityReference("smp_problemtypedescription", new Guid("884A078B-0466-E711-80F5-3863BB3C0560")); servicerequestproblemtype["smp_answer"] = "Sample Answer"; collection.Entities.Add(servicerequestproblemtype); } else if (entityName == "systemuser") { Entity systemUser = new Entity(entityName); systemUser.Id = Guid.NewGuid(); systemUser["systemuserid"] = systemUser.Id; collection.Entities.Add(systemUser); } else if (entityName == "template") { Entity annotation = new Entity(entityName); annotation.Id = Guid.NewGuid(); annotation["templateid"] = annotation.Id; annotation["subject"] = "<?xml version=\"1.0\" ?><xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" version=\"1.0\"><xsl:output method=\"text\" indent=\"no\" /><xsl:template match=\"/data\"><![CDATA[We haven't heard from you...]]></xsl:template></xsl:stylesheet>"; annotation["body"] = "<?xml version=\"1.0\" ?><xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" version=\"1.0\"><xsl:output method=\"text\" indent=\"no\"/><xsl:template match=\"/data\"><![CDATA[<P>Dear ]]><xsl:choose><xsl:when test=\"account/name\"><xsl:value-of select=\"account/name\" /></xsl:when><xsl:otherwise>Valued Customer</xsl:otherwise></xsl:choose><![CDATA[,</P> <P>We have not heard from you for a while. We wanted to check in and make sure that you are still having a great experience using our product(s). We have asked ]]><xsl:choose><xsl:when test=\"account/ownerid/@name\"><xsl:value-of select=\"account/ownerid/@name\" /></xsl:when><xsl:otherwise>a customer service representative</xsl:otherwise></xsl:choose><![CDATA[ to contact you next week to get your feedback on the product(s) you are currently using and to give you details about our upcoming products.</P> <P>Thank you.</P>]]></xsl:template></xsl:stylesheet>"; collection.Entities.Add(annotation); } else if (entityName == "msdyn_azureblobstoragesetting") { Entity blobSettings = new Entity(entityName); blobSettings.Id = Guid.NewGuid(); blobSettings["msdyn_name"] = "refstorage"; blobSettings["msdyn_annotationcontainer"] = "msrefpuatblobnotes"; collection.Entities.Add(blobSettings); } return(collection); }; organizationService.RetrieveStringGuidColumnSet = delegate(string entity, Guid guid, ColumnSet secondaryUserColumnSet) { if (entity == "account") { Entity account = new Entity(entity); account.Id = Guid.NewGuid(); account["name"] = "test Provider"; account["smp_iscmmsintegrationenabled"] = true; account["smp_cmmsurl"] = "https://testurl/cmmsservicerequestmanagerAAD.svc"; account["smp_hostedonazure"] = true; account["smp_providerteam"] = new EntityReference("team", new Guid("884A078B-0467-E711-80F5-3863BB3C0652")); return(account); } else if (entity == "contact") { Entity contact = new Entity(entity); contact.Id = Guid.NewGuid(); contact["smp_preferredlanguage"] = "English"; contact["smp_isprovideruser"] = true; contact["smp_costcenter"] = "samdple center"; contact["smp_allowemailnotification"] = true; contact["smp_alias"] = "sample alias"; contact["firstname"] = "sample firstname"; contact["lastname"] = "sample lastname"; contact["emailaddress1"] = "*****@*****.**"; return(contact); } else if (entity == "smp_problemtypedescription") { Entity problemType = new Entity(entity); problemType.Id = Guid.NewGuid(); problemType["smp_problemtypedescriptionname"] = "sample description"; return(problemType); } else if (entity == "smp_priority") { Entity priority = new Entity(entity); priority.Id = Guid.NewGuid(); priority["smp_name"] = "sample name"; return(priority); } else if (entity == "smp_problemclass") { Entity problemclass = new Entity(entity); problemclass.Id = Guid.NewGuid(); problemclass["smp_problemclassname"] = "sample class"; return(problemclass); } else if (entity == "smp_building") { Entity building = new Entity(entity); building.Id = Guid.NewGuid(); building["smp_buildingname"] = "sample building"; building["smp_feedstoreid"] = "Sample StoreId"; return(building); } else if (entity == "smp_roomtype") { Entity problemclass = new Entity(entity); problemclass.Id = Guid.NewGuid(); problemclass["smp_roomtype"] = "sample room"; return(problemclass); } else if (entity == "smp_problemtype") { Entity smp_problemtype = new Entity(entity); smp_problemtype.Id = Guid.NewGuid(); smp_problemtype["smp_problemtypename"] = "sample problemtype"; return(smp_problemtype); } return(null); }; PostCreateUpdateDoIntegration doIntegration = new PostCreateUpdateDoIntegration(); doIntegration.Execute(serviceProvider); }
public void DoIntegration() { var serviceProvider = new StubIServiceProvider(); var pluginContext = new StubIPluginExecutionContext(); var organizationService = new StubIOrganizationService(); pluginContext.PrimaryEntityNameGet = () => "incident"; pluginContext.PrimaryEntityIdGet = () => new Guid("884A078B-0467-E711-80F5-3863BB3C0660"); Microsoft.Xrm.Sdk.ParameterCollection paramCollection = new Microsoft.Xrm.Sdk.ParameterCollection(); Microsoft.Xrm.Sdk.ParameterCollection paramCollectionPostImage = new Microsoft.Xrm.Sdk.ParameterCollection(); Entity incident = new Entity("incident"); incident.Id = new Guid("884A078B-0467-E711-80F5-3863BB3C0660"); incident.Attributes["statuscode"] = new OptionSetValue(2); incident.Attributes["smp_problembuilding"] = new EntityReference("smp_building", new Guid("884A078B-0467-E711-80F5-3863BB3C1560")) { Name = "building" }; incident.Attributes["new_problemroomnumber"] = new EntityReference("smp_room", new Guid("884A078B-0467-E711-80F5-3863BB3C0560")) { Name = "room" }; incident.Attributes["caseorigincode"] = new OptionSetValue(1); incident.Attributes["smp_duedate"] = new DateTime(2018, 1, 8); incident.Attributes["smp_portalsubmit"] = false; incident.Attributes["smp_duedatebybuildingtimezone"] = "2018-01-08"; incident.Attributes["smp_occureddatetimebybuildingtimezone"] = "2018-01-08"; incident["smp_submitteddatetime"] = new DateTime(2018, 1, 8); incident["createdon"] = new DateTime(2018, 1, 8); incident["smp_problemoccureddatetime"] = new DateTime(2018, 1, 8); incident["smp_createdfrom"] = new OptionSetValue(1); incident["smp_integrationstatus"] = true; incident.Attributes["smp_submitteddatetimebybuildingtimezone"] = "2018-01-08"; incident.Attributes["smp_createddatetimebybuildingtimezone"] = "2018-01-08"; incident["smp_contact"] = new EntityReference("contact", new Guid("884A078B-0466-E711-80F5-3863BB3C0560")) { Name = "contact" }; incident.Attributes["smp_priorityid"] = new EntityReference("smp_priority", new Guid("884A078B-0466-E711-80F5-3863BB3C0560")) { Name = "priority" }; incident.Attributes["smp_problemroomtype"] = new EntityReference("smp_roomtype", new Guid("884A078B-0466-E711-80F5-3863BB3C0560")) { Name = "roomtype" }; incident.Attributes["smp_problemclassid"] = new EntityReference("smp_problemclass", new Guid("884A078B-0468-E711-80F5-3863BB3C0560")) { Name = "problemClass" }; incident.Attributes["smp_problemtypeid"] = new EntityReference("smp_problemtype", new Guid("884A078B-0469-E711-80F5-3863BB3C0560")) { Name = "problemType" }; incident.Attributes["smp_priorityid"] = new EntityReference("smp_priority", new Guid("884A078B-0469-E711-80F5-3863BB3C0560")) { Name = "TestName" }; incident.Attributes["customerid"] = new EntityReference("account", new Guid("884A078B-0469-E711-80F5-3863BB3C0560")); Entity preIncident = new Entity("incident"); preIncident["incidentid"] = Guid.NewGuid(); preIncident["statuscode"] = new OptionSetValue(1); paramCollection.Add("Target", incident); pluginContext.InputParametersGet = () => paramCollection; EntityImageCollection postImage = new EntityImageCollection { (new KeyValuePair <string, Entity>("PostImage", incident)) }; EntityImageCollection preImage = new EntityImageCollection { new KeyValuePair <string, Entity>("PreImage", preIncident) }; Helper.Helper.PluginVariables(serviceProvider, pluginContext, organizationService, 40, "Create", postImage, preImage); organizationService.RetrieveMultipleQueryBase = (query) => { EntityCollection collection = new EntityCollection(); string entityName = string.Empty; if (query.GetType().Name.Equals("QueryExpression")) { entityName = ((QueryExpression)query).EntityName; } else { entityName = ((QueryByAttribute)query).EntityName; } if (entityName == "smp_configuration") { Entity configuration = new Entity("smp_configuration"); configuration.Id = new Guid("884A078B-0466-E711-80F5-3863BB3C0560"); configuration["smp_title"] = "8/8RoutingPriorities"; configuration["smp_value"] = "P1,P2,PS1,PS2"; collection.Entities.Add(configuration); Entity configuration1 = new Entity("smp_configuration"); configuration1.Id = new Guid("884A078B-0466-E711-80F5-3863BB3C0560"); configuration1["smp_title"] = "EmailSenderDomainName"; configuration1["smp_value"] = "*****@*****.**"; collection.Entities.Add(configuration1); Entity configuration2 = new Entity("smp_configuration"); configuration2.Id = new Guid("884A078B-0466-E711-80F5-3863BB3C0560"); configuration2["smp_title"] = "PendingDispatchStatusCode"; configuration2["smp_value"] = "2"; collection.Entities.Add(configuration2); Entity configuration3 = new Entity("smp_configuration"); configuration3.Id = new Guid("884A078B-0466-E711-80F5-3863BB3C0560"); configuration3["smp_title"] = "DefaultProviderName"; configuration3["smp_value"] = "NotAssigned"; collection.Entities.Add(configuration3); Entity configuration4 = new Entity("smp_configuration"); configuration4.Id = new Guid("884A078B-0466-E711-80F5-3863BB3C0560"); configuration4["smp_title"] = "NoCmmsIntegrationActionCodes"; configuration4["smp_value"] = "test"; collection.Entities.Add(configuration4); Entity configuration5 = new Entity("smp_configuration"); configuration5.Id = new Guid("884A078B-0466-E711-80F5-3863BB3C0560"); configuration5["smp_title"] = "StatusChangeOnCodes"; configuration5["smp_value"] = "Draft"; collection.Entities.Add(configuration5); Entity configuration6 = new Entity("smp_configuration"); configuration6.Id = new Guid("884A078B-0466-E711-80F5-3863BB3C0560"); configuration6["smp_title"] = "OutBoundIntegrationtimeOutInSeconds"; configuration6["smp_value"] = "5"; collection.Entities.Add(configuration6); Entity configuration7 = new Entity("smp_configuration"); configuration7.Id = new Guid("884A078B-0466-E711-80F5-3863BB3C0560"); configuration7["smp_title"] = "DebugOutBoundIntegration"; configuration7["smp_value"] = "4"; collection.Entities.Add(configuration7); } else if (entityName == "smp_servicerequeststatuscode") { Entity srStatusCode = new Entity(entityName); srStatusCode["smp_name"] = "test"; srStatusCode["smp_servicerequeststatus"] = new OptionSetValue(2); collection.Entities.Add(srStatusCode); } return(collection); }; organizationService.RetrieveStringGuidColumnSet = delegate(string entity, Guid guid, ColumnSet secondaryUserColumnSet) { if (entity == "account") { Entity account = new Entity(entity); account["name"] = "test Provider"; account["smp_iscmmsintegrationenabled"] = true; account["smp_cmmsurl"] = "https://testurl/cmmsservicerequestmanagerAAD.svc"; account["smp_hostedonazure"] = false; account["smp_providerteam"] = new EntityReference("team", new Guid("884A078B-0467-E711-80F5-3863BB3C0652")); return(account); } return(null); }; PostCreateUpdateDoIntegration doIntegration = new PostCreateUpdateDoIntegration(); doIntegration.Execute(serviceProvider); }
public void SetDynamicNotesFromPortal() { var serviceProvider = new StubIServiceProvider(); var pluginContext = new StubIPluginExecutionContext(); var organizationService = new StubIOrganizationService(); pluginContext.PrimaryEntityNameGet = () => "incident"; pluginContext.PrimaryEntityIdGet = () => new Guid("884A078B-0467-E711-80F5-3863BB3C0660"); Microsoft.Xrm.Sdk.ParameterCollection paramCollection = new Microsoft.Xrm.Sdk.ParameterCollection(); Microsoft.Xrm.Sdk.ParameterCollection paramCollectionPostImage = new Microsoft.Xrm.Sdk.ParameterCollection(); Entity incident = new Entity("incident"); incident.Id = new Guid("884A078B-0467-E711-80F5-3863BB3C0660"); incident["smp_answer"] = @"{""data"":[{""id"":""ba43e8a7-c9ec-e211-ad57-78e3b511b663"",""answer"":""please ignore this request""},{""id"":""b643e8a7-c9ec-e211-ad57-78e3b511b663"",""answer"":""please ignore this request""},{""id"":""b443e8a7-c9ec-e211-ad57-78e3b511b663"",""answer"":""please ignore this request""}]}"; incident["smp_portalsubmit"] = true; incident["smp_contact"] = new EntityReference("contact", new Guid("884A078B-0466-E711-80F5-3863BB3C0560")) { Name = "contact" }; incident.Attributes["smp_priorityid"] = new EntityReference("smp_priority", new Guid("884A078B-0466-E711-80F5-3863BB3C0560")) { Name = "priority" }; incident.Attributes["smp_problemroomtype"] = new EntityReference("smp_roomtype", new Guid("884A078B-0466-E711-80F5-3863BB3C0560")) { Name = "roomtype" }; incident.Attributes["smp_problemclassid"] = new EntityReference("smp_problemclass", new Guid("884A078B-0468-E711-80F5-3863BB3C0560")) { Name = "problemClass" }; incident.Attributes["smp_problemtypeid"] = new EntityReference("smp_problemtype", new Guid("884A078B-0469-E711-80F5-3863BB3C0560")) { Name = "problemType" }; incident.Attributes["smp_priorityid"] = new EntityReference("smp_priority", new Guid("884A078B-0469-E711-80F5-3863BB3C0560")) { Name = "TestName" }; incident.Attributes["customerid"] = new EntityReference("account", new Guid("884A078B-0469-E711-80F5-3863BB3C0560")) { Name = "Test Record" }; paramCollection.Add("Target", incident); pluginContext.InputParametersGet = () => paramCollection; EntityImageCollection postImage = new EntityImageCollection { (new KeyValuePair <string, Entity>("PostImage", incident)) }; Helper.Helper.PluginVariables(serviceProvider, pluginContext, organizationService, 40, "Create", postImage); organizationService.RetrieveMultipleQueryBase = (query) => { EntityCollection collection = new EntityCollection(); string entityName = string.Empty; if (query.GetType().Name.Equals("FetchExpression")) { if (((FetchExpression)query).Query.Contains("<entity name='smp_8x8mailbox'>")) { entityName = "smp_8x8mailbox"; } } else if (query.GetType().Name.Equals("QueryExpression")) { entityName = ((QueryExpression)query).EntityName; } else { entityName = ((QueryByAttribute)query).EntityName; } if (entityName == "smp_configuration") { Entity configuration = new Entity("smp_configuration"); configuration.Id = new Guid("884A078B-0466-E711-80F5-3863BB3C0560"); configuration["smp_title"] = "8/8RoutingPriorities"; configuration["smp_value"] = "P1,P2,PS1,PS2"; configuration["smp_title"] = "EmailSenderDomainName"; configuration["smp_value"] = "*****@*****.**"; configuration["smp_title"] = "PendingDispatchStatusCode"; configuration["smp_value"] = "2"; configuration["smp_title"] = "DefaultProviderName"; configuration["smp_value"] = "NotAssigned"; collection.Entities.Add(configuration); } else if (entityName == "smp_servicerequeststatuscode") { Entity srStatusCode = new Entity(entityName); srStatusCode["smp_name"] = "test"; srStatusCode["smp_servicerequeststatus"] = new OptionSetValue(2); collection.Entities.Add(srStatusCode); } else if (entityName == "systemuser") { Entity user = new Entity(entityName); user["systemuserid"] = new Guid("884A078B-0466-E711-80F5-3863BB3C0560"); user["domainname"] = "*****@*****.**"; collection.Entities.Add(user); } else if (entityName == "smp_8x8mailbox") { Entity eightByEight = new Entity(entityName); eightByEight["smp_8x8mailboxid"] = new Guid("884A078B-0466-E711-80F5-3863BB3C0560"); collection.Entities.Add(eightByEight); } else if (entityName == "smp_problemtypedescription") { Entity problemDescription = new Entity(entityName); problemDescription["smp_problemtypedescriptionid"] = Guid.NewGuid(); problemDescription["smp_problemtypedescriptionname"] = "test"; collection.Entities.Add(problemDescription); } return(collection); }; organizationService.RetrieveStringGuidColumnSet = delegate(string entity, Guid guid, ColumnSet secondaryUserColumnSet) { if (entity == "smp_building") { Entity building = new Entity("entity"); building.Id = new Guid("884A078B-0467-E711-80F5-3863BB3C0660"); building["smp_timezoneid"] = new EntityReference("smp_timezone", new Guid("884A078B-0467-E711-80F5-3863BB3C0652")); building["smp_isfinancialstatecampus"] = true; return(incident); } else if (entity == "smp_timezone") { Entity timeZone = new Entity(entity); timeZone["smp_timezonename"] = "test timezone"; timeZone["smp_offset"] = new OptionSetValue(2); return(timeZone); } else if (entity == "smp_priority") { Entity priority = new Entity(entity); priority["smp_noofminutes"] = 100; return(priority); } else if (entity == "smp_roomtype") { Entity roomType = new Entity(entity); roomType["smp_zone"] = new OptionSetValue(1); return(roomType); } else if (entity == "account") { Entity account = new Entity(entity); account["name"] = "test Provider"; account["smp_iscmmsintegrationenabled"] = true; account["smp_cmmsurl"] = "testurl"; account["smp_hostedonazure"] = false; account["smp_providerteam"] = new EntityReference("team", new Guid("884A078B-0467-E711-80F5-3863BB3C0652")); return(account); } else if (entity == "contact") { Entity contact = new Entity(entity); contact["smp_preferredlanguage"] = "en-US"; contact["smp_isprovideruser"] = false; contact["smp_costcenter"] = "11110"; contact["smp_allowemailnotification"] = true; return(contact); } return(null); }; PostCreateUpdateIncidentInPortal portalIncident = new PostCreateUpdateIncidentInPortal(); portalIncident.Execute(serviceProvider); }
public void SRUpdate() { { this.pluginContext.PrimaryEntityNameGet = () => "incident"; this.pluginContext.PrimaryEntityIdGet = () => new Guid("884A078B-0467-E711-80F5-3863BB3C0660"); Microsoft.Xrm.Sdk.ParameterCollection paramCollection = new Microsoft.Xrm.Sdk.ParameterCollection(); Microsoft.Xrm.Sdk.ParameterCollection paramCollectionPostImage = new Microsoft.Xrm.Sdk.ParameterCollection(); Entity incident = new Entity("incident"); incident.Id = new Guid("884A078B-0467-E711-80F5-3863BB3C0660"); incident["smp_createdfrom"] = new OptionSetValue(1); incident["smp_portalsubmit"] = true; incident.Attributes["caseorigincode"] = new OptionSetValue(3); incident.Attributes["smp_reclassifiedsr"] = new EntityReference("smp_reclassifiedsr", new Guid("884A078B-0467-E711-80F5-3863BB3C1560")) { Name = "incident" }; incident.Attributes["smp_problembuilding"] = new EntityReference("smp_building", new Guid("884A078B-0467-E711-80F5-3863BB3C1560")) { Name = "building" }; incident.Attributes["smp_problemclassid"] = new EntityReference("smp_problemclass", new Guid("884A078B-0468-E711-80F5-3863BB3C0560")) { Name = "problemClass" }; incident.Attributes["smp_problemtypeid"] = new EntityReference("smp_problemtype", new Guid("884A078B-0469-E711-80F5-3863BB3C0560")) { Name = "problemType" }; paramCollection.Add("Target", incident); this.pluginContext.InputParametersGet = () => paramCollection; EntityImageCollection postImage = new EntityImageCollection { (new KeyValuePair<string, Entity>("PostImage", incident)) }; Helper.Helper.PluginVariables(this.serviceProvider, this.pluginContext, this.organizationService, 40, "Update", postImage); this.organizationService.RetrieveMultipleQueryBase = (query) => { EntityCollection collection = new EntityCollection(); string entityName = string.Empty; if (query.GetType().Name.Equals("QueryExpression")) { entityName = ((QueryExpression)query).EntityName; } else { entityName = ((QueryByAttribute)query).EntityName; } if (entityName == "smp_problemtypedescription") { Entity configuration = new Entity("smp_configuration"); configuration.Id = new Guid("884A078B-0466-E712-80F5-3863BB3C0560"); configuration["smp_problemtypedescriptionid"] = new Guid("884A078B-0466-E712-80F5-3863BB3C0560"); configuration["smp_problemtypedescriptionname"] = "Sample Name"; collection.Entities.Add(configuration); } if (entityName == "smp_servicerequestproblemtypedesc") { Entity servicerequestproblemtype = new Entity(entityName); servicerequestproblemtype.Id = Guid.NewGuid(); servicerequestproblemtype["smp_servicerequestproblemtypedescid"] = new EntityReference("smp_servicerequestproblemtypedesc", new Guid("884A078B-0466-E711-80F5-3863BB3C0560")); servicerequestproblemtype["smp_problemtypedescriptionid"] = new EntityReference("smp_problemtypedescription", new Guid("884A078B-0466-E711-80F5-3863BB3C0560")); servicerequestproblemtype["smp_answer"] = "Sample Answer"; servicerequestproblemtype["smp_servicerequestid"] = new EntityReference("incident", new Guid("884A078B-0467-E711-80F5-3863BB3C0660")); collection.Entities.Add(servicerequestproblemtype); } return collection; }; this.organizationService.RetrieveStringGuidColumnSet = delegate (string entity, Guid guid, ColumnSet secondaryUserColumnSet) { if (entity == "incident") { Entity incidents = new Entity(entity); incidents["caseorigincode"] = new OptionSetValue(1); incidents["smp_createdfrom"] = new OptionSetValue(1); incident["smp_portalsubmit"] = true; incidents["smp_problembuilding"] = new EntityReference(string.Empty, Guid.NewGuid()); incidents["smp_problemclassid"] = new EntityReference(string.Empty, Guid.NewGuid()); incidents["smp_problemtypeid"] = new EntityReference(string.Empty, Guid.NewGuid()); incidents.Id = new Guid("884A078B-0467-E711-80F5-3863BB3C0660"); return incidents; } else if (entity == "smp_servicerequestproblemtypedesc") { Entity dpnEntity = new Entity(entity); dpnEntity.Id = new Guid("884A078B-0467-E711-80F5-3863BB3C0660"); dpnEntity["statecode"] = 1; dpnEntity["statuscode"] = 2; } return null; }; PostUpdateSRUpdateDynNotes srUpdateDynNotes = new PostUpdateSRUpdateDynNotes(); srUpdateDynNotes.Execute(this.serviceProvider); } }