Exemple #1
0
        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);
            }
        }
Exemple #2
0
        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);
            }
        }