Esempio n. 1
0
        public static bool GetCrmServiceClient(DTE dte)
        {
            var check = UtilityPackage.GetGlobal("CrmServiceClient", dte);

            if (check == null)
            {
                var form = new FormConnection2(dte);
                if (form.ShowDialog() == DialogResult.Cancel)
                {
                    return(false);
                }
                if (form.Check == "1")
                {
                    var loginForm = new FormLogin();
                    loginForm.ConnectionToCrmCompleted += loginForm_ConnectionToCrmCompleted;
                    loginForm.ShowDialog();
                    if (loginForm.CrmConnectionMgr != null && loginForm.CrmConnectionMgr.CrmSvc != null && loginForm.CrmConnectionMgr.CrmSvc.IsReady)
                    {
                        UtilityPackage.SetGlobal("CrmUrl", XrmHelper.ConnectedUrl(loginForm.CrmConnectionMgr.CrmSvc), dte);
                        UtilityPackage.SetGlobal("CrmServiceClient", loginForm.CrmConnectionMgr.CrmSvc, dte);
                    }
                    else
                    {
                        UtilityPackage.SetDTEStatusBar(dte, "Connection failed");
                        return(false);
                    }
                }
                else
                {
                    UtilityPackage.SetGlobal("CrmUrl", XrmHelper.ConnectedUrl(form.CrmServiceClient), dte);
                    UtilityPackage.SetGlobal("CrmServiceClient", form.CrmServiceClient, dte);
                }
            }
            return(true);
        }
Esempio n. 2
0
        private static bool IsValid(CommandLineArgs arguments)
        {
            if (arguments.SdkLogin.Length > 0 && arguments.SdkLogin.ToLower() == "yes")
            {
                ;
            }
            else
            {
                if (arguments.Connection.Length == 0)
                {
                    CliLog.WriteLine(CliLog.ColorError, $"/conn: missing");
                    return(false);
                }
            }
            if (arguments.Json.Length == 0)
            {
                CliLog.WriteLine(CliLog.ColorError, $"/json: missing");
                return(false);
            }
            var jsonFile = Path.Combine(CurrentDirectory, arguments.Json);

            if (!File.Exists(jsonFile))
            {
                CliLog.WriteLine(CliLog.ColorError, $"/json: DynamicsCrm.DevKit json missing [{jsonFile}]");
                return(false);
            }
            if (arguments.Type.Length == 0)
            {
                CliLog.WriteLine(CliLog.ColorError, $"/type: missing");
                return(false);
            }
            if (arguments.Profile.Length == 0)
            {
                CliLog.WriteLine(CliLog.ColorError, $"/profile: missing");
                return(false);
            }
            if (arguments.SdkLogin.Length > 0 && arguments.SdkLogin.ToLower() == "yes")
            {
                if (arguments.Type.ToLower() != "proxytypes")
                {
                    if (!IsConnectedDynamics365BySdkLogin())
                    {
                        CliLog.WriteLine(CliLog.ColorError, $"SdkLogin failed !!!");
                        return(false);
                    }
                }
            }
            else
            {
                if (!IsConnectedDynamics365(XrmHelper.BuildConnectionString(arguments.Connection)))
                {
                    CliLog.WriteLine(CliLog.ColorError, $"/conn: Cannot connect to Dynamics 365 with your Connection String: {XrmHelper.BuildConnectionStringLog2(arguments.Connection)}");
                    return(false);
                }
            }
            if (CrmServiceClient != null)
            {
                CliLog.WriteLine(CliLog.ColorWhite, "|");
                CliLog.WriteLine(CliLog.ColorWhite, "|", CliLog.ColorGreen, "Connected: ", CliLog.ColorWhite, XrmHelper.ConnectedUrl(CrmServiceClient));
                CliLog.WriteLine(CliLog.ColorWhite, "|", CliLog.ColorGreen, "Connection Timeout (seconds): ", CliLog.ColorWhite, CrmServiceClient.MaxConnectionTimeout.TotalSeconds.ToString("#,###"));
            }
            CliLog.WriteLine(CliLog.ColorWhite, "|");
            return(true);
        }