//        public async void DeleteUnavaiability()
        //        {
        //            if (BaseView != null && BaseView.CheckInternetConnection())
        //            {
        //                Mvx.Resolve<IMvxMessenger>().Publish(new ProgressMessage(this, true));
        //                var result = await mApiService.DeleteUnavailabilities(Mvx.Resolve<ICacheService>().CurrentUser.UserId, ParkingId, );
        //
        //                if (result != null)
        //                {
        //                    //Mvx.Resolve<IMvxMessenger>().Publish(new ToastMessage(this, result.Result));
        //                    //Mvx.Resolve<IMvxMessenger>().Publish(new ToastMessage(this, result.Result.Equals("success") ? result.Result : string.Format("{0}: {1}", result.Result, result.ErrorCode)));
        //                    if (result)
        //                    {
        //                        Mvx.Resolve<IMvxMessenger>().Publish(new ToastMessage(this, result));
        //                    }
        //                    else
        //                    {
        //                        Mvx.Resolve<IMvxMessenger>().Publish(new AlertMessage(this, string.Empty, string.Format("{0}: {1}", "", ""), "Ok", null));
        //                    }
        //                }
        //                Mvx.Resolve<IMvxMessenger>().Publish(new ProgressMessage(this, false));
        //            }
        //            else
        //            {
        //                Mvx.Resolve<IMvxMessenger>().Publish(new ToastMessage(this, SharedTextSource.GetText("TurnOnInternetText")));
        //            }
        //        }

        public void ShowTabDay(DateTime mDateTime)
        {
            if (AddSpotCalendarTabView != null)
            {
                DateSelected = mDateTime;
                AddSpotCalendarTabView.ShowTabDay(mDateTime);
            }
        }
        private void DeleteEvent(EventItemViewModel eventVM)
        {
            Mvx.Resolve <IMvxMessenger>().Publish(new AlertMessage(this, SharedTextSource.GetText("DeleteEventText"), SharedTextSource.GetText("AreYouSureDeleteEventText"), SharedTextSource.GetText("NoText"), null, new string[] { SharedTextSource.GetText("DeleteEventOnlyText"), SharedTextSource.GetText("DeleteFutureEventsText") },
                                                                   async() =>
            {
                if (BaseView != null && BaseView.CheckInternetConnection())
                {
                    Mvx.Resolve <IMvxMessenger>().Publish(new ProgressMessage(this, true));
                    var result = await mApiService.DeleteUnavailabilities(Mvx.Resolve <ICacheService>().CurrentUser.UserId, ParkingId, eventVM.Unavaiability.UnavailabilityId);
                    if (result != null)
                    {
                        //Mvx.Resolve<IMvxMessenger>().Publish(new ToastMessage(this, result.Result));
                        //Mvx.Resolve<IMvxMessenger>().Publish(new ToastMessage(this, result.Result.Equals("success") ? result.Result : string.Format("{0}: {1}", result.Result, result.ErrorCode)));
                        if (result)
                        {
                            Mvx.Resolve <IMvxMessenger>().Publish(new ToastMessage(this, "Success"));
                            if (Events.Contains(eventVM))
                            {
                                Events.Remove(eventVM);
                            }
                            if (View != null)
                            {
                                View.UpdateCalendar(true);
                            }
                        }
                        else
                        {
                            Mvx.Resolve <IMvxMessenger>().Publish(new AlertMessage(this, string.Empty, string.Format("{0}: {1}", "", ""), "Ok", null));
                        }
                    }
                    Mvx.Resolve <IMvxMessenger>().Publish(new ProgressMessage(this, false));
                }
                else
                {
                    Mvx.Resolve <IMvxMessenger>().Publish(new ToastMessage(this, SharedTextSource.GetText("TurnOnInternetText")));
                }
            },
                                                                   async() =>
            {
                if (BaseView != null && BaseView.CheckInternetConnection())
                {
                    Mvx.Resolve <IMvxMessenger>().Publish(new ProgressMessage(this, true));
                    var result = await mApiService.DeleteUnavailabilities(Mvx.Resolve <ICacheService>().CurrentUser.UserId, ParkingId, eventVM.Unavaiability.UnavailabilityId);

                    if (result != null)
                    {
                        //Mvx.Resolve<IMvxMessenger>().Publish(new ToastMessage(this, result.Result));
                        //Mvx.Resolve<IMvxMessenger>().Publish(new ToastMessage(this, result.Result.Equals("success") ? result.Result : string.Format("{0}: {1}", result.Result, result.ErrorCode)));
                        if (result)
                        {
                            Mvx.Resolve <IMvxMessenger>().Publish(new ToastMessage(this, "Success"));
                            if (View != null)
                            {
                                View.UpdateCalendar();
                            }
                        }
                        else
                        {
                            Mvx.Resolve <IMvxMessenger>().Publish(new AlertMessage(this, string.Empty, string.Format("{0}: {1}", "", ""), "Ok", null));
                        }
                    }
                    Mvx.Resolve <IMvxMessenger>().Publish(new ProgressMessage(this, false));

                    // Android only: When dismiss delete dialog, Android cannot call resume to call GetUnavaiabilities so we call manual
                    if (AddSpotCalendarTabView != null)
                    {
                        AddSpotCalendarTabView.GetUnavaiabilities();
                    }
                    ///////////////////////////////
                }
                else
                {
                    Mvx.Resolve <IMvxMessenger>().Publish(new ToastMessage(this, SharedTextSource.GetText("TurnOnInternetText")));
                }
            }));
        }