Example #1
0
        private void addMembershipTemplate(Table table, DojoMembershipTemplate template)
        {
            TableRow  nameRow   = new TableRow();
            TableCell radioCell = new TableCell();

            radioCell.Text = "<input type=\"radio\" name=\"MembershipTemplates\" value=\"" +
                             template.ID.ToString() + "\" />";
            TableCell nameCell = new TableCell();

            nameCell.Text = template.Name;
            nameRow.Cells.Add(nameCell);
            TableCell feeCell = new TableCell();

            feeCell.Text = template.Fee.ToString("c");
            nameRow.Cells.Add(feeCell);
            table.Rows.Add(nameRow);

            TableRow  descriptionRow  = new TableRow();
            TableCell descriptionCell = new TableCell();

            descriptionCell.Text       = template.Description;
            descriptionCell.ColumnSpan = 3;
            descriptionRow.Cells.Add(descriptionCell);
            table.Rows.Add(descriptionRow);
        }
        protected void btOk_Click(object sender, EventArgs e)
        {
            DojoMembershipTemplate dojoMembershipTemplate = new DojoMembershipTemplate(dojoMembershipTemplateID);

            dojoMembershipTemplate.Delete();

            dojoMembershipTemplateID = 0;

            OnDeleted(EventArgs.Empty);
        }
 protected override void OnPreRender(EventArgs e)
 {
     if (dojoMembershipTemplateID != 0)
     {
         dojoMembershipTemplate = new DojoMembershipTemplate(dojoMembershipTemplateID);
         text = "Delete - " + dojoMembershipTemplate.ToString();
     }
     else
     {
         text = "Delete Membership Template";
     }
 }
Example #4
0
        /// <summary>
        /// Gets a member's prior membership based on the template provided. If the member's
        /// membership has an associated root membership template that matches the template,
        /// then it will still be matched.
        /// </summary>
        /// <param name="member"></param>
        /// <param name="template"></param>
        /// <returns></returns>
        public DojoMembership getPrior(DojoMember member, DojoMembershipTemplate template)
        {
            if (priorMatch(member.Membership1, template))
            {
                return(member.Membership1);
            }

            if (priorMatch(member.Membership2, template))
            {
                return(member.Membership2);
            }

            if (priorMatch(member.Membership3, template))
            {
                return(member.Membership3);
            }

            if (priorMatch(member.Membership4, template))
            {
                return(member.Membership4);
            }

            if (priorMatch(member.Membership5, template))
            {
                return(member.Membership5);
            }

            else if (member.Membership5 != null)
            {
                // Go looking for the latest membership that matches
                // the template's ID, since every membership slot was
                // full. SORT NEWEST ON TOP
                DojoMembershipManager m = new DojoMembershipManager();

                DojoMembershipCollection memberships =
                    m.GetCollection(1,
                                    "MembershipTemplateID=" +
                                    template.ID.ToString() +
                                    (template.RootTemplate != null ? " OR " +
                                     "MembershipTemplate.RootTemplateID=" + template.RootTemplate.ID : ""),
                                    "EndDate DESC", null);

                if (memberships.Count > 0)
                {
                    return(memberships[0]);
                }
            }

            return(null);
        }
Example #5
0
        public static DojoMembershipTemplate MembershipTemplate(
            string name,
            string description,
            bool purchaseRequired, bool testRequired, bool attendanceRequired,
            decimal fee, decimal startupFee,
            DojoMembershipDayType membershipStart,
            DojoMembershipDayType membershipEnd,
            DojoOrganization organization,
            int orderNum,
            int proRateMonthA, int proRateDayA, decimal proRateFeeA, DojoMembershipDayType proRateEndA,
            int proRateMonthB, int proRateDayB, decimal proRateFeeB, DojoMembershipDayType proRateEndB,
            int proRateMonthC, int proRateDayC, decimal proRateFeeC, DojoMembershipDayType proRateEndC,
            int ageYearsMin, int ageYearsMax,
            int memberForMin, int memberForMax,
            DojoRank rankMin, DojoRank rankMax)
        {
            DojoMembershipTemplate template = new DojoMembershipTemplate();

            template.Name               = name;
            template.Description        = description;
            template.PurchaseRequired   = purchaseRequired;
            template.TestRequired       = testRequired;
            template.AttendanceRequired = attendanceRequired;
            template.MembershipStart    = membershipStart;
            template.MembershipEnd      = membershipEnd;
            template.Organization       = organization;
            template.OrderNum           = orderNum;
            template.ProRateMonthA      = proRateMonthA;
            template.ProRateDayA        = proRateDayA;
            template.ProRateFeeA        = proRateFeeA;
            template.ProRateEndA        = proRateEndA;
            template.ProRateMonthB      = proRateMonthB;
            template.ProRateDayB        = proRateDayB;
            template.ProRateFeeB        = proRateFeeB;
            template.ProRateEndB        = proRateEndB;
            template.ProRateMonthC      = proRateMonthC;
            template.ProRateDayC        = proRateDayC;
            template.ProRateFeeC        = proRateFeeC;
            template.ProRateEndC        = proRateEndC;
            template.AgeYearsMin        = ageYearsMin;
            template.AgeYearsMax        = ageYearsMax;
            template.MemberForMin       = memberForMin;
            template.MemberForMax       = memberForMax;
            template.RankMin            = rankMin;
            template.RankMax            = rankMax;
            return(template);
        }
Example #6
0
        private void addTemplate(
            DojoMember member,
            DojoMembershipTemplate template,
            MembershipBuilder builder)
        {
            // Get Prior
            DojoMembership prior = getPrior(member, template);

            // If the prior membership has not yet ended and the prior membership's
            // end date preceeds the template's pre-purchase date, skip this template.
            if (prior != null)
            {
                if (prior.EndDate >= builder.BuildTime)
                {
                    if (prior.EndDate >= builder.BuildTime.Subtract(template.PrePurchaseTime))
                    {
                        return;
                    }
                }
            }

            // Since this membership is either a new, renewal or pre-purchased renewal,
            // add it to the membership list.
            DojoMembership membership = new DojoMembership();

            membership.Member               = member;
            membership.MembershipTemplate   = template;
            membership.PriorMembership      = prior;
            membership.Organization         = template.Organization;
            membership.OrganizationMemberID =
                prior != null ? prior.OrganizationMemberID : string.Empty;
            calcMembership(membership, builder);
            // calcMembership takes care of this!
            // membership.EndDate = calcDate(membership.startDate,
            //     template.MembershipEnd);
            // membership.Fee = template.Fee;

            memberships.Add(membership);

            totalFee += membership.Fee;
        }
