Exemple #1
0
 public void Clear()
 {
     member       = null;
     typeTemplate = null;
     memberships  = null;
     totalFee     = decimal.Zero;
 }
Exemple #2
0
        /// <summary>
        /// Builds the memberships for the current member. If the member has
        /// submembers associated, these submemberships will be added to the
        /// member's memberships listing and associated to the submembers.
        ///
        /// Members are responsible for their submember's fees, but not any
        /// members beneath the submembers.
        /// </summary>
        /// <param name="member"></param>
        /// <param name="typeTemplate"></param>
        /// <param name="builder"></param>
        public void Build(
            DojoMember member,
            DojoMemberTypeTemplate typeTemplate,
            MembershipBuilder builder)
        {
            DojoMembershipTemplateCollection membershipTemplates;

            // Builds new memberships for the member.

            // * Pull old memberships associated with the member.
            // * Build the next membership based of the template.
            // * Add membership.

            Clear();

            this.member       = member;
            this.typeTemplate = typeTemplate;
            this.memberships  = new DojoMembershipCollection();

            if (typeTemplate != null)
            {
                membershipTemplates = builder.getMembershipTemplates(member, typeTemplate);

                if (membershipTemplates != null)
                {
                    foreach (DojoMembershipTemplate template in membershipTemplates)
                    {
                        addTemplate(member, template, builder);
                    }
                }

                // WALK TEMPLATE TREE AND SUB MEMBERS LOCK STEP AND ADD EACH
                // SUBMEMBER'S MEMBERSHIPS TO THE CURRENT PACKAGE.
                builder.pullData(member);
                if (member.subMembers != null)
                {
                    if (typeTemplate.subTemplates != null)
                    {
                        for (int i = 0; i < typeTemplate.subTemplates.Count; i++)
                        {
                            // This is for safety although the builder should only return
                            // members that have submembers that equal the type template's sub templates
                            if (i < member.subMembers.Count)
                            {
                                membershipTemplates =
                                    builder.getMembershipTemplates(member.subMembers[i],
                                                                   typeTemplate.subTemplates[i]);

                                foreach (DojoMembershipTemplate template in membershipTemplates)
                                {
                                    addTemplate(member.subMembers[i], template, builder);
                                }
                            }
                        }
                    }
                }
            }
        }
Exemple #3
0
        protected void btOk_Click(object sender, EventArgs e)
        {
            DojoMemberTypeTemplate dojoMemberTypeTemplate = new DojoMemberTypeTemplate(dojoMemberTypeTemplateID);

            dojoMemberTypeTemplate.Delete();

            dojoMemberTypeTemplateID = 0;

            OnDeleted(EventArgs.Empty);
        }
Exemple #4
0
 protected override void OnPreRender(EventArgs e)
 {
     if (dojoMemberTypeTemplateID != 0)
     {
         dojoMemberTypeTemplate = new DojoMemberTypeTemplate(dojoMemberTypeTemplateID);
         text = "Delete - " + dojoMemberTypeTemplate.ToString();
     }
     else
     {
         text = "Delete ";
     }
 }
Exemple #5
0
        private static void buildTypeHash(
            DojoMemberTypeTemplate rootTemplate,
            DojoMemberTypeTemplate template,
            int iteration)
        {
            // This code works correctly 7FEB08, Roy Hodges
            // DO NOT MODIFY!

            // If the root is not the template, this means that
            // we came into this method as an iteration, therefore
            // this template's root is higher, so we set the
            // template's root to the root.
            if (rootTemplate != template)
            {
                template.treeRoot = rootTemplate;
            }

            if (template.memberType == null)
            {
                rootTemplate.treeHash +=
                    treeIterationMarkers[iteration] +
                    "?";
            }
            else
            {
                rootTemplate.treeHash +=
                    treeIterationMarkers[iteration] +
                    template.memberType.iD.ToString();
            }

            if (template.subTemplates != null &&
                template.subTemplates.Count > 0 &&
                iteration < maxTreeIterations)
            {
                foreach (DojoMemberTypeTemplate subTemplate
                         in template.subTemplates)
                {
                    buildTypeHash(rootTemplate,
                                  subTemplate, iteration + 1);
                }
            }
        }
