public ActionResult MembershipOptionConfirmation()
        {
            //DeSerialize
            Club             club             = (Club)Session["Club Object"];
            ClubMembership   clubMembership   = (ClubMembership)Session["ClubMembership Object"];
            MembershipOption membershipOption = (MembershipOption)Session["MembershipOption Object"];

            if (club == null || clubMembership == null || membershipOption == null)
            {
                return(HttpNotFound());
            }

            ViewBag.ClubId             = club.Id;
            ViewBag.ClubName           = club.name;
            ViewBag.ClubNickName       = club.nickname;
            ViewBag.Price              = membershipOption.Price;
            ViewBag.Duration           = membershipOption.Duration;
            ViewBag.MembershipOptionId = membershipOption.Id;
            ViewBag.JoinDate           = clubMembership.JoinDate.ToString("D");
            ViewBag.TermDate           = clubMembership.TermDate.ToString("D");
            ViewBag.Description        = membershipOption.Description;

            //Store description: membershipOption.Description for membershipOption == clubMembership.MembershipOption and ClubID == club.ClubID
            //ViewBag.Description = db.MembershipOptions.Where(n => n.Id == clubMembership.MembershipOptionId).ToList().First().Description;

            //below is a test to see what gets stored
            //string tempMessage = club.name + " " + membershipOption.Duration + " (" + clubMembership.JoinDate + "~" + clubMembership.TermDate + ")" + " USD: " + membershipOption.Price;
            //return Content(tempMessage);

            return(View(clubMembership));
        }
