Example #1
0
        public static void Build(DojoMemberTypeTemplateCollection templates,
                                 Dictionary <string, DojoMemberTypeTemplateCollection> hashDictionary)
        {
            foreach (DojoMemberTypeTemplate template in templates)
            {
                // Reset the tree hash
                template.treeHash = string.Empty;

                // If there is no tree root for the template
                // set the template's root to the current template.
                if (template.treeRoot == null)
                {
                    template.treeRoot = template;
                }

                buildTypeHash(template, template, 0);

                if (hashDictionary != null)
                {
                    // Makes sure the dictionary has a collection for
                    // this tree hash.
                    if (!hashDictionary.ContainsKey(template.treeHash))
                    {
                        hashDictionary.Add(template.treeHash,
                                           new DojoMemberTypeTemplateCollection());
                    }

                    // Add the template to the collection under the
                    // tree has dictionary.
                    hashDictionary[template.treeHash].Add(template);
                }
            }
        }
Example #2
0
 public void ClearAll()
 {
     orderBuilder.ClearAll();
     invoiceBuilder.ClearAll();
     members                      = null;
     memberDictionary             = null;
     memberTypeTemplates          = null;
     memberTypeTemplateDictionary = null;
     isLoaded                     = false;
     isTreeProcessed              = false;
     isHashProcessed              = false;
 }
Example #3
0
        Make(DojoMemberTypeTemplateCollection templates, MakeMode style)
        {
            Dictionary <int, DojoMemberTypeTemplate> dic;
            DojoMemberTypeTemplate template;

            if (templates == null || templates.Count == 0)
            {
                return(new Dictionary <int, DojoMemberTypeTemplate>());
            }

            if (templates.Count > 0 && templates[0].isPlaceHolder)
            {
                throw new TreeMakerException("Templates must not be placeholders.");
            }

            dic = new Dictionary <int, DojoMemberTypeTemplate>(templates.Count);

            for (int i = 0; i < templates.Count; i++)
            {
                dic.Add(templates[i].iD, templates[i]);
            }

            for (int i = 0; i < templates.Count; i++)
            {
                template = templates[i];

                if (template.parent != null)
                {
                    template.parent = dic[template.parent.iD];

                    if (template.parent.subTemplates == null)
                    {
                        template.parent.subTemplates = new
                                                       DojoMemberTypeTemplateCollection();
                    }

                    template.parent.subTemplates.Add(template);
                }
            }

            if (style == MakeMode.Collapse)
            {
                for (int i = 0; i < templates.Count; i++)
                {
                    if (templates[i].parent == null)
                    {
                        dic.Remove(templates[i].iD);
                    }
                }
            }

            return(dic);
        }
Example #4
0
        public void Load()
        {
            members =
                new DojoMemberManager().GetCollection(
                    string.Empty,
                    "PrivateContact.LastName, PrivateContact.FirstName, PrivateContact.MiddleName",
                    DojoMemberFlags.PrivateContact);
            memberTypeTemplates =
                new DojoMemberTypeTemplateManager().GetCollection(
                    string.Empty,
                    string.Empty,
                    null);

            isLoaded = true;
        }
Example #5
0
        /// <summary>
        /// Gets the templates available to the member.
        /// </summary>
        /// <param name="member">Member to check; this member must be directly
        /// from the MembershipBuilder.</param>
        /// <returns>Available templates.</returns>
        public List <MembershipPackage> GetMembershipPackages(DojoMember member)
        {
            DojoMember workingMember;
            DojoMemberTypeTemplateCollection rawTypeTemplates;
            DojoMemberTypeTemplateCollection memberTypeTemplates;
            List <MembershipPackage>         packages;

            // THIS MUST USE THE MEMBER FROM MEMBERSHIP BUILDER
            // OR THIS WILL NOT FUNCTION PROPERLY
            if (member.treeHash != null && member.treeHash.Length > 0)
            {
                workingMember = member;
            }
            else
            {
                // Try to find the member in the builder trees
                if (!memberDictionary.TryGetValue(member.iD,
                                                  out workingMember))
                {
                    throw new MembershipBuilderException(
                              Localization.Strings.MembershipBuilder_CannotFindMember);
                }
            }

            if (memberTypeTemplateDictionary.TryGetValue(workingMember.treeHash,
                                                         out rawTypeTemplates))
            {
                memberTypeTemplates = filterTemplates(workingMember, rawTypeTemplates);
            }
            else
            {
                memberTypeTemplates = new DojoMemberTypeTemplateCollection();
            }

            packages = new List <MembershipPackage>(memberTypeTemplates.Count);
            foreach (DojoMemberTypeTemplate template in memberTypeTemplates)
            {
                MembershipPackage p = new MembershipPackage();
                p.Build(member, template, this);
                packages.Add(p);
            }

            return(packages);
        }
