コード例 #1
0
        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;
            }
        }
コード例 #2
0
ファイル: AdminRepository.cs プロジェクト: giopl/space-gym
        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;
            }
        }
コード例 #3
0
ファイル: AdminController.cs プロジェクト: giopl/space-gym
        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"));
            }
        }