示例#1
0
        /// <summary>
        /// Dodawanie informacji n/t przypisywania nowego ID strefy do obecnego - z uwzględnieniem przypisywania jak najniższego ID docelowego (idTo)
        /// </summary>
        public static void AddAssignment(int idFrom, int idTo)
        {
            bool exists = false;

            foreach (AreaGroupingInfo info in IdAssignmentList)
            {
                if (info.IdFrom == idFrom)
                {
                    exists = true;

                    if (idTo < info.IdTo)
                    {
                        info.IdTo = idTo;
                    }

                    break;
                }
            }

            if (!exists)
            {
                AreaGroupingInfo info = new AreaGroupingInfo();
                info.IdFrom = idFrom;
                info.IdTo   = idTo;
                IdAssignmentList.Add(info);
            }
        }
示例#2
0
        /// <summary>
        /// Metoda analizująca połączenia między strefami i unifikująca do jednej docelowej
        /// </summary>
        public static void AnalyzeAreaRelationships()
        {
            AreaGroupingInfo info = null;

            for (int i = 0; i < IdAssignmentList.Count; i++)
            {
                for (int j = 0; j < IdAssignmentList.Count; j++)
                {
                    info = IdAssignmentList[j];

                    foreach (AreaGroupingInfo infoSearch in IdAssignmentList)
                    {
                        if (infoSearch.IdFrom == info.IdTo)
                        {
                            info.IdTo = infoSearch.IdTo;
                            break;
                        }
                    }
                }
            }

            info = null;
        }