public ActionResult RenderRegisterHostPartyKitForm()
        {
            // get the renderModel for the current page
            RegisterHost model = (RegisterHost)this.CurrentPage;

            this.ViewBag.TShirtSizes = model.TShirtSizes;

            // set first / last name, as this will be available if user connected via facebook

            RegisterHostPartyKitForm registerHostPartyKitForm = new RegisterHostPartyKitForm();

            PartyHost partyHost = (PartyHost)this.Members.GetCurrentMember();

            registerHostPartyKitForm.FirstName = partyHost.FirstName;
            registerHostPartyKitForm.LastName  = partyHost.LastName;

            return(this.PartialView("RegisterHost/Forms/RegisterHostPartyKitForm", registerHostPartyKitForm));
        }
        public ActionResult HandleRegisterHostPartyKitForm(RegisterHostPartyKitForm registerHostPartyKitForm)
        {
            if (!ModelState.IsValid)
            {
                return(this.CurrentUmbracoPage());
            }

            PartyHost partyHost = (PartyHost)this.Members.GetCurrentMember();

            if (partyHost.FirstName != registerHostPartyKitForm.FirstName)
            {
                partyHost.FirstName = registerHostPartyKitForm.FirstName;
            }

            if (partyHost.LastName != registerHostPartyKitForm.LastName)
            {
                partyHost.LastName = registerHostPartyKitForm.LastName;
            }

            Address address = new Address(
                registerHostPartyKitForm.Address1,
                registerHostPartyKitForm.Address2,
                registerHostPartyKitForm.TownCity,
                registerHostPartyKitForm.PostCode);

            partyHost.PartyKitAddress = address;
            partyHost.PartyAddress    = address;
            partyHost.BillingAddress  = address;

            partyHost.TShirtSize = registerHostPartyKitForm.TShirtSize;

            partyHost.HasRequestedPartyKit = true;

            // update contact in DotMailer
            DotMailerService.HostRegistrationCompleted((Contact)partyHost);

            // mark as completed
            partyHost.DotMailerRegistrationComplete = true;

            //return this.CurrentUmbracoPage();
            return(this.RedirectToCurrentUmbracoPage());
        }