public static void Main(string[] args)
        {
            Console.Clear();
            UserTerminal ui = new UserTerminal();

            ui.Run();
        }
Esempio n. 2
0
        private void RefreshTerminals(Users user = null)
        {
            this.panel1.Controls.Clear();
            string sql = "select * from Terminals";

            if (user != null)
            {
                sql += " where UserID=" + user.ID;
            }
            else
            {
                sql += " order by UserID desc, TypeID desc";
            }
            DataTable dt = null;

            try
            {
                SQLDBHelper sqlHelper = new SQLDBHelper();
                dt = sqlHelper.Query(sql);
            }
            catch (Exception e)
            {
                MessageBox.Show("数据库操作失败:" + e.Message);
                info.Text = "数据库操作失败:" + e.Message + " - " + Common.GetNow();
            }
            if (dt != null && dt.Rows.Count > 0)
            {
                info.Text = "终端载入中,请稍候... - " + Common.GetNow();
                List <Terminals> terms = new List <Terminals>();
                UserTerminal     ut    = null;
                int       userid       = Convert.ToInt32(dt.Rows[0]["UserID"]);
                Terminals term         = null;
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    if (Convert.ToInt32(dt.Rows[i]["UserID"]) != userid)
                    {
                        ut      = new UserTerminal();
                        ut.Dock = DockStyle.Top;
                        if (user != null)
                        {
                            ut.User = user;
                        }
                        else
                        {
                            ut.User = GetUserById(userid);
                        }
                        Terminals[] ts = new Terminals[terms.Count];
                        terms.CopyTo(ts);
                        ut.Terminals = new List <Terminals>(ts);
                        this.panel1.Controls.Add(ut);
                        terms.Clear();
                        userid = Convert.ToInt32(dt.Rows[i]["UserID"]);
                    }
                    term        = new Terminals();
                    term.ID     = Convert.ToInt32(dt.Rows[i]["ID"]);
                    term.TypeID = Convert.ToInt32(dt.Rows[i]["TypeID"]);
                    term.Name   = dt.Rows[i]["Name"].ToString();
                    term.IP     = dt.Rows[i]["IP"].ToString();
                    term.UserID = Convert.ToInt32(dt.Rows[i]["UserID"]);
                    if (dt.Rows[i]["SIM"] != null && dt.Rows[i]["SIM"] != DBNull.Value)
                    {
                        term.SIM = dt.Rows[i]["SIM"].ToString();
                    }
                    else
                    {
                        term.SIM = string.Empty;
                    }
                    if (dt.Rows[i]["Remark"] != null && dt.Rows[i]["Remark"] != DBNull.Value)
                    {
                        term.Remark = dt.Rows[i]["Remark"].ToString();
                    }
                    else
                    {
                        term.Remark = string.Empty;
                    }
                    term.RunStatus = Convert.ToInt32(dt.Rows[i]["RunStatus"]);
                    term.IsEnable  = Convert.ToBoolean(dt.Rows[i]["IsEnable"]);
                    terms.Add(term);
                }
                ut      = new UserTerminal();
                ut.Dock = DockStyle.Top;
                if (user != null)
                {
                    ut.User = user;
                }
                else
                {
                    ut.User = GetUserById(userid);
                }
                ut.Terminals = terms;
                this.panel1.Controls.Add(ut);
                if (user != null)
                {
                    info.Text = "载入完毕:用户[" + ut.UserName + "]共有" + ut.TerminalCount + "个终端" + " - " + Common.GetNow();
                }
                else
                {
                    info.Text = "载入完毕:系统中共有" + this.panel1.Controls.Count + "个用户" + " - " + Common.GetNow();
                }
            }
            else
            {
                info.Text = "系统中尚未存在任何用户" + " - " + Common.GetNow();
            }
        }
Esempio n. 3
0
        public static void Main(string[] args)
        {
            var            terminal      = new UserTerminal();
            IQuestionnaire questionnaire = new Questionnaire(terminal);

            questionnaire.Settings.WelcomeMessage = "Welcome to my questionnaire";

            bool Validator(IQuestion x) => x.Answer.Length > 0;

            var errorMessage = "Please Provide a value";

            IQuestionBuilder builder = new QuestionBuilder();

            var askName = builder.Simple().Text("What's your name?").Build();

            var askFamily = builder.Simple().Text("What's your family?").AddValidation(Validator, errorMessage).Build();

            builder.List()
            .Text("What's your favorite language?")
            .AddOptions(new []
            {
                new QuestionOption("Persian"),
                new QuestionOption("English"),
                new QuestionOption("Italian"),
                new QuestionOption("Spanish"),
                new QuestionOption("French"),
                new QuestionOption("German")
            })
            .WithHint("Persian")
            .WithDefaultAnswer("Persian")
            .AddValidation(x => x.Answer != null)
            //.AsCheckList( )
            .WithErrorMessage("You must select an option")
            .AddToQuestionnaire(questionnaire)
            ;

            questionnaire
            .Add(askName)
            .Add(askFamily)
            ;

            questionnaire.Start();

            var add = true;

            // loop until there is a question to ask
            while (questionnaire.CanProceed)
            {
                if (add)
                {
                    var confirm = builder.Simple()
                                  .Text("Are you older than 18?")
                                  .AsConfirm()
                                  .WithHint("Y/n")
                                  .WithDefaultAnswer("y")
                                  .AddValidation(x =>
                    {
                        var q = (Confirm)x;
                        return(q.PossibleAnswers.Contains(x.Answer));
                    }, "Your value should be either 'y' or 'n'")
                                  .Build();

                    confirm.Finish(q =>
                    {
                        if (q.Answer != "y")
                        {
                            return;
                        }

                        var agePrompt = builder.Simple()
                                        .Text("How old are you?")
                                        .AddValidation(x =>
                        {
                            int.TryParse(x.Answer, out var age);

                            return(age >= 18);
                        }, "Your must be older than 18")
                                        .Build();

                        questionnaire.Prompt(agePrompt as Prompt);
                    });

                    questionnaire.Confirm(confirm as Confirm);

                    add = false;
                }

                questionnaire.Next();
            }

            questionnaire.End();

            // Print Processed questions
            foreach (var q in questionnaire.ProcessedQuestions)
            {
                terminal.Printer.Write($"{q.Text} : {q.Answer}");
                terminal.Printer.WriteLine();
            }

            Console.ReadLine();
        }