Example #7
0
        public static DojoMemberTypeTemplate MemberTypeTemplate(
            string name,
            string description,
            DojoMemberTypeTemplate parent,
            DojoMemberType memberType,
            bool allowPurchase,
            bool allowGuestPurchase,
            bool allowRenewal,
            bool allowAutoRenewal,
            int ageYearsMin, int ageYearsMax,
            int memberForMin, int memberForMax,
            DojoRank rankMin, DojoRank rankMax,
            DojoMembershipTemplate template1,
            DojoMembershipTemplate template2,
            DojoMembershipTemplate template3,
            DojoMembershipTemplate template4,
            DojoMembershipTemplate template5)
        {
            DojoMemberTypeTemplate template = new DojoMemberTypeTemplate();

            template.Name                = name;
            template.Description         = description;
            template.Parent              = parent;
            template.MemberType          = memberType;
            template.AllowPurchase       = allowPurchase;
            template.AllowGuestPurchase  = allowGuestPurchase;
            template.AllowRenewal        = allowRenewal;
            template.AllowAutoRenewal    = allowAutoRenewal;
            template.AgeYearsMin         = ageYearsMin;
            template.AgeYearsMax         = ageYearsMax;
            template.MemberForMin        = memberForMin;
            template.MemberForMax        = memberForMax;
            template.RankMin             = rankMin;
            template.RankMax             = rankMax;
            template.MembershipTemplate1 = template1;
            template.MembershipTemplate2 = template2;
            template.MembershipTemplate3 = template3;
            template.MembershipTemplate4 = template4;
            template.MembershipTemplate5 = template5;
            return(template);
        }
Example #8
0
        public void SyncItem(DojoMembershipTemplate template)
        {
            RHItem item;

            if (template.Item != null)
            {
                item = template.Item;
            }
            else
            {
                item = new RHItem();
            }

            item.Name                 = template.Name;
            item.Description          = template.Description;
            item.IsInventoryItem      = false;
            item.IsPurchaseItem       = false;
            item.IsSaleItem           = true;
            item.IsService            = false;
            item.IsWebEnabled         = false;
            item.SalesAmount          = template.Fee;
            item.SalesAmountIsPercent = false;
            item.SalesDescription     = template.Description;
            if (membershipIncomeAccount != null &
                item.SalesIncomeAccount != null)
            {
                item.SalesIncomeAccount = membershipIncomeAccount;
            }
            if (membershipTax != null &
                item.Tax != null)
            {
                item.Tax = membershipTax;
            }
            item.SKU            = template.Name;
            item.WebDescription = template.Name;
            item.WebKeywords    = "membership";

            item.Save();
        }
Example #9
0
        /// <summary>
        /// Tests to see if the existing membership can be matched to the template.
        /// </summary>
        /// <param name="membership"></param>
        /// <param name="template"></param>
        /// <returns></returns>
        private bool priorMatch(DojoMembership membership, DojoMembershipTemplate template)
        {
            if (membership != null)
            {
                // If the membership's root template is the same as the one provided, then
                // this counts as a prior membership.
                if (membership.MembershipTemplate.RootTemplate != null)
                {
                    if (membership.MembershipTemplate.RootTemplate.ID == template.ID)
                    {
                        return(true);
                    }
                }

                // If the membership's template is the same as the template provided, then
                // this counts as a match.
                if (membership.MembershipTemplate.ID == template.ID)
                {
                    return(true);
                }
            }

            return(false);
        }
