Esempio n. 1
0
        /// <summary>
        /// CombineMonthNameSets combines a child with a parent as necessary and returns the combined object
        /// </summary>
        /// <param name="combinedMonthNameSets">The child object</param>
        /// <param name="parentMonthNameSets">The parent object</param>
        /// <returns>The combined object</returns>
        private static MonthNameSet[] CombineMonthNameSets(MonthNameSet[] combinedMonthNameSets, MonthNameSet[] parentMonthNameSets)
        {
            List <MonthNameSet> combinedMonthNameSetList = new List <MonthNameSet>(combinedMonthNameSets);

            if (parentMonthNameSets != null)
            {
                foreach (MonthNameSet parentMonthNameSet in parentMonthNameSets)
                {
                    MonthNameSet combinedMonthNameSet = (from cmns in combinedMonthNameSetList
                                                         where string.Compare(cmns.Id, parentMonthNameSet.Id, StringComparison.InvariantCulture) == 0
                                                         select cmns).FirstOrDefault();
                    if (combinedMonthNameSet == null)
                    {
                        // the combined set does not have the parent set so add it
                        combinedMonthNameSetList.Add(parentMonthNameSet);
                    }
                    else
                    {
                        // combine the two lists
                        List <MonthName> combinedMonthNames = new List <MonthName>(combinedMonthNameSet.Names);
                        foreach (MonthName parentMonthName in parentMonthNameSet.Names)
                        {
                            if (!(from cmn in combinedMonthNames
                                  where string.Compare(cmn.Id, parentMonthName.Id, StringComparison.InvariantCulture) == 0
                                  select cmn).Any())
                            {
                                // the parent month name does not exist in the combined month names
                                combinedMonthNames.Add(parentMonthName);
                            }
                        }

                        combinedMonthNameSet.Names = combinedMonthNames.OrderBy(monthName => int.Parse(monthName.Id)).ToArray();
                    }
                }
            }

            return(combinedMonthNameSetList.ToArray());
        }
Esempio n. 2
0
        /// <summary>
        /// CombineMonthNameSets combines a child with a parent as necessary and returns the combined object
        /// </summary>
        /// <param name="combinedMonthNameSets">The child object</param>
        /// <param name="parentMonthNameSets">The parent object</param>
        /// <returns>The combined object</returns>
        private static MonthNameSet[] CombineMonthNameSets(MonthNameSet[] combinedMonthNameSets, MonthNameSet[] parentMonthNameSets)
        {
            List<MonthNameSet> combinedMonthNameSetList = new List<MonthNameSet>(combinedMonthNameSets);
            if (parentMonthNameSets != null)
            {
                foreach (MonthNameSet parentMonthNameSet in parentMonthNameSets)
                {
                    MonthNameSet combinedMonthNameSet = (from cmns in combinedMonthNameSetList
                                                         where string.Compare(cmns.Id, parentMonthNameSet.Id, StringComparison.InvariantCulture) == 0
                                                         select cmns).FirstOrDefault();
                    if (combinedMonthNameSet == null)
                    {
                        // the combined set does not have the parent set so add it
                        combinedMonthNameSetList.Add(parentMonthNameSet);
                    }
                    else
                    {
                        // combine the two lists
                        List<MonthName> combinedMonthNames = new List<MonthName>(combinedMonthNameSet.Names);
                        foreach (MonthName parentMonthName in parentMonthNameSet.Names)
                        {
                            if (!(from cmn in combinedMonthNames
                                  where string.Compare(cmn.Id, parentMonthName.Id, StringComparison.InvariantCulture) == 0
                                  select cmn).Any())
                            {
                                // the parent month name does not exist in the combined month names
                                combinedMonthNames.Add(parentMonthName);
                            }
                        }

                        combinedMonthNameSet.Names = combinedMonthNames.OrderBy(monthName => int.Parse(monthName.Id)).ToArray();
                    }
                }
            }

            return combinedMonthNameSetList.ToArray();
        }