Esempio n. 1
0
        private void CreateSharePointLinks()
        {
            var defaultSiteId = CrmSvc.CreateNewRecord("sharepointsite", new Dictionary <string, CrmDataTypeWrapper>
            {
                { "name", new CrmDataTypeWrapper("Default Site", CrmFieldType.String) },
                { "absoluteurl", new CrmDataTypeWrapper($"https://{SharePointDomain.Value}", CrmFieldType.String) }
            });
            var proposalManagerSiteId = CrmSvc.CreateNewRecord("sharepointsite", new Dictionary <string, CrmDataTypeWrapper>
            {
                { "name", new CrmDataTypeWrapper("Proposal Manager Site", CrmFieldType.String) },
                { "parentsite", new CrmDataTypeWrapper(defaultSiteId, CrmFieldType.Lookup, "sharepointsite") },
                { "relativeurl", new CrmDataTypeWrapper($"sites/{ProposalManagerSharePointSiteName.Value}", CrmFieldType.String) }
            });
            var proposalManagerSiteDriveId = CrmSvc.CreateNewRecord("sharepointdocumentlocation", new Dictionary <string, CrmDataTypeWrapper>
            {
                { "name", new CrmDataTypeWrapper("Proposal Manager Site Drive", CrmFieldType.String) },
                { "parentsiteorlocation", new CrmDataTypeWrapper(proposalManagerSiteId, CrmFieldType.Lookup, "sharepointsite") },
                { "relativeurl", new CrmDataTypeWrapper(DriveName.Value, CrmFieldType.String) }
            });

            CrmSvc.CreateNewRecord("sharepointdocumentlocation", new Dictionary <string, CrmDataTypeWrapper>
            {
                { "name", new CrmDataTypeWrapper("Proposal Manager Temporary Folder", CrmFieldType.String) },
                { "parentsiteorlocation", new CrmDataTypeWrapper(proposalManagerSiteDriveId, CrmFieldType.Lookup, "sharepointdocumentlocation") },
                { "relativeurl", new CrmDataTypeWrapper("TempFolder", CrmFieldType.String) }
            });
        }
Esempio n. 2
0
 /// <summary>
 ///
 /// </summary>
 /// <returns>The created user id.</returns>
 private Guid CreateProposalManagerUser() => CrmSvc.CreateNewRecord("systemuser", new Dictionary <string, CrmDataTypeWrapper>
 {
     { "firstname", new CrmDataTypeWrapper(ProposalManagerApplicationName, CrmFieldType.String) },
     { "lastname", new CrmDataTypeWrapper("Application", CrmFieldType.String) },
     { "businessunitid", new CrmDataTypeWrapper(BusinessUnitId.Value, CrmFieldType.Lookup, "businessunit") },
     { "applicationid", new CrmDataTypeWrapper(ProposalManagerApplicationId.Value, CrmFieldType.UniqueIdentifier) },
     { "internalemailaddress", new CrmDataTypeWrapper($"{Guid.NewGuid()}@{TenantDomain.Value}", CrmFieldType.String) }
 });
Esempio n. 3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="entityName"></param>
        /// <param name="entityOtc"></param>
        /// <param name="executionMode"></param>
        /// <returns>The secret used to secure the webhook.</returns>
        private string SetUpWebhook(string entityName, int entityOtc, ExecutionMode executionMode)
        {
            var secret = GenerateSecret();
            var opportunitiesServiceEndpointId = CrmSvc.CreateNewRecord("serviceendpoint", new Dictionary <string, CrmDataTypeWrapper>
            {
                { "name", new CrmDataTypeWrapper($"Proposal Manager {entityName}", CrmFieldType.String) },
                { "url", new CrmDataTypeWrapper($"{ProposalManagerApplicationUrl.Value}/api/webhooks/incoming/dynamicscrm/{entityName}", CrmFieldType.String) },
                { "contract", new CrmDataTypeWrapper(WebhookContractEnumValue, CrmFieldType.Picklist) },
                { "authtype", new CrmDataTypeWrapper(WebhookKeyAuthTypeEnumValue, CrmFieldType.Picklist) },
                { "authvalue", new CrmDataTypeWrapper(secret, CrmFieldType.String) }
            });

            /*var filterId = GetCreateFilterIdByOtc(entityOtc);
             * CrmSvc.CreateNewRecord("sdkmessageprocessingstep", new Dictionary<string, CrmDataTypeWrapper>
             * {
             *  { "sdkmessageid", new CrmDataTypeWrapper(CreateMessageId.Value, CrmFieldType.Lookup, "sdkmessage") },
             *  { "sdkmessagefilterid", new CrmDataTypeWrapper(filterId, CrmFieldType.Lookup, "sdkmessagefilter") },
             *  { "plugintypeid", new CrmDataTypeWrapper(filterId, CrmFieldType.Lookup, "sdkmessagefilter") },
             *  { "mode", new CrmDataTypeWrapper(executionMode, CrmFieldType.Picklist) },
             *  { "stage", new CrmDataTypeWrapper(PostOperationStage, CrmFieldType.Picklist) }
             * });
             * //throw new Exception(CrmSvc.LastCrmError);*/
            return(secret);
        }
Esempio n. 4
0
 /// <summary>
 ///
 /// </summary>
 /// <returns>The created role id.</returns>
 private Guid CreateRole() => CrmSvc.CreateNewRecord("role", new Dictionary <string, CrmDataTypeWrapper>
 {
     { "name", new CrmDataTypeWrapper(ProposalManagerApplicationName, CrmFieldType.String) },
     { "businessunitid", new CrmDataTypeWrapper(BusinessUnitId.Value, CrmFieldType.Lookup, "businessunit") }
 });