using WebWindowComplex.Json; using static WebWindowComplex.Json.WindowConst; namespace WebWindowComplex.Models { public class Inglesina : Split { public Inglesina(Area ParentArea, Window ParentWindow) : base(ParentArea, ParentWindow) { } public int SelSideIndex { get { return (int)m_SelSide; } set { m_SelSide = (SideInglesina)value; } } internal override JsonArea Serialize(bool hideHw) { if (nCounterGroup < GroupId) Area.nCounterGroup = GroupId; JsonInglesina JsonInglesina = new JsonInglesina(m_SelSide, SelSplitShape, GroupId); JsonInglesina.SplitStartVert = bSplitStartVert; foreach (var SplitVert in SplitVertList) JsonInglesina.SplitVertList.Add(SplitVert.Serialize()); foreach (var SplitHoriz in SplitHorizList) JsonInglesina.SplitHorizList.Add(SplitHoriz.Serialize()); if (ElemDimHorizList != null && ElemDimHorizList.Count > 0) { int subAreaMinHoriz = ElemDimHorizList.Min(x => x.nSubArea); List horizList = ElemDimHorizList.Where(x => x.nSubArea == subAreaMinHoriz).ToList(); foreach (var Elem in horizList) JsonInglesina.ElementDimHorizList.Add(Elem.Serialize()); } if (ElemDimVertList != null && ElemDimVertList.Count > 0) { int subAreaMinVert = ElemDimVertList.Min(x => x.nSubArea); List vertList = ElemDimVertList.Where(x => x.nSubArea == subAreaMinVert).ToList(); foreach (var Elem in vertList.ToList()) JsonInglesina.ElementDimVertList.Add(Elem.Serialize()); } foreach (var Area in AreaList) JsonInglesina.AreaList.Add(Area.Serialize(hideHw)); return JsonInglesina; } internal static Inglesina CreateInglesina(Area Area, SplitShapes SplitShape) { Inglesina inglesina = new Inglesina(Area, Area.ParentWindow); AddCounterGroup(); inglesina.SetGroupId(nCounterGroup); inglesina.SetAreaType(AreaTypes.INGLESINA); inglesina.SetSplitShape(SplitShape); inglesina.SetSelSide(SideInglesina.BOTH); return inglesina; } internal void SetSelSide(SideInglesina side) { m_SelSide = side; } public List SideList { get { return m_SideList; } } private List m_SideList = new List { new IdNameStruct((int)SideInglesina.INTERNAL, "Internal"), new IdNameStruct((int)SideInglesina.EXTERNAL, "External"), new IdNameStruct((int)SideInglesina.BOTH, "Both") }; private SideInglesina m_SelSide; } }