Beispiel #1
0
        public EpSqlGenerator(string[] inputArgs)
        {
            //:arStavy:array:'P9','K9','O9' :asProdukt:string:UO :adOd:date:4.2.2015 :anZmluva:number:505115
            // Test.sql -oMyOutputfile  -aarStavy:array:'P9','K9','O9' -aanStavy:array:31,32,33 -aasProdukt:string:UO -aadOd:date:4.2.2015 -aanZmluva:number:505115
            foreach (var arg in inputArgs)
            {
                if (arg[0] == '-')
                {
                    if (arg[1] == 'o')
                    {
                        outFileName = (arg[2] == ':') ? arg.Substring(3).Trim() : arg.Substring(2).Trim();
                    }
                    else if (arg[1] == 'c')
                    {
                        repConnectString = (arg[2] == ':') ? arg.Substring(3).Trim() : arg.Substring(2).Trim();
                    }
                    else if (arg[1] == 'j')
                    {
                        outFormat = ".json";
                        if (arg.Length == 3 && arg[2] == 'c')
                        {
                            SimpleLog.DisableConsole(true);
                            consoleMode   = true;
                            enabledOutput = false;
                        }
                    }
                    else if (arg[1] == 'e' && arg.Length == 3 && arg[2] == 'o')
                    {
                        enabledOutput = true;
                    }
                    else if (arg[1] == 'e' && arg.Length == 3 && arg[2] == 'c')
                    {
                        SimpleLog.DisableConsole(true);
                        enabledConsoleLog = true;
                    }
                    else if (arg[1] == 'd' && arg.Length == 3 && arg[2] == 't')
                    {
                        enabledTimestamp = false;
                    }
                    else if (arg[1] == 'h')
                    {
                        WriteHelp();
                        System.Environment.Exit(0);
                    }
                    else if (arg[1] == 'v')
                    {
                        Console.WriteLine(System.AppDomain.CurrentDomain.FriendlyName + " version: " + System.Reflection.Assembly.GetEntryAssembly().GetName().Version);
                        string osplatform;
                        if (System.Runtime.InteropServices.RuntimeInformation.IsOSPlatform(System.Runtime.InteropServices.OSPlatform.Windows))
                        {
                            osplatform = "Windows";
                        }
                        else if (System.Runtime.InteropServices.RuntimeInformation.IsOSPlatform(System.Runtime.InteropServices.OSPlatform.OSX))
                        {
                            osplatform = "OSX";
                        }
                        else if (System.Runtime.InteropServices.RuntimeInformation.IsOSPlatform(System.Runtime.InteropServices.OSPlatform.Linux))
                        {
                            osplatform = "Linux";
                        }
                        else
                        {
                            osplatform = "Unknown";
                        }
                        Console.WriteLine("Enviroment OS: " + Environment.OSVersion.Platform + ", platform ID " + (int)Environment.OSVersion.Platform);
                        Console.WriteLine("OsPlatform   : " + osplatform);
                        Console.WriteLine("Architecture : " + System.Runtime.InteropServices.RuntimeInformation.OSArchitecture);
                        Console.WriteLine("OsDescription: " + System.Runtime.InteropServices.RuntimeInformation.OSDescription);
                        System.Environment.Exit(0);
                    }
                    else if (arg[1] == 'a')
                    {
                        string[] argdetails = (arg[2] == ':') ? arg.Substring(3).Split(':') : arg.Substring(2).Split(':');
                        if (argdetails[1].ToLower() == "string" || argdetails[1].ToLower().Contains("char"))
                        {
                            arguments.Add(argdetails[0], argdetails[2]);
                        }
                        else if (argdetails[1].ToLower().Contains("date") || argdetails[1].ToLower().Contains("datetime"))
                        {
                            arguments.Add(argdetails[0], DateTime.Parse(argdetails[2]));
                        }
                        else if (argdetails[1].ToLower() == "integer" || argdetails[1].ToLower() == "int")
                        {
                            arguments.Add(argdetails[0], int.Parse(argdetails[2]));
                        }
                        else if (argdetails[1].ToLower() == "decimal" || argdetails[1].ToLower() == "number")
                        {
                            arguments.Add(argdetails[0], decimal.Parse(argdetails[2]));
                        }
                        else if (argdetails[1].ToLower().Contains("array"))
                        {
                            var items = argdetails[2].Split(',');
                            if (argdetails[2].Contains("'") || argdetails[1].ToLower().Contains("string") || argdetails[1].ToLower().Contains("char"))
                            {
                                List <string> vals = new List <string>();
                                foreach (var item in items)
                                {
                                    vals.Add(item.Replace("'", ""));
                                }
                                arguments.Add(argdetails[0], vals.ToArray());
                            }
                            else
                            {
                                List <int> vals = new List <int>();
                                foreach (var item in items)
                                {
                                    vals.Add(int.Parse(item));
                                }
                                arguments.Add(argdetails[0], vals.ToArray());
                            }
                        }
                    }
                }
                else
                // ide o naazov suboru s definiciou
                if (arg.ToLower().IndexOf(".sql") > 0 || arg.ToLower().IndexOf(".json") > 0)
                {
                    defFileName = arg;
                }
            }

            // Logging only after initialeze console output
            SimpleLog.WriteLog("Input arguments {");
            foreach (var arg in inputArgs)
            {
                SimpleLog.WriteLog(arg, false);
            }
            SimpleLog.WriteLog("}", false);
            SimpleLog.WriteLog("", false);
            if (repConnectString == null)
            {
                repConnectString = "ReportConnString";
            }
        }