Exemple #6
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);
        }
Exemple #7
0
        private void addTemplate(ComponentArt.Web.UI.TreeViewNode parentNode,
                                 DojoMemberTypeTemplate template)
        {
            // Safe to use internals due to TreeMaker requirements!

            ComponentArt.Web.UI.TreeViewNode node;

            node         = new ComponentArt.Web.UI.TreeViewNode();
            node.Text    = template.name;
            node.Value   = template.iD.ToString();
            node.ToolTip = template.description;
            parentNode.Nodes.Add(node);

            if (template.subTemplates != null)
            {
                foreach (DojoMemberTypeTemplate subTemplate in template.subTemplates)
                {
                    addTemplate(node, subTemplate);
                }
            }
        }
Exemple #8
0
        getMembershipTemplates(DojoMember member,
                               DojoMemberTypeTemplate template)
        {
            DojoMembershipTemplateCollection templates
                = new DojoMembershipTemplateCollection();

            if (member != null && template != null)
            {
                if (filterCheck(member, template.MembershipTemplate1))
                {
                    templates.Add(template.MembershipTemplate1);
                }

                if (filterCheck(member, template.MembershipTemplate2))
                {
                    templates.Add(template.MembershipTemplate2);
                }

                if (filterCheck(member, template.MembershipTemplate3))
                {
                    templates.Add(template.MembershipTemplate3);
                }

                if (filterCheck(member, template.MembershipTemplate4))
                {
                    templates.Add(template.MembershipTemplate4);
                }

                if (filterCheck(member, template.MembershipTemplate5))
                {
                    templates.Add(template.MembershipTemplate5);
                }
            }

            return(templates);
        }
Exemple #9
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();
            }
        }
Exemple #10
0
        /// <summary>
        /// Tests a Member Type Template against a member.
        /// </summary>
        /// <param name="member"></param>
        /// <param name="template"></param>
        /// <returns></returns>
        private bool filterCheck(DojoMember member,
                                 DojoMemberTypeTemplate template)
        {
            if (template == null)
            {
                return(false);
            }

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

            // Only root templates are available!
            if (template.Parent != 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);
        }
