public SettingsController(MainViewTabBarController model) : base(UITableViewStyle.Grouped, null) { this.Title = "Settings"; _settingsDialog = new SettingsDialogModel (); _settingsModel = new SettingsModel (); Initialize (model); }
protected void Initialize(MainViewTabBarController model) { Root = new RootElement ("Settings") { // new Section () { // new RootElement ("User Account") { // new Section(){ // new StringElement ("Username Info"), // new StringElement ("Name info") // } // } // }, new Section ("Texting while driving") { (_settingsDialog.BlockSMS = new BooleanElement ("Block SMS", _settingsModel.TextMessage)), (_settingsDialog.SMSVoiceUtility = new BooleanElement ("Voice Utility", _settingsModel.VoiceUtility)) }, new Section ("Track overspeeding") { (_settingsDialog.NotifyOverspeeding = new BooleanElement ("Track Speed", _settingsModel.OverSpeeding)) }, new Section ("Drunk driving prevention") { (_settingsDialog.BlockDrunkDriving = new BooleanElement ("Block Drunk Driving", _settingsModel.DrunkDriving)) }, new Section ("Emergency Situation", "Send your personal information and current location to 911 to ask for help.") { (_settingsDialog.EmergencyHelp = new BooleanElement ("Inform 911", _settingsModel.CallForHelp)) }, new Section("Save change") { new StringElement("Save", () => { _settingsModel.TextMessage = _settingsDialog.BlockSMS.Value; _settingsModel.VoiceUtility = _settingsDialog.SMSVoiceUtility.Value; _settingsModel.OverSpeeding = _settingsDialog.NotifyOverspeeding.Value; _settingsModel.DrunkDriving = _settingsDialog.BlockDrunkDriving.Value; _settingsModel.CallForHelp = _settingsDialog.EmergencyHelp.Value; var alert = new UIAlertView("", "Save Succeed!", null, "OK"); alert.Show(); }) }, new Section ("Privacy"){ new StringElement("Sign Out", () => { var alert = new UIAlertView("","Are you sure you want to sign out?" , null,"No", "Yes"); alert.Show(); alert.Clicked += (sender, e) => { if(e.ButtonIndex == 1) { //it works, but I do NOT know if all the views are released or there are still there. //var count = model.NavigationController.ViewControllers.Length; model.ViewControllers = new UIViewController[0]; model.TabBar.Hidden = true; NavigationController.PopToRootViewController(true); //var count1 = model.NavigationController.ViewControllers.Length; var loginController = new LoginController(); NavigationController.PushViewController(loginController, true); } }; }) } }; }
protected void UserLogin() { if (usernameTxtField.Text == "" || passwordTxtField.Text == "") { var message = string.Format("Please enter Username/Password"); var alert = new UIAlertView("Empty input!", message, null, "Ok"); alert.Show(); } else { var has = _users.Any (s => s.Name == usernameTxtField.Text.ToString ()); if (has) { var user = _users.First(s => s.Name == usernameTxtField.Text.ToString ()); if (user.Password == passwordTxtField.Text.ToString ()) { var welcomeMessage = string.Format ("Welcome Back " + usernameTxtField.Text + "!"); _mainController = new MainViewTabBarController (welcomeMessage); NavigationController.PushViewController (_mainController, true); ReleaseViewController (); } else { Times++; if (Times == 4) { var alert1 = new UIAlertView ("Account locked!", "Send email to reset the password!", null, "Cancel", "Reset"); alert1.Show (); } else { var alert = new UIAlertView ("Username/Password is incorrect!", "Please, try again!", null, "Ok"); alert.Show (); passwordTxtField.Text = ""; } } } else { var alert = new UIAlertView("User does not exist!", "Create a new account?", null, "Cancel", "Create"); alert.Show(); /* -- alert view call back -- */ alert.Clicked += (sender, e) => { if (e.ButtonIndex == 1) { if (_registerController == null) _registerController = new RegisterController(); NavigationController.PushViewController(_registerController, true); } }; } } }
protected void Initialize() { _registerDialog = new RegisterDialogModel(); Root = new RootElement("Register") { new Section() { (_registerDialog.Name = new EntryElement("Name", "Enter full name", "")), (_registerDialog.Birthday = new DateElement("Date of Birth",DateTime.Now) {BackgroundColor = UIColor.White}), (_registerDialog.BloodGroup = new EntryElement("Blood Group", "Enter blood Group", "")) }, new Section() { (_registerDialog.LicenceNo = new EntryElement("License #", "Enter driver license/ID number", "")), (_registerDialog.Address = new EntryElement("Address", "Enter address", "")), (_registerDialog.IssueState = new EntryElement("Issue State", "Enter driver license/ID issue state", "")), (_registerDialog.ExpireDate = new DateElement("Expire Date", DateTime.Now) {BackgroundColor = UIColor.White}) }, new Section() { (_registerDialog.Password = new EntryElement("Password", "Enter new password", "", true)), (_registerDialog.RepeatPassword = new EntryElement("Repeat", "Re-enter password", "", true)) }, new Section() { (_registerDialog.EmailAddress = new EntryElement("Email", "Enter email address", "")) }, new Section() { (_registerDialog.PhoneNumber = new EntryElement("Phone Number", "Please enter phone number", "")) }, new Section("Tell me about new features:") { (_registerDialog.ReceiveEmail = new BooleanElement("By email", true)) }, new Section("Click to register") { new StringElement("Register", () => { var message = string.Format("Name:{0}\nBirthday:{1}", _registerDialog.Name.Value, _registerDialog.Birthday.Value); var alert = new UIAlertView("Succeed!", message, null, "Cancel", "Ok"); alert.Show(); var item = new RegisterModel() { ID = id, Name = _registerDialog.Name.Value, Birthday = _registerDialog.Birthday.DateValue }; UploadRegister(item); var welcomeMessage = string.Format("Welcome using App Name " + _registerDialog.Name.Value + "!"); _mainController = new MainViewTabBarController(welcomeMessage); NavigationController.PushViewController(_mainController, true); ReleaseViewController(); }) } }; }