public async Task<IActionResult> Register(MemberViewModel vm)
		{
			if (vm.Password != vm.PasswordConfirm)
			{
				ModelState.AddModelError("PasswordConfirm", "Passwords must match.");
			}

			if (ModelState.IsValid)
			{
				var newMember = Mapper.Map<Member>(vm);
				newMember.GolfCourse = _gcmRepo.GetGolfCourse();

				var result = await _userManager.CreateAsync(newMember, vm.Password);

				if (result.Succeeded)
				{
					//don't try to sign in when an admin is registering a new user
					if (User.Identity.IsAuthenticated && User.IsInRole("admin"))
					{
						return RedirectToAction("Index", "Home");
					}

					var signInResult = await _signInManager.PasswordSignInAsync(newMember.UserName, vm.Password, true, false);

					if (signInResult.Succeeded)
					{
						return RedirectToAction("Index", "Home");
					}
					else
					{
						return RedirectToAction("Login", "UserManagement");
					}
				}
				else
				{
					ModelState.AddModelError("", result.Errors.FirstOrDefault().Description);
				}
			}
			return View();
		}
		public async Task<IActionResult> UpdateMember(MemberViewModel vm)
		{
			var dbMember = await _userManager.FindByEmailAsync(vm.Email);
			dbMember.Address1 = vm.Address1;
			dbMember.Address2 = vm.Address2;
			dbMember.Address3 = vm.Address3;
			dbMember.City = vm.City;
			dbMember.FirstName = vm.FirstName;
			dbMember.LastName = vm.LastName;	
			dbMember.PostalCode = vm.PostalCode;
			dbMember.Province = vm.Province;

			var result = await _userManager.UpdateAsync(dbMember);
			var resultsVM = new MemberUpdateResultsViewModel()
			{
				Success = result.Succeeded,
				Name = dbMember.NormalizedUserName
			};

			return View(resultsVM);
		}