Update gestione nuova lib window

This commit is contained in:
2025-10-09 18:45:01 +02:00
parent cfed8506f9
commit 843f043c12
7 changed files with 375 additions and 434 deletions
+24 -58
View File
@@ -273,7 +273,7 @@ namespace WebWindowComplex
Sash SashArea = Sash.CreateSash(ParentArea);
SashArea.SelFamilyHardware = Sash.s_FamilyHardwareList.First();
SashArea.RefreshHardwareList();
if(SashArea.HardwareList.Count == 0)
if (SashArea.HardwareList.Count == 0)
{
SashArea.Remove();
return true;
@@ -1172,9 +1172,9 @@ namespace WebWindowComplex
internal void SetSelHardwareFromId(string sId)
{
if (m_HardwareList.Count == 0)
m_SelHardware = m_HardwareCompleteList.FirstOrDefault(x => x.Id.Equals(sId)) ?? new Hardware("", "", "", "", "", 0, 0);
m_SelHardware = m_HardwareCompleteList.FirstOrDefault(x => x.Id.Equals(sId)) ?? new Hardware("", "", "", Enums.OpeningTypes.Null, "", 0, 0);
else
m_SelHardware = m_HardwareList.FirstOrDefault(x => x.Id.Equals(sId)) ?? new Hardware("", "", "", "", "", 0, 0);
m_SelHardware = m_HardwareList.FirstOrDefault(x => x.Id.Equals(sId)) ?? new Hardware("", "", "", Enums.OpeningTypes.Null, "", 0, 0);
if (m_SelHardware == null)
m_SelHardware = m_HardwareList[0];
//SelFamilyHardware = m_SelHardware.FamilyName;
@@ -1188,7 +1188,7 @@ namespace WebWindowComplex
}
set
{
m_SelHardware = m_HardwareList.FirstOrDefault(x => !string.IsNullOrEmpty(value) && x.Id.Equals(value)) ?? new Hardware("", "", "", "", "", 0, 0);
m_SelHardware = m_HardwareList.FirstOrDefault(x => !string.IsNullOrEmpty(value) && x.Id.Equals(value)) ?? new Hardware("", "", "", Enums.OpeningTypes.Null, "", 0, 0);
ParentWindow.OnUpdatePreview(ParentWindow.sSerialized());
}
}
@@ -1238,109 +1238,75 @@ namespace WebWindowComplex
return "Rectangular";
}
internal OpeningTypes GetOpeningType(Openings OpeningType)
internal Enums.OpeningTypes GetOpeningType(Openings OpeningType)
{
switch (OpeningType)
{
case Openings.TURNONLY_LEFT:
case Openings.TURNONLY_RIGHT:
{
return OpeningTypes.TURNONLY;
return Enums.OpeningTypes.TurnOnly;
}
case Openings.TILTTURN_LEFT:
case Openings.TILTTURN_RIGHT:
{
return OpeningTypes.TILTTURN;
return Enums.OpeningTypes.TiltTurn;
}
case Openings.TILTONLY_TOP:
case Openings.TILTONLY_BOTTOM:
{
return OpeningTypes.TILTONLY;
return Enums.OpeningTypes.TiltOnly;
}
case Openings.PIVOT:
{
return OpeningTypes.PIVOT;
return Enums.OpeningTypes.Pivot;
}
case Openings.FIXED:
{
return OpeningTypes.FIXED;
return Enums.OpeningTypes.Fixed;
}
case Openings.COMPLANARSLIDE_LEFT:
case Openings.COMPLANARSLIDE_RIGHT:
{
return OpeningTypes.COMPLANARSLIDE;
return Enums.OpeningTypes.ComplanarSlide;
}
case Openings.LIFTSLIDE_LEFT:
case Openings.LIFTSLIDE_RIGHT:
{
return OpeningTypes.LIFTSLIDE;
return Enums.OpeningTypes.LiftSlide;
}
default:
{
return OpeningTypes.NULL;
return Enums.OpeningTypes.Null;
}
}
}
private string ConvertOpeningType()
private Enums.OpeningTypes ConvertOpeningType()
{
var answ = Enums.OpeningTypes.Null;
if (m_SashList.Count > 1)
{
for (int i = 0; i < m_SashList.Count; i++)
{
if (m_SashList[i].bHasHandle)
{
if (GetOpeningType(m_SashList[i].OpeningType) == OpeningTypes.TURNONLY)
return "AB";
else
return "AR";
answ = GetOpeningType(m_SashList[i].OpeningType);
}
}
return "";
}
else if (m_SashList.Count == 1)
else
{
switch (GetOpeningType(m_SashList[0].OpeningType))
{
case OpeningTypes.TILTTURN:
{
return "AR";
}
case OpeningTypes.TURNONLY:
{
return "AB";
}
case OpeningTypes.TILTONLY:
{
return "VA";
}
case OpeningTypes.PIVOT:
{
return "BI";
}
case OpeningTypes.COMPLANARSLIDE:
{
return "CO";
}
case OpeningTypes.LIFTSLIDE:
{
return "AS";
}
default:
{
return "";
}
}
answ = GetOpeningType(m_SashList[0].OpeningType);
}
return "";
return answ;
}
public void RefreshHardwareList()
@@ -1349,13 +1315,13 @@ namespace WebWindowComplex
{
m_HardwareList.Clear();
string sSashShape = FindSashShape();
string sOpeningType = ConvertOpeningType();
Enums.OpeningTypes sOpeningType = ConvertOpeningType();
var iComp = StringComparison.InvariantCultureIgnoreCase;
var rawList = m_HardwareCompleteList
.Where(x => x.Id == "000000" ||
(!string.IsNullOrEmpty(m_SelFamilyHardware) && x.FamilyName.Equals(m_SelFamilyHardware, iComp) && x.SashQty == nSashQty && x.Shape.Equals(sSashShape, iComp) && x.OpeningType.Equals(sOpeningType, iComp))
)
.ToList();
.Where(x => x.Id == "000000" ||
(!string.IsNullOrEmpty(m_SelFamilyHardware) && x.FamilyName.Equals(m_SelFamilyHardware, iComp) && x.SashQty == nSashQty && x.Shape.Equals(sSashShape, iComp) && x.OpeningType == sOpeningType)
)
.ToList();
if (rawList != null && rawList.Count > 0)
{
m_HardwareList = new List<Hardware>(rawList);