Example #10
0
        protected void ok_Click(object sender, EventArgs e)
        {
            if (dojoMembershipID == 0)
            {
                obj = new DojoMembership();
            }
            else
            {
                obj = new DojoMembership(dojoMembershipID);
            }

            if (comboMember.SelectedItem != null)
            {
                obj.Member = DojoMember.NewPlaceHolder(int.Parse(comboMember.SelectedValue));
            }
            else
            {
                obj.Member = null;
            }
            obj.StartDate = deStartDate.Date;
            obj.EndDate   = deEndDate.Date;
            if (comboOrganization.SelectedItem != null)
            {
                obj.Organization = DojoOrganization.NewPlaceHolder(int.Parse(comboOrganization.SelectedValue));
            }
            else
            {
                obj.Organization = null;
            }
            obj.OrganizationMemberID = tbOrganizationMemberID.Text;
            if (ddParent.SelectedItem != null && ddParent.SelectedValue != "null")
            {
                obj.Parent = DojoMembership.NewPlaceHolder(int.Parse(ddParent.SelectedValue));
            }
            else
            {
                obj.Parent = null;
            }
            if (comboMemberTypeTemplate.SelectedItem != null)
            {
                obj.MemberTypeTemplate = DojoMemberTypeTemplate.NewPlaceHolder(int.Parse(comboMemberTypeTemplate.SelectedValue));
            }
            else
            {
                obj.MemberTypeTemplate = null;
            }
            if (comboMembershipTemplate.SelectedItem != null)
            {
                obj.MembershipTemplate = DojoMembershipTemplate.NewPlaceHolder(int.Parse(comboMembershipTemplate.SelectedValue));
            }
            else
            {
                obj.MembershipTemplate = null;
            }
            obj.Fee           = decimal.Parse(tbFee.Text);
            obj.PaymentAmount = decimal.Parse(tbPaymentAmount.Text);
            obj.IsProRated    = cbIsProRated.Checked;
            if (ddInvoiceLine.SelectedItem != null && ddInvoiceLine.SelectedValue != "null")
            {
                obj.InvoiceLine = RHInvoiceLine.NewPlaceHolder(int.Parse(ddInvoiceLine.SelectedValue));
            }
            else
            {
                obj.InvoiceLine = null;
            }
            if (editOnAdd)
            {
                dojoMembershipID = obj.Save();
            }
            else
            {
                obj.Save();
            }

            if (resetOnAdd)
            {
                DojoMembership newObj = new DojoMembership();
                if (newObj.Member != null)
                {
                    comboMember.Text = newObj.Member.ToString();
                    foreach (ComponentArt.Web.UI.ComboBoxItem item in comboMember.Items)
                    {
                        if (item.Value == newObj.Member.ID.ToString())
                        {
                            comboMember.SelectedItem = item;
                            break;
                        }
                    }
                }
                else
                {
                    // Necissary to clear prior ViewState - if only we don't need it.
                    comboMember.Text         = string.Empty;
                    comboMember.SelectedItem = null;
                }
                deStartDate.Date = newObj.StartDate;
                deEndDate.Date   = newObj.EndDate;
                if (newObj.Organization != null)
                {
                    comboOrganization.Text = newObj.Organization.ToString();
                    foreach (ComponentArt.Web.UI.ComboBoxItem item in comboOrganization.Items)
                    {
                        if (item.Value == newObj.Organization.ID.ToString())
                        {
                            comboOrganization.SelectedItem = item;
                            break;
                        }
                    }
                }
                else
                {
                    // Necissary to clear prior ViewState - if only we don't need it.
                    comboOrganization.Text         = string.Empty;
                    comboOrganization.SelectedItem = null;
                }
                tbOrganizationMemberID.Text = newObj.OrganizationMemberID;
                if (newObj.Parent != null)
                {
                    foreach (ListItem item in ddParent.Items)
                    {
                        item.Selected = newObj.Parent.ID.ToString() == item.Value;
                    }
                }
                else if (ddParent.Items.Count > 0)
                {
                    ddParent.SelectedIndex = 0;
                }

                if (newObj.MemberTypeTemplate != null)
                {
                    comboMemberTypeTemplate.Text = newObj.MemberTypeTemplate.ToString();
                    foreach (ComponentArt.Web.UI.ComboBoxItem item in comboMemberTypeTemplate.Items)
                    {
                        if (item.Value == newObj.MemberTypeTemplate.ID.ToString())
                        {
                            comboMemberTypeTemplate.SelectedItem = item;
                            break;
                        }
                    }
                }
                else
                {
                    // Necissary to clear prior ViewState - if only we don't need it.
                    comboMemberTypeTemplate.Text         = string.Empty;
                    comboMemberTypeTemplate.SelectedItem = null;
                }
                if (newObj.MembershipTemplate != null)
                {
                    comboMembershipTemplate.Text = newObj.MembershipTemplate.ToString();
                    foreach (ComponentArt.Web.UI.ComboBoxItem item in comboMembershipTemplate.Items)
                    {
                        if (item.Value == newObj.MembershipTemplate.ID.ToString())
                        {
                            comboMembershipTemplate.SelectedItem = item;
                            break;
                        }
                    }
                }
                else
                {
                    // Necissary to clear prior ViewState - if only we don't need it.
                    comboMembershipTemplate.Text         = string.Empty;
                    comboMembershipTemplate.SelectedItem = null;
                }
                ltSessionID.Text       = newObj.SessionID.ToString();
                tbFee.Text             = newObj.Fee.ToString();
                ltPriorMembership.Text = newObj.PriorMembership != null?
                                         newObj.PriorMembership.ToString() : Localization.Strings.StartupMembership;

                tbPaymentAmount.Text = newObj.PaymentAmount.ToString();
                cbIsProRated.Checked = newObj.IsProRated;
                if (newObj.InvoiceLine != null)
                {
                    foreach (ListItem item in ddInvoiceLine.Items)
                    {
                        item.Selected = newObj.InvoiceLine.ID.ToString() == item.Value;
                    }
                }
                else if (ddInvoiceLine.Items.Count > 0)
                {
                    ddInvoiceLine.SelectedIndex = 0;
                }
            }

            OnUpdated(EventArgs.Empty);
        }
Example #11
0
        protected void ok_Click(object sender, EventArgs e)
        {
            if (dojoMembershipID == 0)
            {
                obj = new DojoMembership();
            }
            else
            {
                obj = new DojoMembership(dojoMembershipID);
            }

            obj.StartDate            = deStartDate.Date;
            obj.EndDate              = deEndDate.Date;
            obj.OrganizationMemberID = tbOrganizationMemberID.Text;

            if (msMember.SelectedItem != null && msMember.SelectedItem.Value != "Null")
            {
                obj.Member = DojoMember.NewPlaceHolder(
                    int.Parse(msMember.SelectedItem.Value));
            }
            else
            {
                obj.Member = null;
            }

            if (msMemberType.SelectedItem != null && msMemberType.SelectedItem.Value != "Null")
            {
                obj.MemberType = DojoMemberType.NewPlaceHolder(
                    int.Parse(msMemberType.SelectedItem.Value));
            }
            else
            {
                obj.MemberType = null;
            }

            if (msOrganization.SelectedItem != null && msOrganization.SelectedItem.Value != "Null")
            {
                obj.Organization = DojoOrganization.NewPlaceHolder(
                    int.Parse(msOrganization.SelectedItem.Value));
            }
            else
            {
                obj.Organization = null;
            }

            if (msParentMembership.SelectedItem != null && msParentMembership.SelectedItem.Value != "Null")
            {
                obj.ParentMembership = DojoMembership.NewPlaceHolder(
                    int.Parse(msParentMembership.SelectedItem.Value));
            }
            else
            {
                obj.ParentMembership = null;
            }

            if (msSourceTemplate.SelectedItem != null && msSourceTemplate.SelectedItem.Value != "Null")
            {
                obj.SourceTemplate = DojoMembershipTemplate.NewPlaceHolder(
                    int.Parse(msSourceTemplate.SelectedItem.Value));
            }
            else
            {
                obj.SourceTemplate = null;
            }

            if (msInvoiceLine.SelectedItem != null && msInvoiceLine.SelectedItem.Value != "Null")
            {
                obj.InvoiceLine = RHInvoiceLine.NewPlaceHolder(
                    int.Parse(msInvoiceLine.SelectedItem.Value));
            }
            else
            {
                obj.InvoiceLine = null;
            }

            if (editOnAdd)
            {
                dojoMembershipID = obj.Save();
            }
            else
            {
                obj.Save();
            }

            if (resetOnAdd)
            {
                deStartDate.Date                 = DateTime.Now;
                deEndDate.Date                   = DateTime.Now;
                tbOrganizationMemberID.Text      = string.Empty;
                msMember.SelectedIndex           = 0;
                msMemberType.SelectedIndex       = 0;
                msOrganization.SelectedIndex     = 0;
                msParentMembership.SelectedIndex = 0;
                msSourceTemplate.SelectedIndex   = 0;
                msInvoiceLine.SelectedIndex      = 0;
            }

            OnUpdated(EventArgs.Empty);
        }
