public EditProfileViewModel()
 {
     AccountInfoViewModel = new AccountInfoViewModel();
     CreditCards = new HashSet<CreateCreditCardViewModel>();
     CreateCreditCardViewModel = new CreateCreditCardViewModel();
     ResetPasswordViewModel = new ResetPasswordViewModel();
 }
        /// <summary>
        /// 
        /// </summary>
        /// <param name="vm"></param>
        /// <param name="form"></param>
        /// <returns></returns>
        public ActionResult AccountInfo(AccountInfoViewModel vm, FormCollection form)
        {
            var platform = Int32.Parse(form["platforms"]);
            var category = Int32.Parse(form["categories"]);
            var firstName = form["FirstName"];
            var lastName = form["LastName"];
            var dateOfBirth = DateTime.Parse(form["DateOfBirth"]);
            var gender = bool.Parse(form["IsMale"]);
            var newsletter = bool.Parse(form["ReceiveNewsletter"]);

            var member = db.Members.FirstOrDefault(m => m.DisplayName == User.Identity.Name);

            member.MemberDetails.FirstName = firstName;
            member.MemberDetails.LastName = lastName;
            member.MemberDetails.DateOfBirth = dateOfBirth;
            member.MemberDetails.IsMale = gender;
            member.MemberDetails.ReceiveNewsletter = newsletter;
            member.MemberDetails.CategoryId = category;
            member.MemberDetails.PlatformId = platform;
            member.MemberDetails.MemberSince = member.MemberSince;

            member.MemberDetails.State = State.Modified;

            if (ModelState.IsValid)
            {
                db.MemberDetails.AddOrUpdate(member.MemberDetails);
                db.SaveChanges();
                return RedirectToAction("Details", new { id = member.DisplayName });
            }

            var list = GetDropDownItems();
            ViewBag.categories = list[0];
            ViewBag.platforms = list[1];

            return null;
        }