Exemple #11
0
        protected override void OnPreRender(EventArgs e)
        {
            if (dojoMemberTypeTemplateID != 0)
            {
                dojoMemberTypeTemplate = new DojoMemberTypeTemplate(dojoMemberTypeTemplateID);

                #region Bind _system Folder

                //
                // Set Field Entries
                //

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

                //
                // Set Children Selections
                //


                #endregion

                #region Bind General Folder

                //
                // Set Field Entries
                //

                ltName.Text               = dojoMemberTypeTemplate.Name.ToString();
                ltDescription.Text        = dojoMemberTypeTemplate.Description.ToString();
                ltOrderNum.Text           = dojoMemberTypeTemplate.OrderNum.ToString();
                ltMemberTypeTreeHash.Text = dojoMemberTypeTemplate.MemberTypeTreeHash.ToString();

                //
                // Set Children Selections
                //

                // Parent

                if (dojoMemberTypeTemplate.Parent != null)
                {
                    ltParent.Text = dojoMemberTypeTemplate.Parent.ToString();
                }
                else
                {
                    ltParent.Text = string.Empty;
                }

                // MemberType

                if (dojoMemberTypeTemplate.MemberType != null)
                {
                    ltMemberType.Text = dojoMemberTypeTemplate.MemberType.ToString();
                }
                else
                {
                    ltMemberType.Text = string.Empty;
                }


                #endregion

                #region Bind Initialization Folder

                //
                // Set Field Entries
                //

                ltInitialEmailFrom.Text = dojoMemberTypeTemplate.InitialEmailFrom.ToString();
                ltInitialEmailBody.Text = dojoMemberTypeTemplate.InitialEmailBody.ToString();

                //
                // Set Children Selections
                //

                // InitialRank

                if (dojoMemberTypeTemplate.InitialRank != null)
                {
                    ltInitialRank.Text = dojoMemberTypeTemplate.InitialRank.ToString();
                }
                else
                {
                    ltInitialRank.Text = string.Empty;
                }

                // InitialRole

                if (dojoMemberTypeTemplate.InitialRole != null)
                {
                    ltInitialRole.Text = dojoMemberTypeTemplate.InitialRole.ToString();
                }
                else
                {
                    ltInitialRole.Text = string.Empty;
                }


                #endregion

                #region Bind Access Features Folder

                //
                // Set Field Entries
                //

                ltAllowGuestPurchase.Text = dojoMemberTypeTemplate.AllowGuestPurchase.ToString();
                ltAllowPurchase.Text      = dojoMemberTypeTemplate.AllowPurchase.ToString();
                ltAllowRenewal.Text       = dojoMemberTypeTemplate.AllowRenewal.ToString();
                ltAllowAutoRenewal.Text   = dojoMemberTypeTemplate.AllowAutoRenewal.ToString();

                //
                // Set Children Selections
                //


                #endregion

                #region Bind Requirements Folder

                //
                // Set Field Entries
                //

                ltAgeYearsMax.Text  = dojoMemberTypeTemplate.AgeYearsMax.ToString();
                ltAgeYearsMin.Text  = dojoMemberTypeTemplate.AgeYearsMin.ToString();
                ltMemberForMin.Text = dojoMemberTypeTemplate.MemberForMin.ToString();
                ltMemberForMax.Text = dojoMemberTypeTemplate.MemberForMax.ToString();

                //
                // Set Children Selections
                //

                // RankMin

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

                // RankMax

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


                #endregion

                #region Bind Membership Templates Folder

                //
                // Set Field Entries
                //


                //
                // Set Children Selections
                //

                // MembershipTemplate1

                if (dojoMemberTypeTemplate.MembershipTemplate1 != null)
                {
                    ltMembershipTemplate1.Text = dojoMemberTypeTemplate.MembershipTemplate1.ToString();
                }
                else
                {
                    ltMembershipTemplate1.Text = string.Empty;
                }

                // MembershipTemplate2

                if (dojoMemberTypeTemplate.MembershipTemplate2 != null)
                {
                    ltMembershipTemplate2.Text = dojoMemberTypeTemplate.MembershipTemplate2.ToString();
                }
                else
                {
                    ltMembershipTemplate2.Text = string.Empty;
                }

                // MembershipTemplate3

                if (dojoMemberTypeTemplate.MembershipTemplate3 != null)
                {
                    ltMembershipTemplate3.Text = dojoMemberTypeTemplate.MembershipTemplate3.ToString();
                }
                else
                {
                    ltMembershipTemplate3.Text = string.Empty;
                }

                // MembershipTemplate4

                if (dojoMemberTypeTemplate.MembershipTemplate4 != null)
                {
                    ltMembershipTemplate4.Text = dojoMemberTypeTemplate.MembershipTemplate4.ToString();
                }
                else
                {
                    ltMembershipTemplate4.Text = string.Empty;
                }

                // MembershipTemplate5

                if (dojoMemberTypeTemplate.MembershipTemplate5 != null)
                {
                    ltMembershipTemplate5.Text = dojoMemberTypeTemplate.MembershipTemplate5.ToString();
                }
                else
                {
                    ltMembershipTemplate5.Text = string.Empty;
                }


                #endregion

                text = "View  - " + dojoMemberTypeTemplate.ToString();
            }
        }
        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);
        }