Example #12
0
        /// <summary>
        /// Tests a Membership Template against the member.
        /// </summary>
        /// <param name="member"></param>
        /// <param name="template"></param>
        /// <returns></returns>
        private bool filterCheck(DojoMember member,
                                 DojoMembershipTemplate template)
        {
            if (template == null)
            {
                return(false);
            }

            if (member == null)
            {
                return(false);
            }

            if (template.AgeYearsMin != -1 &&
                member.PrivateContact.BirthDate.
                AddYears(template.AgeYearsMin) >
                buildTime)
            {
                return(false);
            }

            if (template.AgeYearsMax != 0 &&
                member.PrivateContact.BirthDate.
                AddYears(template.AgeYearsMax) <
                buildTime)
            {
                return(false);
            }

            if (template.MemberForMin != 0 &&
                buildTime.Subtract(member.MemberSince).Days <
                template.MemberForMin)
            {
                return(false);
            }

            if (template.MemberForMax != 0 &&
                buildTime.Subtract(member.MemberSince).Days >
                template.MemberForMax)
            {
                return(false);
            }

            if (template.RankMin != null &&
                member.Rank != null &&
                member.Rank.OrderNum <
                template.RankMin.OrderNum)
            {
                return(false);
            }

            if (template.RankMax != null &&
                member.Rank != null &&
                member.Rank.OrderNum >
                template.RankMax.OrderNum)
            {
                return(false);
            }

            return(true);
        }
Example #13
0
        /// <summary>
        /// Calculates a fee and end date for a membership based on the
        /// provided membership's start date. This will take into account the
        /// ProRate settings on the membership's parent template. ProRate
        /// settings can use either the day, the month or the month/day
        /// combination. This will NOT ProRate memberships that do not have
        /// a prior membership.
        ///
        /// This will add the startup fees for each member at the end.
        /// </summary>
        /// <param name="membership">The membership to calculate.</param>
        private void calcMembership(DojoMembership membership, MembershipBuilder builder)
        {
            DateTime               now      = builder.BuildTime;
            DojoMember             member   = membership.member;
            DojoMembershipTemplate template = membership.MembershipTemplate;

            if (membership.priorMembership == null)
            {
                membership.StartDate =
                    calcDate(now, template.MembershipStart);
            }
            else
            {
                membership.StartDate = DateManipulator.FirstOfNextDay(
                    membership.PriorMembership.EndDate);
            }

            membership.EndDate =
                calcDate(membership.StartDate,
                         template.MembershipEnd);
            membership.Fee = template.Fee;

            if (membership.PriorMembership == null)
            {
                // PRO RATE A ==================================
                if (template.ProRateMonthA > 0 &&
                    template.ProRateMonthA <= now.Month)
                {
                    if (template.ProRateDayA > 0)
                    {
                        if (template.ProRateDayA <= now.Day)
                        {
                            membership.EndDate =
                                calcDate(membership.StartDate,
                                         template.ProRateEndA);
                            membership.Fee =
                                template.ProRateFeeA;
                            membership.IsProRated = true;
                        }
                    }
                    else
                    {
                        membership.EndDate =
                            calcDate(membership.StartDate,
                                     template.ProRateEndA);
                        membership.Fee =
                            template.ProRateFeeA;
                        membership.IsProRated = true;
                    }

                    // PRO RATE B ==================================
                    if (template.ProRateMonthB > 0 &&
                        template.ProRateMonthB <= now.Month)
                    {
                        if (template.ProRateDayB > 0)
                        {
                            if (template.ProRateDayB <= now.Day)
                            {
                                membership.EndDate =
                                    calcDate(membership.StartDate,
                                             template.ProRateEndB);
                                membership.Fee =
                                    template.ProRateFeeB;
                                membership.IsProRated = true;
                            }
                        }
                        else
                        {
                            membership.EndDate =
                                calcDate(membership.StartDate,
                                         template.ProRateEndB);
                            membership.Fee =
                                template.ProRateFeeB;
                            membership.IsProRated = true;
                        }

                        // PRO RATE C ==================================
                        if (template.ProRateMonthC > 0 &&
                            template.ProRateMonthC <= now.Month)
                        {
                            if (template.ProRateDayC > 0)
                            {
                                if (template.ProRateDayC <= now.Day)
                                {
                                    membership.EndDate =
                                        calcDate(membership.StartDate,
                                                 template.ProRateEndC);
                                    membership.Fee =
                                        template.ProRateFeeC;
                                    membership.IsProRated = true;
                                }
                            }
                            else
                            {
                                membership.EndDate =
                                    calcDate(membership.StartDate,
                                             template.ProRateEndC);
                                membership.Fee =
                                    template.ProRateFeeC;
                                membership.IsProRated = true;
                            }
                        }
                        else if (template.ProRateDayC > 0 &&
                                 template.ProRateDayC <= now.Day)
                        {
                            membership.EndDate =
                                calcDate(membership.StartDate,
                                         template.ProRateEndC);
                            membership.Fee =
                                template.ProRateFeeC;
                            membership.IsProRated = true;
                        }
                    }
                    else if (template.ProRateDayB > 0 &&
                             template.ProRateDayB <= now.Day)
                    {
                        membership.EndDate =
                            calcDate(membership.StartDate,
                                     template.ProRateEndB);
                        membership.Fee =
                            template.ProRateFeeB;
                        membership.IsProRated = true;
                    }
                }
                else if (template.ProRateDayA > 0 &&
                         template.ProRateDayA <= now.Day)
                {
                    membership.EndDate =
                        calcDate(membership.StartDate,
                                 template.ProRateEndA);
                    membership.Fee =
                        template.ProRateFeeA;
                    membership.IsProRated = true;
                }
            }

            if (membership.PriorMembership == null)
            {
                membership.Fee += template.StartupFee;
            }
        }
