// FBSample logic
        // Creates the Open Graph Action.
        void PostOpenGraphAction()
        {
            // First create the Open Graph meal object for the meal we ate.
            SCOGMeal mealObject = MealObjectForMeal(selectedMeal);

            // Now create an Open Graph eat action with the meal, our location, and the people we were with.
            //SCOGEatMealAction action = (SCOGEatMealAction)FBGraphObject.GraphObject ();

            FBGraphObject     obj    = FBGraphObject.GraphObject();
            SCOGEatMealAction action = new SCOGEatMealAction(obj.Handle);

            action.Meal = mealObject;
            if (selectedPlace != null)
            {
                action.Place = selectedPlace;
            }
            if (selectedFriends != null)
            {
                action.Tags = selectedFriends;
            }

            // Create the request and post the action to the "me/fb_sample_scrumps:eat" path.
            FBRequestConnection.StartForPostWithGraphPath("me/fb_sample_mtscrumps:eat", action, (FBRequestConnection connection, NSObject result, NSError error) => {
                activityIndicator.StopAnimating();
                this.View.UserInteractionEnabled = true;

                if (error == null)
                {
                    new UIAlertView("Result", "Posted Open Graph action, id: " + (string)new NSString(result.ValueForKey(new NSString("id")).Handle), null, "Thanks!", null).Show();
                    selectedMeal    = null;
                    selectedPlace   = null;
                    selectedFriends = null;
                    selectedPhoto   = null;
                    UpdateSelections();
                }
                else
                {
                    // do we lack permissions here? If so, the application's policy is to reask for the permissions, and if
                    // granted, we will recall this method in order to post the action
                    // TODO: Resolve Status Code 200
                    if (false)
                    {
                        Console.WriteLine(error.LocalizedDescription);

                        FBSession.ActiveSession.ReauthorizeWithPublishPermissions(new string[] { "publish_actions" }, FBSessionDefaultAudience.Friends, (FBSession fsession, NSError innerError) =>
                        {
                            if (innerError == null)
                            {
                                // re-call assuming we now have the permission
                                PostOpenGraphAction();
                            }
                            else
                            {
                                // If we are here, this means the user has disallowed posting after a retry
                                // which means iOS 6.0 will have turned the app's slider to "off" in the
                                // device settings->Facebook.
                                // You may want to customize the message for your application, since this
                                // string is specifically for iOS 6.0.
                                new UIAlertView("Permission To Post Disallowed", "Use device settings->Facebook to re-enable permission to post.", null, "Ok!", null).Show();
                            }
                        });
                    }
                    else
                    {
                        new UIAlertView("Result", "error: domain = " + error.Domain + ", code = " + (FBErrorCode)error.Code, null, "Ok", null).Show();
                    }
                }
            });
        }
        // FBSample logic
        // Creates the Open Graph Action.
        void PostOpenGraphAction()
        {
            // First create the Open Graph meal object for the meal we ate.
            SCOGMeal mealObject = MealObjectForMeal (selectedMeal);

            // Now create an Open Graph eat action with the meal, our location, and the people we were with.
            //SCOGEatMealAction action = (SCOGEatMealAction)FBGraphObject.GraphObject ();

            FBGraphObject obj = FBGraphObject.GraphObject();
            SCOGEatMealAction action = new SCOGEatMealAction(obj.Handle);

            action.Meal = mealObject;
            if (selectedPlace != null)
            {
                action.Place = selectedPlace;
            }
            if (selectedFriends != null)
            {
                action.Tags = selectedFriends;
            }

            // Create the request and post the action to the "me/fb_sample_scrumps:eat" path.
            FBRequestConnection.StartForPostWithGraphPath ("me/fb_sample_mtscrumps:eat", action, (FBRequestConnection connection, NSObject result, NSError error) => {
                activityIndicator.StopAnimating ();
                this.View.UserInteractionEnabled = true;

                if (error == null) {
                    new UIAlertView ("Result", "Posted Open Graph action, id: " + (string)new NSString (result.ValueForKey (new NSString ("id")).Handle), null, "Thanks!", null).Show ();
                    selectedMeal = null;
                    selectedPlace = null;
                    selectedFriends = null;
                    selectedPhoto = null;
                    UpdateSelections ();
                } else {
                    // do we lack permissions here? If so, the application's policy is to reask for the permissions, and if
                    // granted, we will recall this method in order to post the action
                    // TODO: Resolve Status Code 200
                    if (false) {
                        Console.WriteLine (error.LocalizedDescription);

                        FBSession.ActiveSession.ReauthorizeWithPublishPermissions (new string[] { "publish_actions" }, FBSessionDefaultAudience.Friends, (FBSession fsession, NSError innerError) =>
                        {
                            if (innerError == null) {
                                // re-call assuming we now have the permission
                                PostOpenGraphAction ();
                            } else {
                                // If we are here, this means the user has disallowed posting after a retry
                                // which means iOS 6.0 will have turned the app's slider to "off" in the
                                // device settings->Facebook.
                                // You may want to customize the message for your application, since this
                                // string is specifically for iOS 6.0.
                                new UIAlertView ("Permission To Post Disallowed", "Use device settings->Facebook to re-enable permission to post.", null, "Ok!", null).Show ();
                            }
                        });
                    } else {
                        new UIAlertView ("Result", "error: domain = " + error.Domain + ", code = " + (FBErrorCode)error.Code, null, "Ok", null).Show ();

                    }
                }

            });
        }