Beispiel #2
0
        public EpSqlGenerator(string[] inputArgs)
        {
            //:arStavy:array:'P9','K9','O9' :asProdukt:string:UO :adOd:date:4.2.2015 :anZmluva:number:505115
            // Test.sql -oMyOutputfile  -aarStavy:array:'P9','K9','O9' -aanStavy:array:31,32,33 -aasProdukt:string:UO -aadOd:date:4.2.2015 -aanZmluva:number:505115
            foreach (var arg in inputArgs)
            {
                if (arg[0] == '-')
                {
                    if (arg[1] == 'o')
                    {
                        outFileName = (arg[2] == ':') ? arg.Substring(3).Trim() : arg.Substring(2).Trim();
                    }
                    else if (arg[1] == 'c')
                    {
                        repConnectString = (arg[2] == ':') ? arg.Substring(3).Trim() : arg.Substring(2).Trim();
                    }
                    else if (arg[1] == 'j')
                    {
                        outFormat = ".json";
                        if (arg.Length == 3 && arg[2] == 'c')
                        {
                            SimpleLog.DisableConsole(true);
                            consoleMode   = true;
                            enabledOutput = false;
                        }
                    }
                    else if (arg[1] == 'e' && arg.Length == 3 && arg[2] == 'o')
                    {
                        enabledOutput = true;
                    }
                    else if (arg[1] == 'e' && arg.Length == 3 && arg[2] == 'c')
                    {
                        SimpleLog.DisableConsole(true);
                        enabledConsoleLog = true;
                    }
                    else if (arg[1] == 'd' && arg.Length == 3 && arg[2] == 't')
                    {
                        enabledTimestamp = false;
                    }
                    else if (arg[1] == 'v')
                    {
                        //Console.WriteLine(System.Reflection.Assembly.GetExecutingAssembly().GetName().ToString());
                        if (System.Deployment.Application.ApplicationDeployment.IsNetworkDeployed)
                        {
                            Console.WriteLine(System.Deployment.Application.ApplicationDeployment.CurrentDeployment.CurrentVersion.ToString(4));
                        }
                        else
                        {
                            Console.WriteLine("Debug version:" + System.Reflection.Assembly.GetExecutingAssembly().GetName().ToString());
                        }
                        System.Environment.Exit(0);
                    }
                    else if (arg[1] == 'h')
                    {
                        WriteHelp();
                        System.Environment.Exit(0);
                    }
                    else if (arg[1] == 'a')
                    {
                        string[] argdetails = (arg[2] == ':')  ? arg.Substring(3).Split(':') :  arg.Substring(2).Split(':');
                        if (argdetails[1].ToLower() == "string" || argdetails[1].ToLower().Contains("char"))
                        {
                            arguments.Add(argdetails[0], argdetails[2]);
                        }
                        else if (argdetails[1].ToLower().Contains("date"))
                        {
                            arguments.Add(argdetails[0], DateTime.Parse(argdetails[2]));
                        }
                        else if (argdetails[1].ToLower() == "integer" || argdetails[1].ToLower() == "int")
                        {
                            arguments.Add(argdetails[0], int.Parse(argdetails[2]));
                        }
                        else if (argdetails[1].ToLower() == "decimal" || argdetails[1].ToLower() == "number")
                        {
                            arguments.Add(argdetails[0], decimal.Parse(argdetails[2]));
                        }
                        else if (argdetails[1].ToLower().Contains("array"))
                        {
                            var items = argdetails[2].Split(',');
                            if (argdetails[2].Contains("'") || argdetails[1].ToLower().Contains("string") || argdetails[1].ToLower().Contains("char"))
                            {
                                List <string> vals = new List <string>();
                                foreach (var item in items)
                                {
                                    vals.Add(item.Replace("'", ""));
                                }
                                arguments.Add(argdetails[0], vals.ToArray());
                            }
                            else
                            {
                                List <int> vals = new List <int>();
                                foreach (var item in items)
                                {
                                    vals.Add(int.Parse(item));
                                }
                                arguments.Add(argdetails[0], vals.ToArray());
                            }
                        }
                    }
                }
                else
                // ide o naazov suboru s definiciou
                if (arg.ToLower().IndexOf(".sql") > 0 || arg.ToLower().IndexOf(".json") > 0)
                {
                    defFileName = arg;
                }
            }

            // Logging only after initialeze console output
            SimpleLog.WriteLog("Input arguments {");
            foreach (var arg in inputArgs)
            {
                SimpleLog.WriteLog(arg, false);
            }
            SimpleLog.WriteLog("}", false);
            SimpleLog.WriteLog("", false);
            if (repConnectString == null)
            {
                repConnectString = "ReportConnString";
            }
        }