public static void Main(string[] args) { Console.Clear(); UserTerminal ui = new UserTerminal(); ui.Run(); }
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(); } }
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(); }