Beispiel #1
0
            public override void ViewDidLoad()
            {
                base.ViewDidLoad();

                cancel = new UIBarButtonItem("Cancel", UIBarButtonItemStyle.Bordered, (sender, e) => {
                    controller.Dismiss(true);
                });
                cancel.SetTitleTextAttributes(new UITextAttributes {
                    TextColor = UIColor.White
                }, UIControlState.Normal);
                cancel.SetBackgroundImage(Theme.DarkBarButtonItem, UIControlState.Normal, UIBarMetrics.Default);

                save = new UIBarButtonItem("Save", UIBarButtonItemStyle.Bordered, (sender, e) => {
                    //If blank, return
                    if (signatureView.IsBlank)
                    {
                        new UIAlertView(string.Empty, "No signature!", null, "Ok").Show();
                        return;
                    }

                    if (assignmentViewModel.Signature == null)
                    {
                        assignmentViewModel.Signature = new Data.Signature {
                            AssignmentId = assignmentViewModel.SelectedAssignment.Id
                        };
                    }
                    assignmentViewModel.Signature.Image = signatureView.GetImage().ToByteArray();

                    assignmentViewModel.SaveSignatureAsync()
                    .ContinueWith(_ => {
                        BeginInvokeOnMainThread(() => controller.Dismiss(true));
                    });
                });

                save.SetTitleTextAttributes(new UITextAttributes {
                    TextColor = UIColor.White
                }, UIControlState.Normal);
                save.SetBackgroundImage(Theme.DarkBarButtonItem, UIControlState.Normal, UIBarMetrics.Default);

                NavigationItem.LeftBarButtonItem  = cancel;
                NavigationItem.RightBarButtonItem = save;
                NavigationController.NavigationBar.SetBackgroundImage(null, UIBarMetrics.Default);

                signatureView = new SignaturePadView(View.Frame)
                {
                    AutoresizingMask = UIViewAutoresizing.All,
                };
                View.AddSubview(signatureView);
            }
Beispiel #2
0
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);

            SetContentView(Resource.Layout.AddSignatureLayout);

            var save = (Button)FindViewById(Resource.Id.signatureSaveButton);

            save.Click += (sender, e) => {
                if (signatureView.IsBlank)
                {
                    AlertDialog.Builder builder = new AlertDialog.Builder(Activity);
                    builder
                    .SetTitle(string.Empty)
                    .SetMessage("No signature!")
                    .SetPositiveButton("Ok", (innerSender, innere) => { })
                    .Show();
                    return;
                }
                if (assignmentViewModel.Signature == null)
                {
                    assignmentViewModel.Signature = new Signature
                    {
                        AssignmentId = Assignment.Id
                    };
                }

                assignmentViewModel.Signature.Image = signatureView.GetImage(Color.Black, Color.White).ToByteArray();
                assignmentViewModel.SaveSignatureAsync()
                .ContinueWith(_ => {
                    activity.RunOnUiThread(() => {
                        var fragment = Activity.FragmentManager.FindFragmentById <ConfirmationFragment> (Resource.Id.contentFrame);
                        fragment.ReloadConfirmation();
                        Dismiss();
                    });
                });
            };

            var cancel = (Button)FindViewById(Resource.Id.signatureCancelButton);

            cancel.Click += (sender, e) => {
                Dismiss();
            };

            signatureView = (SignaturePadView)FindViewById(Resource.Id.signatureImage);
            signatureView.BackgroundColor = Color.White;
            signatureView.StrokeColor     = Color.Black;
        }