Beispiel #1
0
    public void CleanUp()
    {
        DataModel = new TitleDataModel();
        IdList.Clear();
        DicFlagId.Clear();

        Table.ForeachNameTitle(table =>
        {
            if (table.Pos == -1)
            {
                return(true);
            }
            IdList.Add(table.Id, false);
            if (!DicFlagId.ContainsKey(table.FlagId))
            {
                DicFlagId.Add(table.FlagId, table.Id);
            }
            return(true);
        });

        Group.Clear();
        Table.ForeachNameTitle(record =>
        {
            if (record.Pos != 1)
            {
                return(true);
            }

            if (record.FrontId != -1)
            {
                return(true);
            }

            List <int> set;
            if (!Group.TryGetValue(record.Id, out set))
            {
                set = new List <int>();

                set.Add(record.Id);
                Group[record.Id] = set;

                while (record != null && record.PostId != -1)
                {
                    set.Add(record.PostId);
                    record = Table.GetNameTitle(record.PostId);
                }
            }

            return(true);
        });
    }
Beispiel #2
0
        public void CleanUp()
        {
            DataModel = new TitleDataModel();
            IdList.Clear();
            DicFlagId.Clear();
            m_dicComposeTable.Clear();
            m_bIsInit = false;
            Table.ForeachNameTitle(table =>
            {
                if (table.Pos == -1)
                {
                    return(true);
                }
                IdList.Add(table.Id, false);
                if (!DicFlagId.ContainsKey(table.FlagId))
                {
                    DicFlagId.Add(table.FlagId, table.Id);
                }
                return(true);
            });

            Group.Clear();
            titleRecordList.Clear();
            Table.ForeachNameTitle(record =>
            {
                allList.Add(record);
                if (record.Pos != 1)
                {
                    return(true);
                }

                if (record.FrontId != -1)
                {
                    return(true);
                }
                titleRecordList.Add(record);
                return(true);
            });

            titleRecordList.Sort(SortByTitleType);

            for (int i = 0; i < allList.Count; i++)
            {
                List <int> set;
                if (currIndex < titleRecordList.Count)
                {
                    if (!Group.TryGetValue(titleRecordList[currIndex].Id, out set))
                    {
                        set = new List <int>();

                        if (allList[i] == null)
                        {
                            Logger.Error("NameTitle Table Get Data is NULL");
                            return;
                        }
                        if (allList[i].TitleType == titleRecordList[currIndex].TitleType)
                        {
                            set.Add(allList[i].Id);
                            Group[allList[i].Id] = set;

                            while (allList[i] != null && allList[i].PostId != -1)
                            {
                                set.Add(allList[i].PostId);
                                allList[i] = Table.GetNameTitle(allList[i].PostId);
                            }
                            currIndex++;
                            i = 0;
                        }
                    }
                }
            }
        }