Example #14
0
        public void LoadDefaults()
        {
            DojoAccessControlGroupCollection accessControls;

            DojoAttendanceEntryCollection     attendanceEntries;
            DojoBulkAttendanceEntryCollection bulkAttendances;
            DojoClassCollection           classes;
            DojoClassDefinitionCollection classDefinitions;

            DojoMemberCollection             members;
            DojoMembershipCollection         memberships;
            DojoMembershipTemplateCollection membershipTemplates;
            DojoMemberTypeCollection         memberTypes;
            DojoMemberTypeTemplateCollection memberTypeTemplates;
            DojoOrganizationCollection       organizations;

            DojoPromotionCollection                promotions;
            DojoPromotionFlagCollection            promotionFlags;
            DojoPromotionStatusCollection          promotionStatuses;
            DojoRankCollection                     ranks;
            DojoTestCollection                     tests;
            DojoTestListCollection                 testLists;
            DojoTestListJournalEntryCollection     testListJournalEntries;
            DojoTestListJournalEntryTypeCollection testListJournalEntryTypes;
            DojoTestListStatusCollection           testListStatuses;

            DojoSeminarCollection                   seminars;
            DojoSeminarOptionCollection             seminarOptions;
            DojoSeminarRegistrationCollection       seminarRegistrations;
            DojoSeminarRegistrationOptionCollection seminarRegistrationOptions;

            GreyFoxContactCollection locations;

            accessControls = new DojoAccessControlGroupCollection();

            attendanceEntries = new DojoAttendanceEntryCollection();
            bulkAttendances   = new DojoBulkAttendanceEntryCollection();
            classes           = new DojoClassCollection();
            classDefinitions  = new DojoClassDefinitionCollection();

            members             = new DojoMemberCollection();
            memberships         = new DojoMembershipCollection();
            membershipTemplates = new DojoMembershipTemplateCollection();
            memberTypes         = new DojoMemberTypeCollection();
            memberTypeTemplates = new DojoMemberTypeTemplateCollection();
            organizations       = new DojoOrganizationCollection();

            promotions                = new DojoPromotionCollection();
            promotionFlags            = new DojoPromotionFlagCollection();
            promotionStatuses         = new DojoPromotionStatusCollection();
            ranks                     = new DojoRankCollection();
            tests                     = new DojoTestCollection();
            testLists                 = new DojoTestListCollection();
            testListJournalEntries    = new DojoTestListJournalEntryCollection();
            testListJournalEntryTypes = new DojoTestListJournalEntryTypeCollection();
            testListStatuses          = new DojoTestListStatusCollection();

            seminars                   = new DojoSeminarCollection();
            seminarOptions             = new DojoSeminarOptionCollection();
            seminarRegistrations       = new DojoSeminarRegistrationCollection();
            seminarRegistrationOptions = new DojoSeminarRegistrationOptionCollection();

            locations = new GreyFoxContactCollection();

            organizations       = new DojoOrganizationManager().GetCollection(string.Empty, string.Empty, null);
            memberTypes         = new DojoMemberTypeManager().GetCollection(string.Empty, string.Empty);
            memberTypeTemplates = new DojoMemberTypeTemplateManager().GetCollection(string.Empty, string.Empty, null);
            ranks = new DojoRankManager().GetCollection(string.Empty, string.Empty, null);
            membershipTemplates = new DojoMembershipTemplateManager().GetCollection(string.Empty, string.Empty, null);

            Dictionary <string, DojoMemberType> memberTypesDictionary =
                new Dictionary <string, DojoMemberType>();

            foreach (DojoMemberType memberType in memberTypes)
            {
                memberTypesDictionary.Add(memberType.Name, memberType);
            }
            Dictionary <string, DojoMemberTypeTemplate> memberTypeTemplatesDictionary =
                new Dictionary <string, DojoMemberTypeTemplate>();

            foreach (DojoMemberTypeTemplate typeTemplate in memberTypeTemplates)
            {
                memberTypeTemplatesDictionary.Add(typeTemplate.Name, typeTemplate);
            }
            Dictionary <string, DojoRank> ranksDictionary =
                new Dictionary <string, DojoRank>();

            foreach (DojoRank rank in ranks)
            {
                ranksDictionary.Add(rank.Name, rank);
            }
            Dictionary <string, DojoMembershipTemplate> membershipTemplatesDictionary =
                new Dictionary <string, DojoMembershipTemplate>();

            foreach (DojoMembershipTemplate template in membershipTemplates)
            {
                membershipTemplatesDictionary.Add(template.Name, template);
            }

            CsvParser.CsvStream csv =
                CsvParser.StreamParse(Localization.Defaults.Defaults_en_US, false);
            string rowType;

            string[] r = csv.GetNextRow();
            while (r != null)
            {
                rowType = r[0];

                if (rowType == Localization.Defaults.CSVMembershipTemplate)
                {
                    DojoMembershipTemplate template =
                        TessenFactory.MembershipTemplate(
                            r[1], r[2],
                            bool.Parse(r[3]), bool.Parse(r[4]), bool.Parse(r[5]),
                            decimal.Parse(r[6]), decimal.Parse(r[7]),
                            (DojoMembershipDayType)Enum.Parse(typeof(DojoMembershipDayType), r[8]),
                            (DojoMembershipDayType)Enum.Parse(typeof(DojoMembershipDayType), r[9]),
                            DojoOrganization.NewPlaceHolder(0),
                            1,
                            int.Parse(r[11]), int.Parse(r[12]), decimal.Parse(r[13]), (DojoMembershipDayType)Enum.Parse(typeof(DojoMembershipDayType), r[14]),
                            int.Parse(r[15]), int.Parse(r[16]), decimal.Parse(r[17]), (DojoMembershipDayType)Enum.Parse(typeof(DojoMembershipDayType), r[18]),
                            int.Parse(r[19]), int.Parse(r[20]), decimal.Parse(r[21]), (DojoMembershipDayType)Enum.Parse(typeof(DojoMembershipDayType), r[22]),
                            int.Parse(r[23]), int.Parse(r[24]),
                            int.Parse(r[25]), int.Parse(r[26]),
                            ranksDictionary.ContainsKey(r[27]) ? ranksDictionary[r[27]] : null,
                            ranksDictionary.ContainsKey(r[28]) ? ranksDictionary[r[28]] : null);
                    membershipTemplates.Add(template);
                    membershipTemplatesDictionary.Add(template.Name, template);
                    template.Save();
                }
                else if (rowType == Localization.Defaults.CSVMemberTypeTemplate)
                {
                    DojoMemberTypeTemplate template = TessenFactory.MemberTypeTemplate(
                        r[1], r[2],
                        memberTypeTemplatesDictionary.ContainsKey(r[3].ToString()) ? memberTypeTemplatesDictionary[r[3]] : null,
                        memberTypesDictionary.ContainsKey(r[4]) ? memberTypesDictionary[r[4]] : null,
                        bool.Parse(r[5]), bool.Parse(r[6]), bool.Parse(r[7]), bool.Parse(r[8]),
                        int.Parse(r[9]), int.Parse(r[10]),
                        int.Parse(r[11]), int.Parse(r[12]),
                        ranksDictionary.ContainsKey(r[13]) ? ranksDictionary[r[13]] : null,
                        ranksDictionary.ContainsKey(r[14]) ? ranksDictionary[r[14]] : null,
                        membershipTemplatesDictionary.ContainsKey(r[15]) ? membershipTemplatesDictionary[r[15]] : null,
                        membershipTemplatesDictionary.ContainsKey(r[16]) ? membershipTemplatesDictionary[r[16]] : null,
                        membershipTemplatesDictionary.ContainsKey(r[17]) ? membershipTemplatesDictionary[r[17]] : null,
                        membershipTemplatesDictionary.ContainsKey(r[18]) ? membershipTemplatesDictionary[r[18]] : null,
                        membershipTemplatesDictionary.ContainsKey(r[19]) ? membershipTemplatesDictionary[r[19]] : null);
                    memberTypeTemplates.Add(template);
                    memberTypeTemplatesDictionary.Add(template.Name, template);
                    template.Save();
                }

                r = csv.GetNextRow();
            }
        }
        protected override void OnPreRender(EventArgs e)
        {
            if (loadFlag)
            {
                if (dojoMembershipTemplateID > 0)
                {
                    obj  = new DojoMembershipTemplate(dojoMembershipTemplateID);
                    text = "Edit  - " + obj.ToString();
                }
                else if (dojoMembershipTemplateID <= 0)
                {
                    obj  = new DojoMembershipTemplate();
                    text = "Add ";
                }

                //
                // Set Field Entries
                //
                ltCreateDate.Text            = obj.CreateDate.ToString();
                ltModifyDate.Text            = obj.ModifyDate.ToString();
                tbName.Text                  = obj.Name;
                tbDescription.Text           = obj.Description;
                tbDuration.Text              = obj.Duration.ToString();
                tbFee.Text                   = obj.Fee.ToString();
                cbAutoRenewalEnabled.Checked = obj.AutoRenewalEnabled;
                cbAutoPayEnabled.Checked     = obj.AutoPayEnabled;

                //
                // Set Children Selections
                //
                if (obj.ParentTemplate != null)
                {
                    foreach (ListItem item in msParentTemplate.Items)
                    {
                        item.Selected = obj.ParentTemplate.ID.ToString() == item.Value;
                    }
                }
                else
                {
                    msParentTemplate.SelectedIndex = 0;
                }

                if (obj.MemberType1 != null)
                {
                    foreach (ListItem item in msMemberType1.Items)
                    {
                        item.Selected = obj.MemberType1.ID.ToString() == item.Value;
                    }
                }
                else
                {
                    msMemberType1.SelectedIndex = 0;
                }

                if (obj.MemberType2 != null)
                {
                    foreach (ListItem item in msMemberType2.Items)
                    {
                        item.Selected = obj.MemberType2.ID.ToString() == item.Value;
                    }
                }
                else
                {
                    msMemberType2.SelectedIndex = 0;
                }

                if (obj.MemberType3 != null)
                {
                    foreach (ListItem item in msMemberType3.Items)
                    {
                        item.Selected = obj.MemberType3.ID.ToString() == item.Value;
                    }
                }
                else
                {
                    msMemberType3.SelectedIndex = 0;
                }

                if (obj.MemberType4 != null)
                {
                    foreach (ListItem item in msMemberType4.Items)
                    {
                        item.Selected = obj.MemberType4.ID.ToString() == item.Value;
                    }
                }
                else
                {
                    msMemberType4.SelectedIndex = 0;
                }

                if (obj.MemberType5 != null)
                {
                    foreach (ListItem item in msMemberType5.Items)
                    {
                        item.Selected = obj.MemberType5.ID.ToString() == item.Value;
                    }
                }
                else
                {
                    msMemberType5.SelectedIndex = 0;
                }

                if (obj.MemberType6 != null)
                {
                    foreach (ListItem item in msMemberType6.Items)
                    {
                        item.Selected = obj.MemberType6.ID.ToString() == item.Value;
                    }
                }
                else
                {
                    msMemberType6.SelectedIndex = 0;
                }

                if (obj.MemberType7 != null)
                {
                    foreach (ListItem item in msMemberType7.Items)
                    {
                        item.Selected = obj.MemberType7.ID.ToString() == item.Value;
                    }
                }
                else
                {
                    msMemberType7.SelectedIndex = 0;
                }

                if (obj.MemberType8 != null)
                {
                    foreach (ListItem item in msMemberType8.Items)
                    {
                        item.Selected = obj.MemberType8.ID.ToString() == item.Value;
                    }
                }
                else
                {
                    msMemberType8.SelectedIndex = 0;
                }

                if (obj.Item != null)
                {
                    foreach (ListItem item in msItem.Items)
                    {
                        item.Selected = obj.Item.ID.ToString() == item.Value;
                    }
                }
                else
                {
                    msItem.SelectedIndex = 0;
                }
            }
        }
        protected void ok_Click(object sender, EventArgs e)
        {
            if (dojoMembershipTemplateID == 0)
            {
                obj = new DojoMembershipTemplate();
            }
            else
            {
                obj = new DojoMembershipTemplate(dojoMembershipTemplateID);
            }

            obj.Name               = tbName.Text;
            obj.Description        = tbDescription.Text;
            obj.Duration           = TimeSpan.Parse(tbDuration.Text);
            obj.Fee                = decimal.Parse(tbFee.Text);
            obj.AutoRenewalEnabled = cbAutoRenewalEnabled.Checked;
            obj.AutoPayEnabled     = cbAutoPayEnabled.Checked;

            if (msParentTemplate.SelectedItem != null && msParentTemplate.SelectedItem.Value != "Null")
            {
                obj.ParentTemplate = DojoMembershipTemplate.NewPlaceHolder(
                    int.Parse(msParentTemplate.SelectedItem.Value));
            }
            else
            {
                obj.ParentTemplate = null;
            }

            if (msMemberType1.SelectedItem != null && msMemberType1.SelectedItem.Value != "Null")
            {
                obj.MemberType1 = DojoMemberType.NewPlaceHolder(
                    int.Parse(msMemberType1.SelectedItem.Value));
            }
            else
            {
                obj.MemberType1 = null;
            }

            if (msMemberType2.SelectedItem != null && msMemberType2.SelectedItem.Value != "Null")
            {
                obj.MemberType2 = DojoMemberType.NewPlaceHolder(
                    int.Parse(msMemberType2.SelectedItem.Value));
            }
            else
            {
                obj.MemberType2 = null;
            }

            if (msMemberType3.SelectedItem != null && msMemberType3.SelectedItem.Value != "Null")
            {
                obj.MemberType3 = DojoMemberType.NewPlaceHolder(
                    int.Parse(msMemberType3.SelectedItem.Value));
            }
            else
            {
                obj.MemberType3 = null;
            }

            if (msMemberType4.SelectedItem != null && msMemberType4.SelectedItem.Value != "Null")
            {
                obj.MemberType4 = DojoMemberType.NewPlaceHolder(
                    int.Parse(msMemberType4.SelectedItem.Value));
            }
            else
            {
                obj.MemberType4 = null;
            }

            if (msMemberType5.SelectedItem != null && msMemberType5.SelectedItem.Value != "Null")
            {
                obj.MemberType5 = DojoMemberType.NewPlaceHolder(
                    int.Parse(msMemberType5.SelectedItem.Value));
            }
            else
            {
                obj.MemberType5 = null;
            }

            if (msMemberType6.SelectedItem != null && msMemberType6.SelectedItem.Value != "Null")
            {
                obj.MemberType6 = DojoMemberType.NewPlaceHolder(
                    int.Parse(msMemberType6.SelectedItem.Value));
            }
            else
            {
                obj.MemberType6 = null;
            }

            if (msMemberType7.SelectedItem != null && msMemberType7.SelectedItem.Value != "Null")
            {
                obj.MemberType7 = DojoMemberType.NewPlaceHolder(
                    int.Parse(msMemberType7.SelectedItem.Value));
            }
            else
            {
                obj.MemberType7 = null;
            }

            if (msMemberType8.SelectedItem != null && msMemberType8.SelectedItem.Value != "Null")
            {
                obj.MemberType8 = DojoMemberType.NewPlaceHolder(
                    int.Parse(msMemberType8.SelectedItem.Value));
            }
            else
            {
                obj.MemberType8 = null;
            }

            if (msItem.SelectedItem != null && msItem.SelectedItem.Value != "Null")
            {
                obj.Item = RHItem.NewPlaceHolder(
                    int.Parse(msItem.SelectedItem.Value));
            }
            else
            {
                obj.Item = null;
            }

            if (editOnAdd)
            {
                dojoMembershipTemplateID = obj.Save();
            }
            else
            {
                obj.Save();
            }

            if (resetOnAdd)
            {
                tbName.Text                    = string.Empty;
                tbDescription.Text             = string.Empty;
                tbDuration.Text                = string.Empty;
                tbFee.Text                     = string.Empty;
                cbAutoRenewalEnabled.Checked   = false;
                cbAutoPayEnabled.Checked       = false;
                msParentTemplate.SelectedIndex = 0;
                msMemberType1.SelectedIndex    = 0;
                msMemberType2.SelectedIndex    = 0;
                msMemberType3.SelectedIndex    = 0;
                msMemberType4.SelectedIndex    = 0;
                msMemberType5.SelectedIndex    = 0;
                msMemberType6.SelectedIndex    = 0;
                msMemberType7.SelectedIndex    = 0;
                msMemberType8.SelectedIndex    = 0;
                msItem.SelectedIndex           = 0;
            }

            OnUpdated(EventArgs.Empty);
        }
        protected override void OnPreRender(EventArgs e)
        {
            if (dojoMembershipTemplateID != 0)
            {
                dojoMembershipTemplate = new DojoMembershipTemplate(dojoMembershipTemplateID);

                #region Bind _system Folder

                //
                // Set Field Entries
                //

                ltCreateDate.Text = dojoMembershipTemplate.CreateDate.ToString();
                ltModifyDate.Text = dojoMembershipTemplate.ModifyDate.ToString();

                //
                // Set Children Selections
                //


                #endregion

                #region Bind General Folder

                //
                // Set Field Entries
                //

                ltName.Text        = dojoMembershipTemplate.Name.ToString();
                ltDescription.Text = dojoMembershipTemplate.Description.ToString();
                ltOrderNum.Text    = dojoMembershipTemplate.OrderNum.ToString();
                ltIsPrimary.Text   = dojoMembershipTemplate.IsPrimary.ToString();

                //
                // Set Children Selections
                //

                // Organization

                if (dojoMembershipTemplate.Organization != null)
                {
                    ltOrganization.Text = dojoMembershipTemplate.Organization.ToString();
                }
                else
                {
                    ltOrganization.Text = string.Empty;
                }


                #endregion

                #region Bind Fee Schedule Folder

                //
                // Set Field Entries
                //

                ltFee.Text           = dojoMembershipTemplate.Fee.ToString();
                ltStartupFee.Text    = dojoMembershipTemplate.StartupFee.ToString();
                ltProRateMonthA.Text = dojoMembershipTemplate.ProRateMonthA.ToString();
                ltProRateDayA.Text   = dojoMembershipTemplate.ProRateDayA.ToString();
                ltProRateFeeA.Text   = dojoMembershipTemplate.ProRateFeeA.ToString();
                ltProRateMonthB.Text = dojoMembershipTemplate.ProRateMonthB.ToString();
                ltProRateDayB.Text   = dojoMembershipTemplate.ProRateDayB.ToString();
                ltProRateFeeB.Text   = dojoMembershipTemplate.ProRateFeeB.ToString();
                ltProRateMonthC.Text = dojoMembershipTemplate.ProRateMonthC.ToString();
                ltProRateDayC.Text   = dojoMembershipTemplate.ProRateDayC.ToString();
                ltProRateFeeC.Text   = dojoMembershipTemplate.ProRateFeeC.ToString();

                //
                // Set Children Selections
                //


                #endregion

                #region Bind Requirements Folder

                //
                // Set Field Entries
                //

                ltAgeYearsMax.Text        = dojoMembershipTemplate.AgeYearsMax.ToString();
                ltAgeYearsMin.Text        = dojoMembershipTemplate.AgeYearsMin.ToString();
                ltMemberForMin.Text       = dojoMembershipTemplate.MemberForMin.ToString();
                ltMemberForMax.Text       = dojoMembershipTemplate.MemberForMax.ToString();
                ltPurchaseRequired.Text   = dojoMembershipTemplate.PurchaseRequired.ToString();
                ltTestRequired.Text       = dojoMembershipTemplate.TestRequired.ToString();
                ltAttendanceRequired.Text = dojoMembershipTemplate.AttendanceRequired.ToString();

                //
                // Set Children Selections
                //

                // RankMin

                if (dojoMembershipTemplate.RankMin != null)
                {
                    ltRankMin.Text = dojoMembershipTemplate.RankMin.ToString();
                }
                else
                {
                    ltRankMin.Text = string.Empty;
                }

                // RankMax

                if (dojoMembershipTemplate.RankMax != null)
                {
                    ltRankMax.Text = dojoMembershipTemplate.RankMax.ToString();
                }
                else
                {
                    ltRankMax.Text = string.Empty;
                }


                #endregion

                #region Bind Membership Duration Folder

                //
                // Set Field Entries
                //


                //
                // Set Children Selections
                //


                #endregion

                #region Bind Rappahanock Folder

                //
                // Set Field Entries
                //


                //
                // Set Children Selections
                //

                // Item

                if (dojoMembershipTemplate.Item != null)
                {
                    ltItem.Text = dojoMembershipTemplate.Item.ToString();
                }
                else
                {
                    ltItem.Text = string.Empty;
                }

                // ItemClass

                if (dojoMembershipTemplate.ItemClass != null)
                {
                    ltItemClass.Text = dojoMembershipTemplate.ItemClass.ToString();
                }
                else
                {
                    ltItemClass.Text = string.Empty;
                }


                #endregion

                text = "View Membership Template - " + dojoMembershipTemplate.ToString();
            }
        }
