public ActionResult ChangeMembership(int id) { try { IUserService userService = new UserService(); ChangeMembershipViewModel model = new ChangeMembershipViewModel(); model.Member = userService.GetMemberById(id, true); model.RelatedMembers = userService.GetRelatedMembers(id).Members; var allmembers = userService.GetMembers(); model.SingleMembers = allmembers.Where(x => x.IsActive).Where(m => m.Membership.IsSingleMembership).ToList(); model.SingleMembers.Remove(new GymMember { MemberId = id }); IAdminService adminService = new AdminService(); model.Memberships = adminService.GetMemberships(null); return(View(model)); } catch (Exception e) { log.Error("[ChangeMembership] - Exception Caught" + e.ToString()); TempData["errorLog"] = new ErrorLog(e); return(RedirectToAction("Error", "Home")); } }
public ActionResult ChangeMembership(ChangeMembershipViewModel member) { try { IAdminService adminService = new AdminService(); ChangeMembershipModel model = new ChangeMembershipModel(); HashSet <Int32> set = new HashSet <Int32>(); foreach (var i in member.MemberIds) { if (i > 0) { set.Add(i); } } if (member.NewMembershipCode == "COUP") { if (set.Count != 1) { member.ValidationErrors.Add("Missing or Duplicate member for couple"); } } if (member.NewMembershipCode == "FAM3") { if (set.Count != 2) { member.ValidationErrors.Add("Missing or Duplicate member(s) for Family 3"); } } if (member.NewMembershipCode == "FAM4") { if (set.Count != 3) { member.ValidationErrors.Add("Missing or Duplicate member(s) for Family 3"); } } if (member.NewMembershipCode == "FAM5") { if (set.Count != 5) { member.ValidationErrors.Add("Missing or Duplicate member(s) for Family 3"); } } if (member.NewMembershipCode == null) { member.ValidationErrors.Add("Select a new membership type."); } if (member.HasValidationErrors) { IUserService userService = new UserService(); member.Member = userService.GetMemberById(member.MainMemberId); member.RelatedMembers = userService.GetRelatedMembers(member.MainMemberId).Members; var allmembers = userService.GetMembers(); member.SingleMembers = allmembers.Where(x => x.IsActive).Where(m => m.Membership.IsSingleMembership).ToList(); member.SingleMembers.Remove(new GymMember { MemberId = member.MainMemberId }); member.Memberships = adminService.GetMemberships(null); return(View(member)); } model.MainMemberId = member.MainMemberId; model.MembershipCode = member.NewMembershipCode; foreach (var x in set) { model.MemberIdsList.Add(x); } adminService.ChangeMembersMembership(model); return(RedirectToAction("Member", "User", new { id = member.MainMemberId })); } catch (Exception e) { log.Error("[ChangeMembership] - Exception Caught" + e.ToString()); TempData["errorLog"] = new ErrorLog(e); return(RedirectToAction("Error", "Home")); } }