Ejemplo n.º 1
0
        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"));
            }
        }
Ejemplo n.º 2
0
        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"));
            }
        }