Example #18
0
        protected override void OnPreRender(EventArgs e)
        {
            if (dojoMembershipTemplateID != 0)
            {
                dojoMembershipTemplate = new DojoMembershipTemplate(dojoMembershipTemplateID);

                #region Bind _system Folder

                //
                // Set Field Entries
                //

                ltCreateDate.Text = dojoMembershipTemplate.CreateDate.ToString();
                ltModifyDate.Text = dojoMembershipTemplate.ModifyDate.ToString();

                //
                // Set Children Selections
                //


                #endregion

                #region Bind General Folder

                //
                // Set Field Entries
                //

                ltName.Text        = dojoMembershipTemplate.Name.ToString();
                ltDescription.Text = dojoMembershipTemplate.Description.ToString();
                ltDuration.Text    = dojoMembershipTemplate.Duration.ToString();
                ltFee.Text         = dojoMembershipTemplate.Fee.ToString();

                //
                // Set Children Selections
                //

                // ParentTemplate

                if (dojoMembershipTemplate.ParentTemplate != null)
                {
                    ltParentTemplate.Text = dojoMembershipTemplate.ParentTemplate.ToString();
                }
                else
                {
                    ltParentTemplate.Text = string.Empty;
                }


                #endregion

                #region Bind Member Types Folder

                //
                // Set Field Entries
                //


                //
                // Set Children Selections
                //

                // MemberType1

                if (dojoMembershipTemplate.MemberType1 != null)
                {
                    ltMemberType1.Text = dojoMembershipTemplate.MemberType1.ToString();
                }
                else
                {
                    ltMemberType1.Text = string.Empty;
                }

                // MemberType2

                if (dojoMembershipTemplate.MemberType2 != null)
                {
                    ltMemberType2.Text = dojoMembershipTemplate.MemberType2.ToString();
                }
                else
                {
                    ltMemberType2.Text = string.Empty;
                }

                // MemberType3

                if (dojoMembershipTemplate.MemberType3 != null)
                {
                    ltMemberType3.Text = dojoMembershipTemplate.MemberType3.ToString();
                }
                else
                {
                    ltMemberType3.Text = string.Empty;
                }

                // MemberType4

                if (dojoMembershipTemplate.MemberType4 != null)
                {
                    ltMemberType4.Text = dojoMembershipTemplate.MemberType4.ToString();
                }
                else
                {
                    ltMemberType4.Text = string.Empty;
                }

                // MemberType5

                if (dojoMembershipTemplate.MemberType5 != null)
                {
                    ltMemberType5.Text = dojoMembershipTemplate.MemberType5.ToString();
                }
                else
                {
                    ltMemberType5.Text = string.Empty;
                }

                // MemberType6

                if (dojoMembershipTemplate.MemberType6 != null)
                {
                    ltMemberType6.Text = dojoMembershipTemplate.MemberType6.ToString();
                }
                else
                {
                    ltMemberType6.Text = string.Empty;
                }

                // MemberType7

                if (dojoMembershipTemplate.MemberType7 != null)
                {
                    ltMemberType7.Text = dojoMembershipTemplate.MemberType7.ToString();
                }
                else
                {
                    ltMemberType7.Text = string.Empty;
                }

                // MemberType8

                if (dojoMembershipTemplate.MemberType8 != null)
                {
                    ltMemberType8.Text = dojoMembershipTemplate.MemberType8.ToString();
                }
                else
                {
                    ltMemberType8.Text = string.Empty;
                }


                #endregion

                #region Bind Rappahanock Folder

                //
                // Set Field Entries
                //


                //
                // Set Children Selections
                //

                // Item

                if (dojoMembershipTemplate.Item != null)
                {
                    ltItem.Text = dojoMembershipTemplate.Item.ToString();
                }
                else
                {
                    ltItem.Text = string.Empty;
                }


                #endregion

                #region Bind Renewals Folder

                //
                // Set Field Entries
                //

                ltAutoRenewalEnabled.Text = dojoMembershipTemplate.AutoRenewalEnabled.ToString();
                ltAutoPayEnabled.Text     = dojoMembershipTemplate.AutoPayEnabled.ToString();

                //
                // Set Children Selections
                //


                #endregion

                text = "View  - " + dojoMembershipTemplate.ToString();
            }
        }