Example #6
0
        filterTemplates(DojoMember member,
                        DojoMemberTypeTemplateCollection rawTemplates)
        {
            DojoMemberTypeTemplateCollection templates =
                new DojoMemberTypeTemplateCollection();

            if (member != null && rawTemplates != null)
            {
                foreach (DojoMemberTypeTemplate template in rawTemplates)
                {
                    if (filterCheck(member, template))
                    {
                        templates.Add(template);
                    }
                }
            }

            return(templates);
        }
Example #7
0
        public void Load(DojoMember member)
        {
            if (member.Root != null)
            {
                members =
                    new DojoMemberManager().GetCollection(
                        "RootID=" + member.Root.ID.ToString(),
                        "PrivateContact.LastName, PrivateContact.FirstName, PrivateContact.MiddleName",
                        DojoMemberFlags.PrivateContact);
                memberTypeTemplates =
                    new DojoMemberTypeTemplateManager().GetCollection(
                        string.Empty,
                        string.Empty,
                        null);

                isLoaded = true;
            }
            else
            {
                Load(); // Fallback to loading all members if the member has no root.
            }
        }
Example #8
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();
            }
        }
Example #9
0
 public static void Build(DojoMemberTypeTemplateCollection templates)
 {
     Build(templates, null);
 }
Example #10
0
        private void bind()
        {
            DojoMemberManager    dojoMemberManager    = new DojoMemberManager();
            DojoMemberCollection dojoMemberCollection = dojoMemberManager.GetCollection(string.Empty, string.Empty);

            foreach (DojoMember itemObject in dojoMemberCollection)
            {
                ComponentArt.Web.UI.ComboBoxItem item = new ComponentArt.Web.UI.ComboBoxItem();
                item.Text  = itemObject.ToString();
                item.Value = itemObject.ID.ToString();
                comboMember.Items.Add(item);
            }


            DojoOrganizationManager    dojoOrganizationManager    = new DojoOrganizationManager();
            DojoOrganizationCollection dojoOrganizationCollection = dojoOrganizationManager.GetCollection(string.Empty, string.Empty);

            foreach (DojoOrganization itemObject in dojoOrganizationCollection)
            {
                ComponentArt.Web.UI.ComboBoxItem item = new ComponentArt.Web.UI.ComboBoxItem();
                item.Text  = itemObject.ToString();
                item.Value = itemObject.ID.ToString();
                comboOrganization.Items.Add(item);
            }


            DojoMembershipManager    dojoMembershipManager    = new DojoMembershipManager();
            DojoMembershipCollection dojoMembershipCollection = dojoMembershipManager.GetCollection(string.Empty, string.Empty);

            ddParent.Items.Add(new ListItem("             ", "null"));
            foreach (DojoMembership itemObject in dojoMembershipCollection)
            {
                ddParent.Items.Add(new ListItem(itemObject.ToString(), itemObject.ID.ToString()));
            }


            DojoMemberTypeTemplateManager    dojoMemberTypeTemplateManager    = new DojoMemberTypeTemplateManager();
            DojoMemberTypeTemplateCollection dojoMemberTypeTemplateCollection = dojoMemberTypeTemplateManager.GetCollection(string.Empty, string.Empty);

            foreach (DojoMemberTypeTemplate itemObject in dojoMemberTypeTemplateCollection)
            {
                ComponentArt.Web.UI.ComboBoxItem item = new ComponentArt.Web.UI.ComboBoxItem();
                item.Text  = itemObject.ToString();
                item.Value = itemObject.ID.ToString();
                comboMemberTypeTemplate.Items.Add(item);
            }


            DojoMembershipTemplateManager    dojoMembershipTemplateManager    = new DojoMembershipTemplateManager();
            DojoMembershipTemplateCollection dojoMembershipTemplateCollection = dojoMembershipTemplateManager.GetCollection(string.Empty, string.Empty);

            foreach (DojoMembershipTemplate itemObject in dojoMembershipTemplateCollection)
            {
                ComponentArt.Web.UI.ComboBoxItem item = new ComponentArt.Web.UI.ComboBoxItem();
                item.Text  = itemObject.ToString();
                item.Value = itemObject.ID.ToString();
                comboMembershipTemplate.Items.Add(item);
            }



            RHInvoiceLineManager    rHInvoiceLineManager    = new RHInvoiceLineManager();
            RHInvoiceLineCollection rHInvoiceLineCollection = rHInvoiceLineManager.GetCollection(string.Empty, string.Empty);

            ddInvoiceLine.Items.Add(new ListItem("             ", "null"));
            foreach (RHInvoiceLine itemObject in rHInvoiceLineCollection)
            {
                ddInvoiceLine.Items.Add(new ListItem(itemObject.ToString(), itemObject.ID.ToString()));
            }
        }