Files
webwindowconfigurator/WebWindowComplex/Models/Inglesina.cs
T
Annamaria Sassi 88a2ab66d1 Aggiunto inglesine
2026-04-13 13:35:23 +02:00

85 lines
3.0 KiB
C#

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<SplitElementDimension> 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<SplitElementDimension> 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<IdNameStruct> SideList
{
get
{
return m_SideList;
}
}
private List<IdNameStruct> m_SideList = new List<IdNameStruct>
{
new IdNameStruct((int)SideInglesina.INTERNAL, "Internal"),
new IdNameStruct((int)SideInglesina.EXTERNAL, "External"),
new IdNameStruct((int)SideInglesina.BOTH, "Both")
};
private SideInglesina m_SelSide;
}
}