Example #1
0
 private CommonOpenCrmWebSiteCommand(OleMenuCommandService commandService, int baseIdStart, OpenCrmWebSiteType crmWebSiteType)
     : base(
         commandService
         , baseIdStart
         )
 {
     this._crmWebSiteType = crmWebSiteType;
 }
        public void OpenCrmWebSite(OpenCrmWebSiteType crmWebSiteType)
        {
            var uri = GetOpenCrmWebSiteUrl(crmWebSiteType);

            if (!IsValidUri(uri))
            {
                return;
            }

            System.Diagnostics.Process.Start(uri);
        }
        public string GetOpenCrmWebSiteUrl(OpenCrmWebSiteType crmWebSiteType)
        {
            if (!TryGetPublicUrl(out string publicUrl))
            {
                return(null);
            }

            string relativeUrl = string.Empty;

            if (crmWebSiteType != OpenCrmWebSiteType.CrmWebApplication)
            {
                relativeUrl = GetRelativeUrl(crmWebSiteType);

                if (!string.IsNullOrEmpty(relativeUrl))
                {
                    relativeUrl = '/' + relativeUrl.TrimStart('/');
                }
            }

            var uri = publicUrl.TrimEnd('/') + relativeUrl;

            return(uri);
        }
        private string GetRelativeUrl(OpenCrmWebSiteType crmWebSiteType)
        {
            //

            switch (crmWebSiteType)
            {
            case OpenCrmWebSiteType.AdvancedFind:
                return("/main.aspx?pagetype=advancedfind");

            case OpenCrmWebSiteType.Dashboards:
                return("/workplace/home_dashboards.aspx");

            case OpenCrmWebSiteType.Activities:
                return("/_root/homepage.aspx?etc=4200");

            case OpenCrmWebSiteType.TraceWall:
                return("/_root/tracewall.aspx");

            case OpenCrmWebSiteType.DuplicateDetectionJobs:
                return("/tools/duplicatedetection/systemwideduplicatedetection/home_duplicatedetectionjobs.aspx");

            case OpenCrmWebSiteType.News:
                return("/home/homepage/home_news.aspx");

            case OpenCrmWebSiteType.Solutions:
                //return "/tools/systemcustomization/systemCustomization.aspx?pid=11&web=true";
                return("/tools/Solution/home_solution.aspx?etc=7100");

            case OpenCrmWebSiteType.Customization:
                return("/tools/systemcustomization/systemCustomization.aspx");

            case OpenCrmWebSiteType.SystemUsers:
                return(GetEntityInstanceListRelativeUrl(SystemUser.EntityLogicalName));

            case OpenCrmWebSiteType.Teams:
                return(GetEntityInstanceListRelativeUrl(Team.EntityLogicalName));

            case OpenCrmWebSiteType.Roles:
                return(GetEntityInstanceListRelativeUrl(Role.EntityLogicalName));

            case OpenCrmWebSiteType.Security:
                return("/tools/AdminSecurity/adminsecurity_area.aspx");

            case OpenCrmWebSiteType.Workflows:
                return(GetEntityInstanceListRelativeUrl(Workflow.EntityLogicalName));

            case OpenCrmWebSiteType.SystemJobs:
                return("/tools/business/home_asyncoperation.aspx");

            case OpenCrmWebSiteType.Audit:
                return("/tools/audit/audit_area.aspx");

            case OpenCrmWebSiteType.Administration:
                return("/tools/Admin/admin.aspx");

            case OpenCrmWebSiteType.EngagementHub:
                return("/engagementhub.aspx");

            case OpenCrmWebSiteType.Business:
                return("/tools/business/business.aspx");

            case OpenCrmWebSiteType.Templates:
                return("/tools/templates/templates.aspx");

            case OpenCrmWebSiteType.ProductCatalog:
                return("/tools/productcatalog/productcatalog.aspx");

            case OpenCrmWebSiteType.ServiceManagement:
                return("/tools/servicemanagement/servicemanagement.aspx");

            case OpenCrmWebSiteType.DataManagement:
                return("/tools/DataManagement/datamanagement.aspx");

            case OpenCrmWebSiteType.DocumentManagement:
                return("/tools/documentmanagement/documentmanagement.aspx");

            case OpenCrmWebSiteType.Social:
                return("/tools/social/social_area.aspx");

            case OpenCrmWebSiteType.Calendar:
                return("/workplace/home_calendar.aspx");

            case OpenCrmWebSiteType.MobileOffline:
                return("/tools/mobileoffline/mobileoffline.aspx");

            case OpenCrmWebSiteType.ExternAppManagement:
                return("/tools/externappmanagement/externappmanagement.aspx");

            case OpenCrmWebSiteType.AppsForCrm:
                return("/tools/appsforcrm/AppForOutlookAdminSettings.aspx");

            case OpenCrmWebSiteType.RelationshipIntelligence:
                return("/_static/tools/RelationshipIntelligenceConfig/UnifiedConfig.html");

            case OpenCrmWebSiteType.MicrosoftFlow:
                return("/tools/MicrosoftFlow/FlowTemplatesPage.aspx");

            case OpenCrmWebSiteType.AppModule:
                return("/tools/AppModuleContainer/applandingtilepage.aspx");

            case OpenCrmWebSiteType.AppointmentBook:
                return("/sm/home_apptbook.aspx");
            }

            return(null);
        }
Example #5
0
        public void HandleConnectionOpenCrmWebSiteInWeb(ConnectionData connectionData, OpenCrmWebSiteType crmWebSiteType)
        {
            if (connectionData == null)
            {
                if (!HasCurrentCrmConnection(out ConnectionConfiguration crmConfig))
                {
                    return;
                }

                connectionData = crmConfig.CurrentConnectionData;
            }

            if (connectionData != null)
            {
                CheckWishToChangeCurrentConnection(connectionData);

                try
                {
                    connectionData.OpenCrmWebSite(crmWebSiteType);
                }
                catch (Exception ex)
                {
                    this.WriteErrorToOutput(connectionData, ex);
                }
            }
        }