Ejemplo n.º 2
0
        public MembershipModel(int userId, MembershipOption membershipOption, UserMembership activeUserMembership = null)
        {
            MembershipOption     = membershipOption;
            ActiveUserMembership = activeUserMembership;
            UserId = userId;

            if (MembershipOption != null)
            {
                MembershipOption.PriceIncludingDiscount = MembershipOption.Price - (ActiveUserMembership?.CostOfRemainingActiveSubscription ?? 0);
            }
        }
        // GET: MembershipOption/Details/5
        // Currently the details page is not used
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            MembershipOption membershipOption = db.MembershipOptions.Find(id);

            if (membershipOption == null)
            {
                return(HttpNotFound());
            }
            return(View(membershipOption));
        }
        public ActionResult DeleteMembershipOption(int Id)
        {
            MembershipOption membershipOption = db.MembershipOptions.Find(Id);

            if (membershipOption == null)
            {
                return(HttpNotFound());
            }

            int AffectedClubId = membershipOption.ClubId;

            db.MembershipOptions.Remove(membershipOption);
            db.SaveChanges();
            return(RedirectToAction("ViewCurrentMembershipOptions", new { clubId = AffectedClubId }));
        }
        public ActionResult CreateMembershipOption([Bind(Include = "Id,ClubId,TypeId,Duration,ExpDate,Price,Description,IsActive")] MembershipOption membershipOption)
        {
            if (ModelState.IsValid)
            {
                db.MembershipOptions.Add(membershipOption);
                db.SaveChanges();
                return(RedirectToAction("ViewCurrentMembershipOptions", new { clubId = membershipOption.ClubId }));
            }

            ViewBag.ClubId   = membershipOption.ClubId;
            ViewBag.TypeId   = new SelectList(db.TypesOfMembershipOptions, "Id", "Description");
            ViewBag.Duration = this.GetDurationSelectList();

            return(View(membershipOption));
        }
        public ActionResult SelectMembershipOptions([Bind(Include = "Id,UserId,ClubId,MembershipOptionId,RoleId,TermDate,JoinDate,Description,HasAccessToFinance,CanEditClubData,Violation")] ClubMembership clubMembership)
        {
            if (ModelState.IsValid)
            {
                // duplicate check
                List <ClubMembership> list = db.ClubMemberships.Where(c => c.UserId == clubMembership.UserId && c.ClubId == clubMembership.ClubId).ToList();

                if (list.Count > 0)
                {
                    foreach (ClubMembership item in list)
                    {
                        if (item.MembershipOptionId == clubMembership.MembershipOptionId)
                        {
                            // duplicate membership exist
                            return(RedirectToAction("DuplicateMembership", new {
                                duplicateClubId = clubMembership.ClubId,
                                duplicateMembershipOptionId = clubMembership.MembershipOptionId,
                            }));
                        }
                    }
                }


                // proceed with new membership
                MembershipOption membershipOption = db.MembershipOptions.Where(n => n.Id == clubMembership.MembershipOptionId).ToList().First();

                if (membershipOption == null)
                {
                    return(HttpNotFound());
                }

                clubMembership.JoinDate = DateTime.Now;
                //clubMembership.TermDate = clubMembership.JoinDate.AddYears(membershipOption.Duration);
                clubMembership.TermDate    = membershipOption.ExpDate;
                clubMembership.Description = membershipOption.Description;

                // Serialize
                Session["ClubMembership Object"]   = clubMembership;
                Session["MembershipOption Object"] = membershipOption;

                return(RedirectToAction("MembershipOptionConfirmation"));
            }

            ViewBag.UserId = new SelectList(db.AspNetUsers, "Id", "Email", clubMembership.UserId);
            ViewBag.ClubId = new SelectList(db.Clubs, "Id", "name", clubMembership.ClubId);
            return(View(clubMembership));
        }
        public ActionResult DuplicateMembership(int?duplicateClubId, int?duplicateMembershipOptionId)
        {
            string userId = User.Identity.GetUserId();

            MembershipOption membershipOption = db.MembershipOptions.Where(n => n.Id == duplicateMembershipOptionId).ToList().First();
            ClubMembership   clubMembership   = db.ClubMemberships.Where(n => n.ClubId == duplicateClubId && n.UserId == userId && n.MembershipOptionId == duplicateMembershipOptionId).ToList().First();
            Club             club             = db.Clubs.Find(duplicateClubId);

            ViewBag.DuplicateClubId = duplicateClubId;
            ViewBag.ClubName        = club.name;
            ViewBag.ClubNickName    = club.nickname;
            ViewBag.Duration        = membershipOption.Duration;
            ViewBag.JoinDate        = clubMembership.JoinDate.Day + "/" + clubMembership.JoinDate.Month + "/" + clubMembership.JoinDate.Year;
            ViewBag.TermDate        = clubMembership.TermDate.Day + "/" + clubMembership.TermDate.Month + "/" + clubMembership.TermDate.Year;
            ViewBag.Description     = membershipOption.Description;

            return(View());
        }
        // GET: MembershipOption/Delete/5
        // Function to allow users to delete membership options
        public ActionResult DeleteMembershipOption(int?Id)
        {
            if (Id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            MembershipOption membershipOption = db.MembershipOptions.Find(Id);

            if (membershipOption == null)
            {
                return(HttpNotFound());
            }

            // CanEditClubData check
            string userId = User.Identity.GetUserId();
            List <ClubMembership> list = db.ClubMemberships.Where(c => c.ClubId == membershipOption.ClubId && c.UserId == userId).ToList();

            if (list.Count == 0)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            bool canEdit = false;

            foreach (ClubMembership item in list)
            {
                canEdit |= item.CanEditClubData;
            }

            if (canEdit == false)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            //

            ViewBag.Id     = Id;
            ViewBag.ClubId = membershipOption.ClubId;

            return(View(membershipOption));
        }
        // GET: MembershipOption/Edit/5
        // function to allow users to edit membership options in the database
        public ActionResult EditMembershipOption(int?Id, int?clubId)
        {
            if (Id == null || clubId == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            // CanEditClubData check
            string userId = User.Identity.GetUserId();
            List <ClubMembership> list = db.ClubMemberships.Where(c => c.ClubId == clubId && c.UserId == userId).ToList();

            if (list.Count == 0)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            bool canEdit = false;

            foreach (ClubMembership item in list)
            {
                canEdit |= item.CanEditClubData;
            }

            if (canEdit == false)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            MembershipOption membershipOption = db.MembershipOptions.Find(Id);

            if (membershipOption == null)
            {
                return(HttpNotFound());
            }

            ViewBag.Id       = Id;
            ViewBag.ClubId   = clubId;
            ViewBag.TypeId   = new SelectList(db.TypesOfMembershipOptions, "Id", "Description", membershipOption.TypeId);
            ViewBag.Duration = this.GetDurationSelectList(membershipOption.Duration);

            return(View(membershipOption));
        }
Ejemplo n.º 10
0
        public void MembershipOption_Upgrades()
        {
            var monthlyStandard = new MembershipOption
            {
                SubscriptionType = MembershipOption.ESubscriptionType.MonthlyStandard
            };

            var monthlyPlatinum = new MembershipOption
            {
                SubscriptionType = MembershipOption.ESubscriptionType.MonthlyPlatinum
            };

            var annualStandard = new MembershipOption
            {
                SubscriptionType = MembershipOption.ESubscriptionType.AnnualStandard
            };

            var annualPlatinum = new MembershipOption
            {
                SubscriptionType = MembershipOption.ESubscriptionType.AnnualPlatinum
            };

            Assert.True(monthlyStandard.CanUpgradeTo(annualStandard));
            Assert.True(monthlyStandard.CanUpgradeTo(monthlyPlatinum));
            Assert.True(monthlyStandard.CanUpgradeTo(annualPlatinum));
            Assert.False(monthlyStandard.CanUpgradeTo(monthlyStandard));

            Assert.True(monthlyPlatinum.CanUpgradeTo(annualPlatinum));
            Assert.False(monthlyPlatinum.CanUpgradeTo(monthlyStandard));
            Assert.False(monthlyPlatinum.CanUpgradeTo(annualStandard));
            Assert.False(monthlyPlatinum.CanUpgradeTo(monthlyPlatinum));

            Assert.True(annualStandard.CanUpgradeTo(annualPlatinum));
            Assert.False(annualStandard.CanUpgradeTo(monthlyStandard));
            Assert.False(annualStandard.CanUpgradeTo(monthlyPlatinum));
            Assert.False(annualStandard.CanUpgradeTo(annualStandard));

            Assert.False(annualPlatinum.CanUpgradeTo(annualStandard));
            Assert.False(annualPlatinum.CanUpgradeTo(monthlyStandard));
            Assert.False(annualPlatinum.CanUpgradeTo(monthlyPlatinum));
            Assert.False(annualPlatinum.CanUpgradeTo(annualPlatinum));
        }
Ejemplo n.º 11
0
        public bool Equals(GroupEditAction input)
        {
            if (input == null)
            {
                return(false);
            }

            return
                ((
                     Name == input.Name ||
                     (Name != null && Name.Equals(input.Name))
                     ) &&
                 (
                     About == input.About ||
                     (About != null && About.Equals(input.About))
                 ) &&
                 (
                     Motto == input.Motto ||
                     (Motto != null && Motto.Equals(input.Motto))
                 ) &&
                 (
                     Theme == input.Theme ||
                     (Theme != null && Theme.Equals(input.Theme))
                 ) &&
                 (
                     AvatarImageIndex == input.AvatarImageIndex ||
                     (AvatarImageIndex.Equals(input.AvatarImageIndex))
                 ) &&
                 (
                     Tags == input.Tags ||
                     (Tags != null && Tags.Equals(input.Tags))
                 ) &&
                 (
                     IsPublic == input.IsPublic ||
                     (IsPublic != null && IsPublic.Equals(input.IsPublic))
                 ) &&
                 (
                     MembershipOption == input.MembershipOption ||
                     (MembershipOption.Equals(input.MembershipOption))
                 ) &&
                 (
                     IsPublicTopicAdminOnly == input.IsPublicTopicAdminOnly ||
                     (IsPublicTopicAdminOnly != null && IsPublicTopicAdminOnly.Equals(input.IsPublicTopicAdminOnly))
                 ) &&
                 (
                     AllowChat == input.AllowChat ||
                     (AllowChat != null && AllowChat.Equals(input.AllowChat))
                 ) &&
                 (
                     ChatSecurity == input.ChatSecurity ||
                     (ChatSecurity.Equals(input.ChatSecurity))
                 ) &&
                 (
                     Callsign == input.Callsign ||
                     (Callsign != null && Callsign.Equals(input.Callsign))
                 ) &&
                 (
                     Locale == input.Locale ||
                     (Locale != null && Locale.Equals(input.Locale))
                 ) &&
                 (
                     Homepage == input.Homepage ||
                     (Homepage.Equals(input.Homepage))
                 ) &&
                 (
                     EnableInvitationMessagingForAdmins == input.EnableInvitationMessagingForAdmins ||
                     (EnableInvitationMessagingForAdmins != null && EnableInvitationMessagingForAdmins.Equals(input.EnableInvitationMessagingForAdmins))
                 ) &&
                 (
                     DefaultPublicity == input.DefaultPublicity ||
                     (DefaultPublicity.Equals(input.DefaultPublicity))
                 ));
        }
Ejemplo n.º 12
0
        public bool Equals(GroupV2 input)
        {
            if (input == null)
            {
                return(false);
            }

            return
                ((
                     GroupId == input.GroupId ||
                     (GroupId.Equals(input.GroupId))
                     ) &&
                 (
                     Name == input.Name ||
                     (Name != null && Name.Equals(input.Name))
                 ) &&
                 (
                     GroupType == input.GroupType ||
                     (GroupType != null && GroupType.Equals(input.GroupType))
                 ) &&
                 (
                     MembershipIdCreated == input.MembershipIdCreated ||
                     (MembershipIdCreated.Equals(input.MembershipIdCreated))
                 ) &&
                 (
                     CreationDate == input.CreationDate ||
                     (CreationDate != null && CreationDate.Equals(input.CreationDate))
                 ) &&
                 (
                     ModificationDate == input.ModificationDate ||
                     (ModificationDate != null && ModificationDate.Equals(input.ModificationDate))
                 ) &&
                 (
                     About == input.About ||
                     (About != null && About.Equals(input.About))
                 ) &&
                 (
                     Tags == input.Tags ||
                     (Tags != null && Tags.SequenceEqual(input.Tags))
                 ) &&
                 (
                     MemberCount == input.MemberCount ||
                     (MemberCount.Equals(input.MemberCount))
                 ) &&
                 (
                     IsPublic == input.IsPublic ||
                     (IsPublic != null && IsPublic.Equals(input.IsPublic))
                 ) &&
                 (
                     IsPublicTopicAdminOnly == input.IsPublicTopicAdminOnly ||
                     (IsPublicTopicAdminOnly != null && IsPublicTopicAdminOnly.Equals(input.IsPublicTopicAdminOnly))
                 ) &&
                 (
                     Motto == input.Motto ||
                     (Motto != null && Motto.Equals(input.Motto))
                 ) &&
                 (
                     AllowChat == input.AllowChat ||
                     (AllowChat != null && AllowChat.Equals(input.AllowChat))
                 ) &&
                 (
                     IsDefaultPostPublic == input.IsDefaultPostPublic ||
                     (IsDefaultPostPublic != null && IsDefaultPostPublic.Equals(input.IsDefaultPostPublic))
                 ) &&
                 (
                     ChatSecurity == input.ChatSecurity ||
                     (ChatSecurity != null && ChatSecurity.Equals(input.ChatSecurity))
                 ) &&
                 (
                     Locale == input.Locale ||
                     (Locale != null && Locale.Equals(input.Locale))
                 ) &&
                 (
                     AvatarImageIndex == input.AvatarImageIndex ||
                     (AvatarImageIndex.Equals(input.AvatarImageIndex))
                 ) &&
                 (
                     Homepage == input.Homepage ||
                     (Homepage != null && Homepage.Equals(input.Homepage))
                 ) &&
                 (
                     MembershipOption == input.MembershipOption ||
                     (MembershipOption != null && MembershipOption.Equals(input.MembershipOption))
                 ) &&
                 (
                     DefaultPublicity == input.DefaultPublicity ||
                     (DefaultPublicity != null && DefaultPublicity.Equals(input.DefaultPublicity))
                 ) &&
                 (
                     Theme == input.Theme ||
                     (Theme != null && Theme.Equals(input.Theme))
                 ) &&
                 (
                     BannerPath == input.BannerPath ||
                     (BannerPath != null && BannerPath.Equals(input.BannerPath))
                 ) &&
                 (
                     AvatarPath == input.AvatarPath ||
                     (AvatarPath != null && AvatarPath.Equals(input.AvatarPath))
                 ) &&
                 (
                     ConversationId == input.ConversationId ||
                     (ConversationId.Equals(input.ConversationId))
                 ) &&
                 (
                     EnableInvitationMessagingForAdmins == input.EnableInvitationMessagingForAdmins ||
                     (EnableInvitationMessagingForAdmins != null && EnableInvitationMessagingForAdmins.Equals(input.EnableInvitationMessagingForAdmins))
                 ) &&
                 (
                     BanExpireDate == input.BanExpireDate ||
                     (BanExpireDate != null && BanExpireDate.Equals(input.BanExpireDate))
                 ) &&
                 (
                     Features == input.Features ||
                     (Features != null && Features.Equals(input.Features))
                 ) &&
                 (
                     ClanInfo == input.ClanInfo ||
                     (ClanInfo != null && ClanInfo.Equals(input.ClanInfo))
                 ));
        }
Ejemplo n.º 13
0
        public bool Equals(GroupV2Card input)
        {
            if (input == null)
            {
                return(false);
            }

            return
                ((
                     GroupId == input.GroupId ||
                     (GroupId.Equals(input.GroupId))
                     ) &&
                 (
                     Name == input.Name ||
                     (Name != null && Name.Equals(input.Name))
                 ) &&
                 (
                     GroupType == input.GroupType ||
                     (GroupType != null && GroupType.Equals(input.GroupType))
                 ) &&
                 (
                     CreationDate == input.CreationDate ||
                     (CreationDate != null && CreationDate.Equals(input.CreationDate))
                 ) &&
                 (
                     About == input.About ||
                     (About != null && About.Equals(input.About))
                 ) &&
                 (
                     Motto == input.Motto ||
                     (Motto != null && Motto.Equals(input.Motto))
                 ) &&
                 (
                     MemberCount == input.MemberCount ||
                     (MemberCount.Equals(input.MemberCount))
                 ) &&
                 (
                     Locale == input.Locale ||
                     (Locale != null && Locale.Equals(input.Locale))
                 ) &&
                 (
                     MembershipOption == input.MembershipOption ||
                     (MembershipOption != null && MembershipOption.Equals(input.MembershipOption))
                 ) &&
                 (
                     Capabilities == input.Capabilities ||
                     (Capabilities != null && Capabilities.Equals(input.Capabilities))
                 ) &&
                 (
                     ClanInfo == input.ClanInfo ||
                     (ClanInfo != null && ClanInfo.Equals(input.ClanInfo))
                 ) &&
                 (
                     AvatarPath == input.AvatarPath ||
                     (AvatarPath != null && AvatarPath.Equals(input.AvatarPath))
                 ) &&
                 (
                     Theme == input.Theme ||
                     (Theme != null && Theme.Equals(input.Theme))
                 ));
        }