public ActionResult Reject(AdminReject input)
        {
            var approvalConstituentId = Convert.ToInt32(Session["approvalConstituentId"]);
            var registerationData = new ConfirmRegisterationData { ConstituentToRegister = approvalConstituentId, IsApproved = false, AdminEmail = Session["email"].ToString(),RejectReason = input.Reason};

            HttpHelper.Post(serviceBaseUri + "/Registration/RegisterConstituent", registerationData);

            var expandoObject = new ExpandoObject();
            return this.Json(expandoObject);
        }
        public JsonResult RegisterAndLink(AdminInput input)
        {
            var approvalConstituentId = Convert.ToInt32(Session["approvalConstituentId"]);
            var matchConstituentId = Convert.ToInt32(Session["matchedConstituentId"]);
            var registerationData = new ConfirmRegisterationData { ConstituentToRegister = approvalConstituentId, Constituent = matchConstituentId, IsAdmin = input.IsAdmin, IsApproved = true, AdminEmail = Session["email"].ToString() };

            HttpHelper.Post(serviceBaseUri + "/Registration/RegisterConstituent",registerationData);

            var expandoObject = new ExpandoObject();
            return this.Json(expandoObject);
        }
        public void ShouldUpdateAndRegisterAConstituent()
        {
            Constituent newConstituent = GetNewConstituent(false);

            Constituent oldConstituent = GetOldConstituent();

            var confirmRegisterationData = new ConfirmRegisterationData
                                               {
                                                   Constituent = oldConstituent.Id,
                                                   ConstituentToRegister = newConstituent.Id,
                                                   IsAdmin = true,
                                                   IsApproved = true,
                                                   AdminEmail = "*****@*****.**",
                                                   RejectReason = ""

                                               };
            HttpHelper.Post(baseUri + "/RegisterConstituent", confirmRegisterationData);

            testDataHelper.session.Clear();
            Assert.IsNull(testDataHelper.session.Get<Constituent>(newConstituent.Id));

            var registeredConstituent = testDataHelper.session.Load<Constituent>(oldConstituent.Id);
            Assert.IsTrue(registeredConstituent.IsRegistered.ToString().Equals("R"));

            var primaryEmail = testDataHelper.LoadPrimaryEmail(oldConstituent.Id);
            var login = testDataHelper.LoadLoginInfo(primaryEmail);

            Assert.IsNotNull(login);
            Assert.IsTrue(login.IsAdmin);
            Assert.That(login.Email.Type.Description,Is.EqualTo(EmailTypeMother.Personal().Description));

            var emails = testDataHelper.GetEmailsFor(registeredConstituent.Id);
            Assert.That(emails.Count,Is.EqualTo(2));

            var phones = testDataHelper.GetPhonesFor(registeredConstituent.Id);
            Assert.That(phones.Count,Is.EqualTo(2));

            var addresses = testDataHelper.GetAddressesFor(registeredConstituent.Id);
            Assert.That(addresses.Count,Is.EqualTo(2));
        }
        public void ShouldRegisterAConstituent()
        {
            Constituent newConstituent = GetNewConstituent(false);

            Constituent oldConstituent = GetOldConstituent();

            var confirmRegisterationData = new ConfirmRegisterationData
                                               {
                                                   Constituent = oldConstituent.Id,
                                                   ConstituentToRegister = newConstituent.Id,
                                                   IsAdmin = false,
                                                   IsApproved = true,
                                                   AdminEmail = "*****@*****.**",
                                                   RejectReason = ""
                                               };

            HttpHelper.Post(baseUri + "/RegisterConstituent", confirmRegisterationData);

            testDataHelper.session.Clear();
            Assert.IsNull(testDataHelper.session.Get<Constituent>(newConstituent.Id));

            var registeredConstituent = testDataHelper.session.Load<Constituent>(oldConstituent.Id);
            Assert.IsTrue(registeredConstituent.IsRegistered.ToString().Equals("R"));

            var primaryEmail = testDataHelper.LoadPrimaryEmail(oldConstituent.Id);
            var login = testDataHelper.LoadLoginInfo(primaryEmail);
            Assert.IsNotNull(login);
            Assert.IsFalse(login.IsAdmin);
        }
        public void ShouldRejectAConstituent()
        {
            Constituent newConstituent = GetNewConstituent(false);

            Constituent oldConstituent = GetOldConstituent();

            var confirmRegisterationData = new ConfirmRegisterationData
                                               {
                                                   Constituent = oldConstituent.Id,
                                                   ConstituentToRegister = newConstituent.Id,
                                                   IsAdmin = true,
                                                   IsApproved = false,
                                                   AdminEmail = "*****@*****.**",
                                                   RejectReason = "some reason"

                                               };
            var response = HttpHelper.DoHttpPost(baseUri + "/RegisterConstituent", new DataContractHelper().Serialize(confirmRegisterationData));

            Assert.That(response.StatusCode,Is.EqualTo(HttpStatusCode.OK));
        }