public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { try { MakeSureVM(); View view = inflater.Inflate(Resource.Layout.JournalView, container, false); var binding = DataContext <JournalDayVM> .FromView(view); binding.VM = vm; if (binding.Bindings.Count == 0) { binding.Add(Resource.Id.EmailSettings, x => x.EmailSettingsVisibility); binding.Add(Resource.Id.Email, x => x.Email); var email = view.FindViewById <EditText> (Resource.Id.Email); email.TextChanged += (sender, e) => { vm.Email = email.Text; }; binding.Add(Resource.Id.SendMail, (x) => { Navigate.dialogContext = this.Activity; vm.SendEmailReport(""); if (vm.Email == "*****@*****.**") { Navigate.ToBuyNowPage(); } }); } animvalues = new List <View> (); table = view.FindViewById <LinearLayout> (Resource.Id.tableLayout2); headers = view.FindViewById <LinearLayout> (Resource.Id.headers); h1 = view.FindViewById <FrameLayout> (Resource.Id.H1); h2 = view.FindViewById <FrameLayout> (Resource.Id.H2); h1.Click += CycleProperty; (table as ViewGroup).SetClipChildren(false); pd = Resources.DisplayMetrics.Density; offscreen = (int)(pd * 700); SyncLines(); return(view); } catch (Exception ex) { LittleWatson.ReportException(ex); return(null); } }
public void ShowDialog(JournalDayVM vm, string email, string error = null) { View dialogContent = View.Inflate(Activity, Resource.Layout.layout_email_dialog, null); var editText = dialogContent.FindViewById <EditText>(Resource.Id.edtEmail); editText.Text = email ?? ""; editText.SetSelection(editText.Text.Length); var builder = new AlertDialog.Builder(Activity, Resource.Style.Dialog); builder.SetTitle(Resource.String.SendReportTitle); builder.SetView(dialogContent); builder.SetCancelable(false); builder.SetPositiveButton(Resource.String.Ok, (s, e) => { email = editText.Text; if (string.IsNullOrEmpty((email ?? "").Trim())) { ShowDialog(vm, email, GetString(Resource.String.InvalidEmailError)); } else { bool isEmail = Regex.IsMatch(email, @"\A(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?)\Z", RegexOptions.IgnoreCase); if (!isEmail) { ShowDialog(vm, email, GetString(Resource.String.InvalidEmailError)); } else { vm.SendEmailReport(email); } } }); builder.SetNegativeButton(Resource.String.Cancel, (s, e) => { }); builder.Show(); if (error != null) { editText.SetError(error, null); } }