public bool ChangeMembersMembership(ChangeMembershipModel members) { try { IAdminRepository adminRepository = new AdminRepository(); var result = adminRepository.UpdateMembersMembership(members); if (result) { StringBuilder sb = new StringBuilder(); foreach (var om in members.MemberIdsList) { sb.Append(om.ToString()); sb.Append(","); } sb.Length--; SaveAccessLog(new AccessLog { Username = UserSession.Current.Username, Operation = "MEMBERSHIP CHANGED", Details = string.Format("Membership changed for memberId {0} to {1} and related members {2} ", members.MainMemberId, members.MembershipCode, sb.ToString()), Type = "MEMBER" }); } return(result); } catch (Exception) { throw; } }
public bool UpdateMembersMembership(ChangeMembershipModel model) { try { var MainMember = model.MainMemberId; DiscardRelationship(MainMember); var memberIds = model.MemberIdsList; memberIds.Add(MainMember); int[] memberarray = memberIds.ToArray(); var Ids = string.Join(",", memberIds); Int32?relId = null; if (memberIds.Count() > 1) { IUserRepository userRepository = new UserRepository(); relId = userRepository.FetchNextRelationshipRecord(); foreach (var memberId in memberIds) { userRepository.InsertRelationship((Int32)relId, memberId); } } StringBuilder query = new StringBuilder(); query.AppendFormat( @" update {0} SET membership_type = @membership , relationship_id = @relId where member_id in ({1}) " , TableMappings.TBL_MEMBER , Ids); List <SqlParameter> parameters = new List <SqlParameter>(); parameters.Add(CreateParameter("@membership", SqlDbType.VarChar, model.MembershipCode)); parameters.Add(CreateParameter("@relId", SqlDbType.Int, relId)); DBConnect(); var result = CreateUpdateDelete(query.ToString(), parameters) > 0; DBDisconnect(); return(result); } catch (Exception e) { log.ErrorFormat("[UpdateMembersMembership] Error: {0}", e.ToString()); throw; } }
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")); } }