public bool BindModel(HttpActionContext actionContext, ModelBindingContext bindingContext)
        {
            string body = actionContext.Request.Content.ReadAsStringAsync().Result;
            MembershipCancellationParameterModel model = new MembershipCancellationParameterModel();

            model = JsonConvert.DeserializeObject <MembershipCancellationParameterModel>(body);

            // Get current membership to calidate existing status ..
            _membershipDataAccess =
                (IMembershipDataAccess)
                (actionContext.ControllerContext.Configuration.DependencyResolver as AutofacWebApiDependencyResolver)
                .GetService(typeof(IMembershipDataAccess));

            MembershipDetails membershipDetails =
                _membershipDataAccess.GetMembershipDetails <long, MembershipDetails>(model.MembershipNo ?? default(long));

            // Call new Generic DA method
            if (membershipDetails.MembershipNo.HasValue)
            {
                model.OriginalStatus = membershipDetails.MembershipStatus;
            }
            // GITCS-9 - cancellation reason
            model.ValidMembershipCancellationReasons =
                _membershipDataAccess.GetMembershipOptions("MEMBERSHIP_CANCEL_REASON").Where(mo => mo.CodeList == "MEMBERSHIP_CANCEL_REASON");

            var validator = new MembershipCancellationParameterModelValidator();
            var result    = validator.Validate(model);

            foreach (var e in result.Errors)
            {
                bindingContext.ModelState.AddModelError(e.PropertyName, e.ErrorMessage);
            }
            bindingContext.Model = model;
            return(true);
        }