/// <summary> /// getGroups() - groupping of elements of Model by Material and Profile /// </summary> /// <ToDo>30.9.2016 - попробовать перенести этот метод в ElmAttSet.Groups или вообще выделить Groups в отдельный класс</ToDo> /// <history> /// 2016.09.29 created /// 2017.05.8 перенес в модуль ModHandling, добавил аргумент elements /// 2017.06.27 переписано /// </history> public List<ElmGr> getGrps(List<Elm> elements) { List <ElmGr> groups = new List<ElmGr>(); var grps = elements.GroupBy(x => x.prf); foreach (var gr in grps) groups.Add(new ElmGr(gr)); if (elements.Count != groups.Sum(x => x.guids.Count)) Msg.F("getGrps internal error"); var v = new ProfileUpdate.ProfileUpdate(ref groups); return groups; }
/// <summary> /// getGroups() - groupping of elements of Model by Material and Profile /// </summary> /// <history> /// 2016.09.29 created /// 2017.05.8 перенес в модуль ModHandling, добавил аргумент elements /// 2017.06.27 переписано /// 2017.07.20 field bool errDialog add /// </history> public List<ElmGr> getGrps(List<Elm> elements) { Log.set("getGrps(" + elements.Count + ")"); if (elements == null || elements.Count == 0) Msg.F("getGrps: no elements"); var gr = new ElmGr(); List<ElmGr> groups = new List<ElmGr>(); var grps = elements.GroupBy(x => x.prf); foreach (var grp in grps) groups.Add(new ElmGr(grp)); if (elements.Count != groups.Sum(x => x.guids.Count)) Msg.F("getGrps internal error"); var v = new ProfileUpdate.ProfileUpdate(ref groups); Log.exit(); return groups; }