示例#1
0
 /// <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;
 }
示例#2
0
 /// <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;
 }