public ActionResult RegisterNewOrganization()
        {
            var person = VolunteerService.FindByUserId(WebSecurityWrapper.CurrentUserId);
            if (person == null)
                throw new InvalidOperationException("A volunteer must be logged in to register a new organization.");

            var model = new NewOrganizationViewModel()
            {
                Address = new Address(),
                OrganizationName = "",
                Type = OrganizationTypeEnum.Local
            };

            return View(model);

        }
        public ActionResult ProcessNewOrganization(NewOrganizationViewModel newOrganization)
        {
            if (!this.ModelState.IsValid)
            {
                return View("RegisterNewOrganization", newOrganization);
            }

            // If execution gets here, we have valid details. The first thing we will do is to create the organisation.
            // Let's build an organisation...

            Organization newOrg = new Organization();
            newOrg.Verified = false;
            newOrg.OrganizationName = newOrganization.OrganizationName;
            newOrg.Location = newOrganization.Address;
            newOrg.Type = newOrganization.Type;

            // TODO POint of contact?


            // Get registering person to make them the organization admin
            Person person = GetCurrentVolunteer();
            if (person == null)
                throw new ArgumentException("Logged-in person not found or is an administrator.");

            // Now pass the new organization out through the Organisation service so it can be persisted in the database.
            newOrg = OrganizationService.AddOrganization(newOrg, person.Id);

            Task.Run(() =>
            {
                var routeValues = new RouteValueDictionary();
                routeValues.Add("organizationId", newOrg.OrganizationId);
                var organizationVerificationLink = Url.Action("VerifyOrganization", "Organization", routeValues,
                    Request.Url.Scheme);
                var body =
                    string.Format(
                        @"<p>Click on the following link to verify the new organization : <a href='{0}'>{0}</a> </p>",
                        organizationVerificationLink);
                var message = new Message("CrisisCheckin - Verify your organization", body);
                MessageService.SendMessage(message, person, "CrisisCheckin");

            });


            // Send the verification email out to the user.
            return View();
        }