public async Task <bool> CheckRSVP()
        {
            await((HomeLayout)App.Current.MainPage).SetLoading(true, "Syncing event RSVP status...");
            status  = "";
            canEdit = false;
            buttonGrid.IsVisible = true;
            DomainEvent currentEvent = ((HomeLayout)App.Current.MainPage).GetCurrentDomainEvent();

            ResetButtons();
            //Debug.WriteLine(DateTime.Now);

            //Debug.WriteLine(DateTime.Now);
            ServerRSVP rsvp = await BaseFunctions.GetRSVPStatus(((HomeLayout)App.Current.MainPage).GetCurrentDomainEvent().s_event.eventID);

            if (rsvp != null)
            {
                status = rsvp.rsvpStatus;
                switch (rsvp.rsvpStatus)
                {
                case "Yes":
                    yesButton.BackgroundColor = Color.FromHex("#00A651");
                    adminPost.Text            = "Your attending status for " + ((HomeLayout)App.Current.MainPage).GetCurrentDomainEvent().s_event.eventName;
                    yesButton.TextColor       = Color.White;
                    if (BaseFunctions.GetEventStatus(currentEvent) != EventStatus.Expired)
                    {
                        canEdit = true;
                    }
                    break;

                case "May be":
                    maybeButton.BackgroundColor = Color.FromHex("#FFAC4E");
                    adminPost.Text        = "Your attending status for " + ((HomeLayout)App.Current.MainPage).GetCurrentDomainEvent().s_event.eventName;
                    maybeButton.TextColor = Color.White;
                    if (BaseFunctions.GetEventStatus(currentEvent) != EventStatus.Expired)
                    {
                        canEdit = true;
                    }
                    break;

                case "No":
                    noButton.BackgroundColor = Color.FromHex("#EF4300");
                    adminPost.Text           = "Your attending status for " + ((HomeLayout)App.Current.MainPage).GetCurrentDomainEvent().s_event.eventName;
                    noButton.TextColor       = Color.White;
                    if (currentEvent.s_event.eventAttendanceLimit > await BaseFunctions.RSVPCount(((HomeLayout)App.Current.MainPage).GetCurrentDomainEvent().s_event.eventID))
                    {
                        if (BaseFunctions.GetEventStatus(currentEvent) != EventStatus.Expired)
                        {
                            canEdit = true;
                        }
                    }
                    else
                    {
                        rsvpHeader.Text       = "Its Full";
                        adminPost.Text        = "Sorry " + ((HomeLayout)App.Current.MainPage).GetCurrentDomainEvent().s_event.eventName + " is at maximum capacity";
                        buttonGrid.IsVisible  = false;
                        yesButton.IsVisible   = false;
                        maybeButton.IsVisible = false;
                        noButton.IsVisible    = false;
                        yesButton.TextColor   = Color.Gray;
                        yesButton.IsEnabled   = false;
                        maybeButton.TextColor = Color.Gray;
                        maybeButton.IsEnabled = false;
                        noButton.TextColor    = Color.Gray;
                        noButton.IsEnabled    = false;
                    }
                    break;
                }
            }
            else
            {
                int count = await BaseFunctions.RSVPCount(((HomeLayout)App.Current.MainPage).GetCurrentDomainEvent().s_event.eventID);

                int attendance = currentEvent.s_event.eventAttendanceLimit;
                if (currentEvent.s_event.eventAttendanceLimit <= count)
                {
                    rsvpHeader.Text       = "Its Full";
                    adminPost.Text        = "Sorry " + ((HomeLayout)App.Current.MainPage).GetCurrentDomainEvent().s_event.eventName + " is at maximum capacity";
                    buttonGrid.IsVisible  = false;
                    yesButton.IsVisible   = false;
                    maybeButton.IsVisible = false;
                    noButton.IsVisible    = false;
                    yesButton.TextColor   = Color.Gray;
                    yesButton.IsEnabled   = false;
                    maybeButton.TextColor = Color.Gray;
                    maybeButton.IsEnabled = false;
                    noButton.TextColor    = Color.Gray;
                    noButton.IsEnabled    = false;
                }
                else
                {
                    if (BaseFunctions.GetEventStatus(currentEvent) != EventStatus.Expired)
                    {
                        canEdit = true;
                    }
                }
            }
            if (BaseFunctions.GetEventStatus(currentEvent) == EventStatus.Expired)
            {
                rsvpHeader.Text         = "Event Expired";
                adminPost.Text          = "Sorry " + ((HomeLayout)App.Current.MainPage).GetCurrentDomainEvent().s_event.eventName + " has concluded";
                buttonGrid.IsVisible    = false;
                yesButton.TextColor     = Color.Gray;
                yesButton.IsEnabled     = false;
                maybeButton.TextColor   = Color.Gray;
                maybeButton.IsEnabled   = false;
                noButton.TextColor      = Color.Gray;
                noButton.IsEnabled      = false;
                AddtoCalender.IsEnabled = false;
            }

            if (canEdit)
            {
                buttonGrid.IsVisible = true;
                SetRSVP("RSVP status", "Are you attending " + ((HomeLayout)App.Current.MainPage).GetCurrentDomainEvent().s_event.eventName + " ?");
                switch (status)
                {
                case "Yes":
                    SetRSVP("RSVP status", "Your attending status for " + ((HomeLayout)App.Current.MainPage).GetCurrentDomainEvent().s_event.eventName);
                    break;

                case "May be":
                    SetRSVP("RSVP status", "Your attending status for " + ((HomeLayout)App.Current.MainPage).GetCurrentDomainEvent().s_event.eventName);
                    break;

                case "No":
                    SetRSVP("RSVP status", "Your attending status for " + ((HomeLayout)App.Current.MainPage).GetCurrentDomainEvent().s_event.eventName);
                    break;
                }
            }
            await((HomeLayout)App.Current.MainPage).SetLoading(false, "Syncing event RSVP status...");
            return(true);
        }