private string CreateCommandArgsLog() { var command = new StringBuilder(); if (arguments.SdkLogin.Length > 0 && arguments.SdkLogin.ToLower() == "yes") { command.Append("/interactivelogin "); } else { command.Append($"/connectionstring:\"{XrmHelper.BuildConnectionStringLog2(arguments.Connection)}\" "); } if (json.entities != null && json.entities.Length > 0) { if (json.entities != "*" && json.entities.ToLower() != "all") { command.Append($"/codewriterfilter:\"DynamicsCrm.DevKit.CrmSvcUtilExtensions.CodeWriterFilter,DynamicsCrm.DevKit.CrmSvcUtilExtensions\" "); } } command.Append($"/nologo "); command.Append($"/SuppressGeneratedCodeAttribute "); command.Append($"/generateActions "); command.Append($"/namespace:\"{json.@namespace}\" "); command.Append($"/out:\"{json.output}\""); return(command.ToString()); }
private static void CrmCli(CommandLineArgs arguments) { #if DEBUG CliLog.WriteLine(CliLog.ColorRed, new string('█', CliLog.StarLength + 10)); CliLog.WriteLine(CliLog.ColorRed, " DEBUG MODE"); CliLog.WriteLine(CliLog.ColorRed, new string('█', CliLog.StarLength + 10)); #endif CliLog.WriteLine(CliLog.ColorGreen, " ____ _ ____ ____ _ ___ _ ____ _ _ "); CliLog.WriteLine(CliLog.ColorGreen, "| _ \\ _ _ _ __ __ _ _ __ ___ (_) ___ ___ / ___|_ __ _ __ ___ | _ \\ _____ _| |/ (_) |_ / ___| (_)"); CliLog.WriteLine(CliLog.ColorGreen, "| | | | | | | '_ \\ / _` | '_ ` _ \\| |/ __/ __| | | '__| '_ ` _ \\ | | | |/ _ \\ \\ / / ' /| | __|| | | | |"); CliLog.WriteLine(CliLog.ColorGreen, "| |_| | |_| | | | | (_| | | | | | | | (__\\__ \\ |___| | | | | | | |_| |_| | __/\\ V /| . \\| | |_ | |___| | |"); CliLog.WriteLine(CliLog.ColorGreen, "|____/ \\__, |_| |_|\\__,_|_| |_| |_|_|\\___|___/\\____|_| |_| |_| |_(_)____/ \\___| \\_/ |_|\\_\\_|\\__(_)____|_|_|"); CliLog.WriteLine(CliLog.ColorGreen, " |___/ ", CliLog.ColorWhite, "https://github.com/phuocle/Dynamics-Crm-DevKit", CliLog.ColorBlue, $" {Const.Version}", CliLog.ColorWhite, " Build: ", CliLog.ColorBlue, Const.BuildDate); CliLog.WriteLine(); CliLog.WriteLine(CliLog.ColorWhite, "|", CliLog.ColorGreen, "Current directory path: ", CliLog.ColorWhite, CurrentDirectory); CliLog.WriteLine(CliLog.ColorWhite, "|", CliLog.ColorGreen, "DynamicsCrm.DevKit.Cli.exe path: ", CliLog.ColorWhite, Assembly.GetExecutingAssembly().Location); #if !DEBUG try { #endif var jsonFile = Path.Combine(CurrentDirectory, arguments.Json); var jsonFileInfo = new FileInfo(jsonFile); CliLog.WriteLine(CliLog.ColorWhite, "|", CliLog.ColorGreen, "DynamicsCrm.DevKit.Cli.json path: ", CliLog.ColorWhite, jsonFileInfo.FullName); if (arguments.SdkLogin.Length > 0 && arguments.SdkLogin.ToLower() == "yes") { CliLog.WriteLine(CliLog.ColorWhite, "|", CliLog.ColorGreen, "Arguments: ", CliLog.ColorMagenta, "/sdklogin:"******"\"yes\"", " ", CliLog.ColorMagenta, "/json:", CliLog.ColorWhite, "\"" + arguments.Json, "\" ", CliLog.ColorMagenta, "/type:", CliLog.ColorWhite, "\"" + arguments.Type, "\" ", CliLog.ColorMagenta, "/profile:", CliLog.ColorWhite, "\"" + arguments.Profile + "\"" ); } else { CliLog.WriteLine(CliLog.ColorWhite, "|", CliLog.ColorGreen, "Arguments: ", CliLog.ColorMagenta, "/conn:", CliLog.ColorWhite, "\"" + XrmHelper.BuildConnectionStringLog2(arguments.Connection), "\" ", CliLog.ColorMagenta, "/json:", CliLog.ColorWhite, "\"" + arguments.Json, "\" ", CliLog.ColorMagenta, "/type:", CliLog.ColorWhite, "\"" + arguments.Type, "\" ", CliLog.ColorMagenta, "/profile:", CliLog.ColorWhite, "\"" + arguments.Profile + "\"" ); } Run(arguments); #if DEBUG CliLog.WriteLine(CliLog.ColorRed, new string('█', CliLog.StarLength + 10)); CliLog.WriteLine(CliLog.ColorRed, "!!! FINISHED !!!"); CliLog.WriteLine(CliLog.ColorRed, new string('█', CliLog.StarLength + 10)); Console.ReadKey(); #endif #if !DEBUG } catch (Exception e) { CliLog.WriteLine(CliLog.ColorError, $"{e.Message}"); Console.ReadKey(); } #endif }
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); }