コード例 #1
0
        public string CreateArgString()
        {
            var args = new List <string>();

            RuntimeArguments.IterateAllArguments((name, value) =>
            {
                if (value != null)
                {
                    args.Add(CommandLineHelper.CreateArgString(name, value));
                }
                return(true);
            });
            return(String.Join(" ", args));
        }
コード例 #2
0
ファイル: ExecuteSqlFileRuntimeTask.cs プロジェクト: rkm/RDMP
        public override ExitCodeType Run(IDataLoadJob job, GracefulCancellationToken cancellationToken)
        {
            var db = RuntimeArguments.StageSpecificArguments.DbInfo;

            _loadStage = RuntimeArguments.StageSpecificArguments.LoadStage;

            if (!Exists())
            {
                throw new Exception("The sql file " + Filepath + " does not exist");
            }

            string commandText;

            try
            {
                commandText = File.ReadAllText(Filepath);

                // Any string arguments refer to tokens that are to be replaced in the SQL file
                foreach (var kvp in RuntimeArguments.GetAllArgumentsOfType <string>())
                {
                    var value = kvp.Value;

                    if (value.Contains("<DatabaseServer>"))
                    {
                        value = value.Replace("<DatabaseServer>", RuntimeArguments.StageSpecificArguments.DbInfo.Server.Name);
                    }

                    if (value.Contains("<DatabaseName>"))
                    {
                        value = value.Replace("<DatabaseName>", RuntimeArguments.StageSpecificArguments.DbInfo.GetRuntimeName());
                    }

                    commandText = commandText.Replace("##" + kvp.Key + "##", value);
                }
            }
            catch (Exception e)
            {
                throw new Exception("Could not read the sql file at " + Filepath + ": " + e);
            }

            job.OnNotify(this, new NotifyEventArgs(ProgressEventType.Information, "Executing script " + Filepath + " (" + db.DescribeDatabase() + ")"));
            var executer = new ExecuteSqlInDleStage(job, _loadStage);

            return(executer.Execute(commandText, db));
        }
コード例 #3
0
ファイル: Program.cs プロジェクト: theding0/Miunie
        private static async Task Main(string[] args)
        {
            Console.Title = ConsoleStrings.BOT_NAME;
            _miunie       = ActivatorUtilities.CreateInstance <MiunieBot>(InversionOfControl.Provider);

            _args = ArgumentsParser.Parse(args);

            if (_args.Headless)
            {
                await RunHeadless();
            }

            _serverMenu = new ServerMenu(_miunie);

            _configManager = InversionOfControl.Provider.GetRequiredService <ConfigManager>();
            _editor        = InversionOfControl.Provider.GetRequiredService <ConfigurationFileEditor>();
            _miunie.MiunieDiscord.ConnectionChanged += MiunieOnConnectionStateChanged;
            await HandleInput();
        }