public void CreateDDMembership()
        {
            //TODO: need to add in contact/addres numbers
            Membership contact = new Membership();

            contact.MembershipType = "IM";
            contact.MembershipPaymentFrequency = "A";
            contact.MembershipPaymentMethod = "DD";
            contact.BankAccountName = "Mr J G Drever";
            contact.BankAccountNumber = "61079212";
            contact.SortCode = "401723";

            CareContactSynchroniser test = new CareContactSynchroniser();
            MembershipOperationStatus contacts = test.CreateMembership(contact);
        }
        public ActionResult SaveMembership(MembershipViewModel membership)
        {
            if (ModelState.IsValid)
            {
                var createMembership = new Membership();
                createMembership.InjectFrom(membership);

                //TOD: moving this!
                //MembershipOperationStatus operationStatus =
                //    _contactService.CreateMembership(createMembership);
                //return ReturnBasedOnStatus(operationStatus,null);
                return null;
            }
            return CurrentUmbracoPage();
        }
 public CustomerPortalExtensions.Domain.MembershipOperationStatus CreateMembership(Membership membership)
 {
     throw new NotImplementedException();
 }
        public void CreateMembership()
        {
            //TODO: need to add in contact/addres numbers
            Membership contact = new Membership();
            contact.MembershipType = "IM";
            contact.MembershipPaymentFrequency = "A";
            contact.MembershipPaymentMethod = "CC";

            CareContactSynchroniser test = new CareContactSynchroniser();
            MembershipOperationStatus createdContact = test.CreateMembership(contact);
        }
        public MembershipOperationStatus CreateMembership(Membership membership)
        {
            var opStatus = new MembershipOperationStatus { Status = true };

            //if there is not an existing CARE contact for this membership, create one..
            //if (membership.ExternalContactNumber == 0)
            //{
            //    opStatus = CreateContact(contact);
            //    if (!opStatus.Status)
            //    {
            //        return opStatus;
            //    }
            //    else
            //    {
            //        contact.ExternalContactNumber = opStatus.UpdatedContact.ExternalContactNumber;
            //        contact.ExternalAddressNumber = opStatus.UpdatedContact.ExternalAddressNumber;
            //    }
            //}

            //set up the web service
            var careWebServices = new CARECustomerPortalExtensions.CareWebServices.NDataAccessSoapClient();
            string sendXML = String.Format("<Parameters>" +
                "<PayerContactNumber>{0}</PayerContactNumber>" +
                "<PayerAddressNumber>{1}</PayerAddressNumber>" +
                "<StartDate>{2}</StartDate>" +
                "<PaymentFrequency>{3}</PaymentFrequency>" +
                "<Source>FSC</Source>" +
                "<ReasonForDespatch>{5}</ReasonForDespatch>" +
                "<PaymentMethod>{4}</PaymentMethod>" +
                "<MembershipType>{5}</MembershipType>" +
                "<Joined>{2}</Joined>" +
                "<BankAccount>B1</BankAccount>" +
                "<SortCode>{6}</SortCode>" +
                "<AccountNumber>{7}</AccountNumber>" +
                "<AccountName>{8}</AccountName>" +
                "<Branch>B1</Branch>" +
                "<UserLogname>fscweb</UserLogname>" +
                "</Parameters>",
                membership.ExternalContactNumber, membership.ExternalAddressNumber, DateTime.Now.ToShortDateString(), membership.MembershipPaymentFrequency, membership.MembershipPaymentMethod, membership.MembershipType, membership.SortCode, membership.BankAccountNumber, membership.BankAccountName
                );

            //Load xmldata into XDocument Object
            XDocument sendingXMLDoc = XDocument.Parse(sendXML);

            string returnXML = careWebServices.AddMembership(sendingXMLDoc.ToString());

            XDocument receivingXMLDoc = XDocument.Parse(returnXML);
            XElement resultElement = receivingXMLDoc.Element("Result");
            if (resultElement.Element("ErrorMessage") != null)
            {
                string errorMessage = resultElement.Element("ErrorMessage").Value;
                opStatus = MembershipOperationStatus.CreateFromException("Error creating membership in CARE: " + errorMessage, new CareException());
                opStatus.Status = false;
            }
            else
            {
                try
                {
                    int careMemberNumber = Convert.ToInt32(receivingXMLDoc.Element("Result")
                        .Element("MemberNumber").Value);
                    string careMessage = receivingXMLDoc.Element("Result")
                        .Element("InformationMessage").Value.ToString();
                    membership.ExternalMemberNumber = careMemberNumber;
                    opStatus.Message = "Your membership has been created successfully";
                    opStatus.UpdatedMembership = membership;

                }
                catch (Exception e)
                {
                    opStatus = MembershipOperationStatus.CreateFromException("Error creating membership in CARE: " + e.Message, e);
                    opStatus.Status = false;
                }
            }
            return opStatus;
        }