protected void ButtonSave_Click(object sender, EventArgs e)
 {
     // Save the new subscription settings
     foreach (ListItem item in listSubscriptions.Items)
     {
         if (item.Value.ToLower() == "activist")
         {
             if (item.Selected != _displayedPerson.IsActivist)
             {
                 if (_displayedPerson.IsActivist)
                 {
                     ActivistEvents.TerminateActivistWithLogging(_displayedPerson, EventSource.PirateWeb);
                 }
                 else
                 {
                     int partyOrgId = _displayedPerson.NationalPartyOrg(false);
                     ActivistEvents.CreateActivistWithLogging(_displayedPerson.Geography, _displayedPerson, "Registered on Subscriptionpage in PirateWeb", EventSource.PirateWeb, true, true, partyOrgId);
                 }
             }
         }
         else
         {
             int newsletterFeedId = Convert.ToInt32(item.Value);
             _displayedPerson.SetSubscription(newsletterFeedId, item.Selected);
         }
     }
 }
        public override bool Handle(PhoneMessage msg)
        {
            // register new activist
            // check for words: activist <postal code> <e-mail>
            msg.ErrorMessage = "\r\nRequest to register as activist.";
            if (msg.People.Count > 0)
            {
                foreach (BasicPerson bPerson in msg.People.Values)
                {
                    Person person = Person.FromBasic(bPerson);
                    if (person.IsActivist)
                    {
                        if (msg.People.Count == 1)
                        {
                            // Only one and is already activist.
                            msg.ErrorMessage  = "\r\nRequest to register as activist.";
                            msg.ErrorMessage += "\r\nThis person IS already an activist.";
                        }
                    }
                    else if (msg.People.Count == 1)
                    {
                        int partyOrgId = person.NationalPartyOrg(false);
                        ActivistEvents.CreateActivistWithLogging(person.Geography, person, "Registered by SMS", EventSource.SMS, true, true, partyOrgId);
                        msg.ReplyMessage = "Välkommen som aktivist i Piratpartiet!";

                        return(true); // Handled;
                    }
                }
                if (msg.People.Count > 1)
                {
                    msg.ReplyMessage = "Misslyckades utföra åtgärden.";
                    msg.ErrorMessage = "\r\nRequest to renew membership.";
                    msg.ErrorMessage = "\r\nMultiple hits.\r\n\r\nHave replied:" + msg.ReplyMessage;
                }
            }
            else
            {
                // Handle further info in the message
                // check for words: activist <postal code> <e-mail>
            }
            return(false);
        }