Ejemplo n.º 1
0
        private static AppArgsModel getAppArgsModel(Dictionary <string, string> args)
        {
            AppArgsModel result = new AppArgsModel();

            if (args.ContainsKey("noui"))
            {
                result.NoUI = args["noui"] == "true";
            }

            if (args.ContainsKey("server"))
            {
                result.Server = args["server"];
            }

            if (args.ContainsKey("server"))
            {
                result.Server = args["server"];
            }
            if (args.ContainsKey("sspi"))
            {
                result.IsSSPI = args["sspi"] == "true";
            }
            if (!result.IsSSPI)
            {
                if (args.ContainsKey("user"))
                {
                    result.User = args["user"];
                }
                if (args.ContainsKey("login"))
                {
                    result.Login = args["login"];
                }
            }
            if (args.ContainsKey("db"))
            {
                result.Db = args["db"];
            }

            if (args.ContainsKey("company"))
            {
                result.Company = args["company"].ToInt();
            }
            if (args.ContainsKey("agreement"))
            {
                result.Agreement = args["agreement"].ToInt();
            }

            return(result);
        }
Ejemplo n.º 2
0
        // Initialization code. Don't use any Avalonia, third-party APIs or any
        // SynchronizationContext-reliant code before AppMain is called: things aren't initialized
        // yet and stuff might break.
        public static int Main(string[] args)
        {
            Console.WriteLine(DateTime.Now.ToString("dd.MM.yyyy HH:mm:ss") + ": Start...");

            dictArgs  = getArgsParams(args);
            argsModel = getAppArgsModel(dictArgs !);

            if (argsModel.NoUI)
            {
                App.runWithArgs(null, new Views.MainWindowViewModel(), argsModel);
                while (!IsFinish)
                {
                    Thread.Sleep(500);
                }
                return(0);
            }
            else
            {
                return(BuildAvaloniaApp().StartWithClassicDesktopLifetime(args));
            }
        }
Ejemplo n.º 3
0
        internal static void runWithArgs(IClassicDesktopStyleApplicationLifetime?app, MainWindowViewModel dataContext, AppArgsModel args)
        {
            //server=.;sspi=true;user=sa;login=1;db=GlobalParts;company=12;agreement=7
            if (args == null)
            {
                return;
            }

            ConnectViewModel?cvm = dataContext.CurrentContent as ConnectViewModel;

            if (cvm == null)
            {
                return;
            }

            if (Program.dictArgs.ContainsKey("server"))
            {
                cvm.Connection.DataSource = args.Server;
            }
            if (Program.dictArgs.ContainsKey("sspi"))
            {
                cvm.Connection.IsSSPI = args.IsSSPI;
            }
            if (!cvm.Connection.IsSSPI)
            {
                if (Program.dictArgs.ContainsKey("user"))
                {
                    cvm.Connection.UserID = args.User;
                }
                if (Program.dictArgs.ContainsKey("login"))
                {
                    cvm.Connection.Password = args.Login;
                }
            }
            if (Program.dictArgs.ContainsKey("db"))
            {
                cvm.Connection.InitialCatalog = args.Db;
            }

            if (!dataContext.Next())
            {
                return;
            }

            SelectAgreementsViewModel?savm = dataContext.CurrentContent as SelectAgreementsViewModel;

            if (savm == null)
            {
                return;
            }

            savm.SelectOneRecordAgreements(args.Company, args.Agreement);

            if (args.NoUI)
            {
                dataContext.onEndExport = () =>
                {
                    Console.WriteLine(DateTime.Now.ToString("dd.MM.yyyy HH:mm:ss") + ": Finish...");
                    Program.IsFinish = true;
                }
            }
            ;
            else
            {
                dataContext.onEndExport = () => Dispatcher.UIThread.InvokeAsync((Action) delegate()
                {
                    Console.WriteLine(DateTime.Now.ToString("dd.MM.yyyy HH:mm:ss") + ": Finish...");
                    Program.IsFinish = true;
                    if (app != null)
                    {
                        app.Shutdown(0);
                    }
                });
            }

            if (!dataContext.Next())
            {
                return;
            }
        }