diff --git a/Test.UI/Components/Pages/EditJWD.razor b/Test.UI/Components/Pages/EditJWD.razor
index bfda185..4b6c9cb 100644
--- a/Test.UI/Components/Pages/EditJWD.razor
+++ b/Test.UI/Components/Pages/EditJWD.razor
@@ -10,6 +10,7 @@
EC_OnClose="CloseObj">
+
@if (!string.IsNullOrEmpty(outClose))
{
@@ -22,16 +23,6 @@ else if (!string.IsNullOrEmpty(outSave))
@outSave
}
-
-@*
- IN_ColorMaterialList="@AvailColorMaterialList"
- IN_FamilyHardwareList="@AvailFamilyHardwareList"
- IN_GlassList="@AvailGlassList"
- IN_HardwareList="@AvailHardwareList"
- IN_MaterialList="@AvailMaterialList"
- LiveSVG="@currSvg"
- CurrJwd="@InitialJwd"
- IN_SelFamilyHardware="@SelFamilyHardware"
- IN_SelColorMaterial="@SelColorMaterial"
- IN_SelMaterial="@SelMaterial"
- IN_SelGlass="@SelGlass" *@
\ No newline at end of file
+
+ @currJwd
+
diff --git a/Test.UI/Components/Pages/EditJWD.razor.cs b/Test.UI/Components/Pages/EditJWD.razor.cs
index 4e6ecdd..20a632a 100644
--- a/Test.UI/Components/Pages/EditJWD.razor.cs
+++ b/Test.UI/Components/Pages/EditJWD.razor.cs
@@ -14,9 +14,15 @@ namespace Test.UI.Components.Pages
{
public partial class EditJWD : IDisposable
{
- #region Public Properties
+
+ #region Public Fields
public string InitialJwd = "";
+
+ #endregion Public Fields
+
+ #region Public Properties
+
public Template SelTemplate { get; set; } = new Template(0, "---SELECT---", "", "");
#endregion Public Properties
@@ -32,46 +38,54 @@ namespace Test.UI.Components.Pages
#region Protected Fields
+ ///
+ /// Predisposizione valori live SVG/JWD
+ ///
+ protected LivePayload CurrData = new LivePayload();
+
protected string currJwd = "...";
- protected string prevJwd = "";
protected Dictionary m_CurrArgs = new Dictionary();
+ protected string prevJwd = "";
+ ///
+ /// Configurazione elenchi anagrafiche
+ ///
+ protected BaseListPayload SetupList = new BaseListPayload();
#endregion Protected Fields
#region Protected Properties
- protected List AvailTemplateList { get; set; } = new List();
- protected List AvailHardwareList { get; set; } = new List();
- protected List AvailFamilyHardwareList { get; set; } = new List()
- {
- new string("Natura"),
- new string("Optima")
- };
protected List AvailColorMaterialList { get; set; } = new List()
{
new string("White"),
new string("Black"),
new string("Blu")
};
- protected List AvailMaterialList { get; set; } = new List()
+
+ protected List AvailFamilyHardwareList { get; set; } = new List()
{
- new string("Pine"),
- new string("Fir")
+ new string("Arc"),
+ new string("Profilo78")
};
+
protected List AvailGlassList { get; set; } = new List()
{
- new string("4/12/4"),
- new string("4/16/4"),
- new string("4/12/4/12/4"),
- new string("4/16/4/16/4"),
- new string("4T/12/4T"),
- new string("4T/16/4T")
+ new string("Vetro BE 2S 4/12/4"),
+ new string("Vetro BE 2S 4/16/4"),
+ new string("Vetro BE 3S 4/12/4/12/4"),
+ new string("Vetro BE 3S 4/16/4/16/4"),
+ new string("Vetro BE 2S 4T/12/4T"),
+ new string("Vetro BE 2S 4T/16/4T")
};
- protected string SelFamilyHardware { get; set; } = "";
- protected string SelColorMaterial { get; set; } = "";
- protected string SelMaterial { get; set; } = "";
- protected string SelGlass { get; set; } = "";
+ protected List AvailHardwareList { get; set; } = new List();
+ protected List AvailMaterialList { get; set; } = new List()
+ {
+ new string("Pino"),
+ new string("Abete")
+ };
+
+ protected List AvailTemplateList { get; set; } = new List();
[Inject]
protected IConfiguration Config { get; set; } = null!;
@@ -86,6 +100,11 @@ namespace Test.UI.Components.Pages
get => (MarkupString)currJwd.Replace(Environment.NewLine, "
").Replace(" ", " ");
}
+ protected string SelColorMaterial { get; set; } = "";
+ protected string SelFamilyHardware { get; set; } = "";
+ protected string SelGlass { get; set; } = "";
+ protected string SelMaterial { get; set; } = "";
+
#endregion Protected Properties
#region Protected Methods
@@ -93,10 +112,6 @@ namespace Test.UI.Components.Pages
protected override async Task OnInitializedAsync()
{
ConfInit();
- SelFamilyHardware = "Natura";
- //SelColorMaterial = "Black";
- //SelColorMaterial = "Pine";
- //SelGlass = "4T/16/4T";
InitialJwd = File.ReadAllText("Data\\AntaDoppia.jwd");
currJwd = InitialJwd;
// rileggo altri dati
@@ -107,6 +122,8 @@ namespace Test.UI.Components.Pages
ColorMaterial = AvailColorMaterialList,
FamilyHardware = AvailFamilyHardwareList,
Glass = AvailGlassList,
+ //Hardware = new List(),
+ //Material = new List(),
Hardware = AvailHardwareList,
Material = AvailMaterialList,
TemplateDTO = null
@@ -119,16 +136,6 @@ namespace Test.UI.Components.Pages
DLService.CalcDonePipe.EA_NewMessage += CalcDonePipe_EA_NewMessage;
}
-
- ///
- /// Configurazione elenchi anagrafiche
- ///
- protected BaseListPayload SetupList = new BaseListPayload();
- ///
- /// Predisposizione valori live SVG/JWD
- ///
- protected LivePayload CurrData = new LivePayload();
-
#endregion Protected Methods
#region Private Fields
@@ -136,14 +143,15 @@ namespace Test.UI.Components.Pages
private string apiUrl = "";
private string calcTag = "";
private string CalcUid = "CurrWindow";
- private string cFileTemplate = "Data/Setup.json";
private string cFileHardware = "Hardware/Setup.json";
+ private string cFileTemplate = "Data/Setup.json";
private TemplateSelectDTO? currSel = null;
private string currSvg = "";
- private string imgBasePath = "";
private string GenericBasePath = "";
-
+ private string imgBasePath = "";
+ private string outClose = "";
+ private string outSave = "";
private string subChannel = "";
private string windowUid = "CurrWindow";
@@ -169,6 +177,16 @@ namespace Test.UI.Components.Pages
await Task.Delay(1);
}
+ ///
+ /// Effettua chiusura oggetto con eventuale save
+ ///
+ ///
+ private void CloseObj(bool reqSave)
+ {
+ outClose = !reqSave ? "Richiesto chiusura!" : "";
+ outSave = reqSave ? "Richiesto salvataggio!" : "";
+ }
+
private void ConfInit()
{
apiUrl = Config.GetValue("ServerConf:Prog.ApiUrl") ?? "";
@@ -252,18 +270,5 @@ namespace Test.UI.Components.Pages
}
#endregion Private Methods
-
- ///
- /// Effettua chiusura oggetto con eventuale save
- ///
- ///
- private void CloseObj(bool reqSave)
- {
- outClose = !reqSave ? "Richiesto chiusura!" : "";
- outSave = reqSave ? "Richiesto salvataggio!" : "";
- }
-
- private string outClose = "";
- private string outSave = "";
}
}
\ No newline at end of file
diff --git a/Test.UI/Data/AntaDoppia.jwd b/Test.UI/Data/AntaDoppia.jwd
index 12d9235..141654e 100644
--- a/Test.UI/Data/AntaDoppia.jwd
+++ b/Test.UI/Data/AntaDoppia.jwd
@@ -1,11 +1,10 @@
{
"ProfilePath": "Profilo78",
- "Material": "Pine",
- "ColorMaterial": "Black",
- "Glass": "4T/16/4T",
+ "Material": "Pino",
+ "ColorMaterial": "Nero",
+ "Glass": "Vetro BE 2S 4T/16/4T",
"AreaList": [
{
- "IdGroup": 1,
"Shape": "RECTANGLE",
"DimensionList": [
{
@@ -39,19 +38,19 @@
],
"BottomRail": false,
"BottomRailQty": 0,
+ "IdGroup": 1,
"AreaList": [
{
- "IdGroup": 2,
"bIsSashVertical": true,
"SashList": [
{
- "SashId": 1,
+ "nSashId": 1,
"OpeningType": "TURNONLY_LEFT",
"bHasHandle": false,
"dDimension": 50.0
},
{
- "SashId": 2,
+ "nSashId": 2,
"OpeningType": "TILTTURN_RIGHT",
"bHasHandle": true,
"dDimension": 50.0
@@ -77,6 +76,7 @@
}
],
"Hardware": "000559",
+ "IdGroup": 2,
"AreaList": [
{
"IdGroup": 3,
@@ -94,8 +94,8 @@
"IdGroup": 5,
"AreaList": [
{
- "IdGroup": 6,
"FillType": "GLASS",
+ "IdGroup": 6,
"AreaList": [],
"AreaType": "FILL"
}
diff --git a/Test.UI/Data/AntaSingola.jwd b/Test.UI/Data/AntaSingola.jwd
index 5748335..363ec74 100644
--- a/Test.UI/Data/AntaSingola.jwd
+++ b/Test.UI/Data/AntaSingola.jwd
@@ -1,8 +1,8 @@
{
"ProfilePath": "Profilo78",
- "Material": "Pine",
+ "Material": "Pino",
"ColorMaterial": "Black",
- "Glass": "4T/16/4T",
+ "Glass": "Vetro BE 2S 4T/16/4T",
"AreaList": [
{
"Shape": "RECTANGLE",
@@ -44,7 +44,7 @@
"bIsSashVertical": true,
"SashList": [
{
- "SashId": 1,
+ "nSashId": 1,
"OpeningType": "TILTTURN_LEFT",
"bHasHandle": true,
"dDimension": 100.0
diff --git a/Test.UI/Data/FinDueAnteBottomFisso.jwd b/Test.UI/Data/FinDueAnteBottomFisso.jwd
index 2940a11..6b19f59 100644
--- a/Test.UI/Data/FinDueAnteBottomFisso.jwd
+++ b/Test.UI/Data/FinDueAnteBottomFisso.jwd
@@ -1,11 +1,10 @@
{
"ProfilePath": "Profilo78",
- "Material": "Pine",
+ "Material": "Pino",
"ColorMaterial": "Black",
- "Glass": "4T/16/4T",
+ "Glass": "Vetro BE 2S 4T/16/4T",
"AreaList": [
{
- "IdGroup": 1,
"Shape": "RECTANGLE",
"DimensionList": [
{
@@ -39,11 +38,11 @@
],
"BottomRail": false,
"BottomRailQty": 0,
+ "IdGroup": 1,
"AreaList": [
{
- "IdGroup": 2,
"SplitShape": "HORIZONTAL",
- "SplitStartVert": false,
+ "SplitStartVert": false,
"SplitVertList": [],
"SplitHorizList": [
{
@@ -55,13 +54,14 @@
"dDimension": 60.0
}
],
+ "IdGroup": 2,
"AreaList": [
{
"IdGroup": 3,
"AreaList": [
{
- "IdGroup": 4,
"FillType": "GLASS",
+ "IdGroup": 4,
"AreaList": [],
"AreaType": "FILL"
}
@@ -72,17 +72,16 @@
"IdGroup": 5,
"AreaList": [
{
- "IdGroup": 6,
"bIsSashVertical": true,
"SashList": [
{
- "SashId": 1,
+ "nSashId": 1,
"OpeningType": "TURNONLY_LEFT",
"bHasHandle": false,
"dDimension": 50.0
},
{
- "SashId": 2,
+ "nSashId": 2,
"OpeningType": "TILTTURN_RIGHT",
"bHasHandle": true,
"dDimension": 50.0
@@ -108,13 +107,14 @@
}
],
"Hardware": "000559",
+ "IdGroup": 6,
"AreaList": [
{
"IdGroup": 7,
"AreaList": [
{
- "IdGroup": 8,
"FillType": "GLASS",
+ "IdGroup": 8,
"AreaList": [],
"AreaType": "FILL"
}
@@ -125,8 +125,8 @@
"IdGroup": 9,
"AreaList": [
{
- "IdGroup": 10,
"FillType": "GLASS",
+ "IdGroup": 10,
"AreaList": [],
"AreaType": "FILL"
}
diff --git a/Test.UI/Data/FinestraDueAnteSeparate.jwd b/Test.UI/Data/FinestraDueAnteSeparate.jwd
index b051b18..5bedcb0 100644
--- a/Test.UI/Data/FinestraDueAnteSeparate.jwd
+++ b/Test.UI/Data/FinestraDueAnteSeparate.jwd
@@ -1,11 +1,10 @@
{
"ProfilePath": "Profilo78",
- "Material": "Pine",
+ "Material": "Pino",
"ColorMaterial": "Black",
- "Glass": "4T/16/4T",
+ "Glass": "Vetro BE 2S 4T/16/4T",
"AreaList": [
{
- "IdGroup": 1,
"Shape": "DOUBLECHAMFER",
"DimensionList": [
{
@@ -44,11 +43,11 @@
],
"BottomRail": false,
"BottomRailQty": 0,
+ "IdGroup": 1,
"AreaList": [
{
- "IdGroup": 2,
"SplitShape": "VERTICAL",
- "SplitStartVert": true,
+ "SplitStartVert": true,
"SplitVertList": [
{
"bIsRelative": true,
@@ -60,16 +59,16 @@
}
],
"SplitHorizList": [],
+ "IdGroup": 2,
"AreaList": [
{
"IdGroup": 3,
"AreaList": [
{
- "IdGroup": 4,
"bIsSashVertical": true,
"SashList": [
{
- "SashId": 1,
+ "nSashId": 1,
"OpeningType": "TILTTURN_LEFT",
"bHasHandle": true,
"dDimension": 100.0
@@ -97,10 +96,11 @@
"BottomRail": false,
"BottomRailQty": 0,
"Hardware": "000000",
+ "IdGroup": 4,
"AreaList": [
{
- "IdGroup": 5,
"FillType": "GLASS",
+ "IdGroup": 5,
"AreaList": [],
"AreaType": "FILL"
}
@@ -114,11 +114,10 @@
"IdGroup": 6,
"AreaList": [
{
- "IdGroup": 7,
"bIsSashVertical": true,
"SashList": [
{
- "SashId": 1,
+ "nSashId": 1,
"OpeningType": "TILTTURN_RIGHT",
"bHasHandle": true,
"dDimension": 100.0
@@ -146,10 +145,11 @@
"BottomRail": false,
"BottomRailQty": 0,
"Hardware": "000000",
+ "IdGroup": 7,
"AreaList": [
{
- "IdGroup": 8,
"FillType": "GLASS",
+ "IdGroup": 8,
"AreaList": [],
"AreaType": "FILL"
}
diff --git a/Test.UI/Data/FinestraSplitGrid.jwd b/Test.UI/Data/FinestraSplitGrid.jwd
index 6f5f99e..ba61d49 100644
--- a/Test.UI/Data/FinestraSplitGrid.jwd
+++ b/Test.UI/Data/FinestraSplitGrid.jwd
@@ -1,11 +1,10 @@
{
"ProfilePath": "Profilo78",
- "Material": "Pine",
+ "Material": "Pino",
"ColorMaterial": "Black",
- "Glass": "4T/16/4T",
+ "Glass": "Vetro BE 2S 4T/16/4T",
"AreaList": [
{
- "IdGroup": 1,
"Shape": "RECTANGLE",
"DimensionList": [
{
@@ -39,9 +38,9 @@
],
"BottomRail": false,
"BottomRailQty": 0,
+ "IdGroup": 1,
"AreaList": [
{
- "IdGroup": 2,
"SplitShape": "GRID",
"SplitStartVert": false,
"SplitVertList": [
@@ -68,13 +67,14 @@
"dDimension": 30.0
}
],
+ "IdGroup": 2,
"AreaList": [
{
"IdGroup": 3,
"AreaList": [
{
- "IdGroup": 4,
"FillType": "GLASS",
+ "IdGroup": 4,
"AreaList": [],
"AreaType": "FILL"
}
@@ -85,8 +85,8 @@
"IdGroup": 5,
"AreaList": [
{
- "IdGroup": 6,
"FillType": "GLASS",
+ "IdGroup": 6,
"AreaList": [],
"AreaType": "FILL"
}
@@ -97,8 +97,8 @@
"IdGroup": 7,
"AreaList": [
{
- "IdGroup": 8,
"FillType": "GLASS",
+ "IdGroup": 8,
"AreaList": [],
"AreaType": "FILL"
}
@@ -109,8 +109,8 @@
"IdGroup": 9,
"AreaList": [
{
- "IdGroup": 10,
"FillType": "GLASS",
+ "IdGroup": 10,
"AreaList": [],
"AreaType": "FILL"
}
@@ -121,8 +121,8 @@
"IdGroup": 11,
"AreaList": [
{
- "IdGroup": 12,
"FillType": "GLASS",
+ "IdGroup": 12,
"AreaList": [],
"AreaType": "FILL"
}
@@ -133,8 +133,8 @@
"IdGroup": 13,
"AreaList": [
{
- "IdGroup": 14,
"FillType": "GLASS",
+ "IdGroup": 14,
"AreaList": [],
"AreaType": "FILL"
}
diff --git a/Test.UI/Data/FinestraSplitVert.jwd b/Test.UI/Data/FinestraSplitVert.jwd
index 60e1e4b..2651f19 100644
--- a/Test.UI/Data/FinestraSplitVert.jwd
+++ b/Test.UI/Data/FinestraSplitVert.jwd
@@ -1,11 +1,10 @@
{
"ProfilePath": "Profilo78",
- "Material": "Pine",
+ "Material": "Pino",
"ColorMaterial": "Black",
- "Glass": "4T/16/4T",
+ "Glass": "Vetro BE 2S 4T/16/4T",
"AreaList": [
{
- "IdGroup": 1,
"Shape": "RECTANGLE",
"DimensionList": [
{
@@ -39,9 +38,9 @@
],
"BottomRail": false,
"BottomRailQty": 0,
+ "IdGroup": 1,
"AreaList": [
{
- "IdGroup": 2,
"SplitShape": "VERTICAL",
"SplitStartVert": true,
"SplitVertList": [
@@ -55,13 +54,14 @@
}
],
"SplitHorizList": [],
+ "IdGroup": 2,
"AreaList": [
{
"IdGroup": 3,
"AreaList": [
{
- "IdGroup": 4,
"FillType": "GLASS",
+ "IdGroup": 4,
"AreaList": [],
"AreaType": "FILL"
}
@@ -72,8 +72,8 @@
"IdGroup": 5,
"AreaList": [
{
- "IdGroup": 6,
"FillType": "GLASS",
+ "IdGroup": 6,
"AreaList": [],
"AreaType": "FILL"
}
diff --git a/Test.UI/Hardware/Setup.json b/Test.UI/Hardware/Setup.json
index ff15768..d587146 100644
--- a/Test.UI/Hardware/Setup.json
+++ b/Test.UI/Hardware/Setup.json
@@ -1,47 +1,371 @@
[
{
- "Id": "000558",
- "FamilyName": "Natura",
- "Description": "Profilo78_Rect_Sash",
- "OpeningType": "ANTA_RIBALTA",
- "Shape": "Rectangular",
- "SashQty": 1,
- "SashPosition": 1
+ "id": "000548",
+ "familyName": "Rect",
+ "description": "Rect_DoubleSash",
+ "openingType": "TiltTurn",
+ "shape": "Rectangular",
+ "sashQty": 2,
+ "sashPosition": 1
},
{
- "Id": "000562",
- "FamilyName": "Natura",
- "Description": "Profilo78_Rect_Sash",
- "OpeningType": "ANTA_BANDIERA",
- "Shape": "Rectangular",
- "SashQty": 1,
- "SashPosition": 1
+ "id": "000546",
+ "familyName": "Trap",
+ "description": "Trap_Sash",
+ "openingType": "TiltTurn",
+ "shape": "Trapezoidal",
+ "sashQty": 1,
+ "sashPosition": 1
},
{
- "Id": "000559",
- "FamilyName": "Natura",
- "Description": "Profilo78_Rect_DoubleSash",
- "OpeningType": "ANTA_RIBALTA",
- "Shape": "Rectangular",
- "SashQty": 2,
- "SashPosition": 1
+ "id": "000547",
+ "familyName": "Rect",
+ "description": "Rect_Sash_Compl",
+ "openingType": "ComplanarSlide",
+ "shape": "Rectangular",
+ "sashQty": 2,
+ "sashPosition": 1
},
{
- "Id": "000563",
- "FamilyName": "Natura",
- "Description": "Profilo78_TurnOnly_Rect_DoubleSash",
- "OpeningType": "ANTA_BANDIERA",
- "Shape": "Rectangular",
- "SashQty": 2,
- "SashPosition": 1
+ "id": "000561",
+ "familyName": "Profilo78",
+ "description": "Profilo78_Rect_TripleSash_HiddenHinges",
+ "openingType": "TiltTurn",
+ "shape": "Rectangular",
+ "sashQty": 3,
+ "sashPosition": 1
},
{
- "Id": "000560",
- "FamilyName": "Natura",
- "Description": "Profilo78_Rect_TripleSash",
- "OpeningType": "ANTA_RIBALTA",
- "Shape": "Rectangular",
- "SashQty": 3,
- "SashPosition": 1
+ "id": "000563",
+ "familyName": "Profilo78",
+ "description": "Profilo78_TurnOnly_Rect_DoubleSash",
+ "openingType": "TurnOnly",
+ "shape": "Rectangular",
+ "sashQty": 2,
+ "sashPosition": 1
+ },
+ {
+ "id": "000564",
+ "familyName": "Profilo78",
+ "description": "Profilo78_TurnOnly_Rect_TripleSash",
+ "openingType": "TurnOnly",
+ "shape": "Rectangular",
+ "sashQty": 3,
+ "sashPosition": 2
+ },
+ {
+ "id": "000603",
+ "familyName": "SegArc",
+ "description": "SegArc_2S_TurnOnly",
+ "openingType": "TurnOnly",
+ "shape": "Arc",
+ "sashQty": 2,
+ "sashPosition": 1
+ },
+ {
+ "id": "000602",
+ "familyName": "Arc",
+ "description": "Arc_2S_TurnOnly",
+ "openingType": "TurnOnly",
+ "shape": "FullArc",
+ "sashQty": 2,
+ "sashPosition": 1
+ },
+ {
+ "id": "000601",
+ "familyName": "SegArc",
+ "description": "SegArc_1S_TurnOnly",
+ "openingType": "TurnOnly",
+ "shape": "Arc",
+ "sashQty": 1,
+ "sashPosition": 1
+ },
+ {
+ "id": "000610",
+ "familyName": "SemiArc",
+ "description": "SemiArc_1S",
+ "openingType": "TiltTurn",
+ "shape": "SemiFullArc",
+ "sashQty": 1,
+ "sashPosition": 1
+ },
+ {
+ "id": "000611",
+ "familyName": "SemiSegArc",
+ "description": "SemiSegArc_S1",
+ "openingType": "TiltTurn",
+ "shape": "SemiArc",
+ "sashQty": 1,
+ "sashPosition": 1
+ },
+ {
+ "id": "000596",
+ "familyName": "Arc",
+ "description": "Arc_1S",
+ "openingType": "TiltTurn",
+ "shape": "FullArc",
+ "sashQty": 1,
+ "sashPosition": 1
+ },
+ {
+ "id": "000599",
+ "familyName": "SegArc",
+ "description": "SegArc_2S",
+ "openingType": "TiltTurn",
+ "shape": "Arc",
+ "sashQty": 2,
+ "sashPosition": 1
+ },
+ {
+ "id": "000597",
+ "familyName": "SegArc",
+ "description": "SegArc_1S",
+ "openingType": "TiltTurn",
+ "shape": "Arc",
+ "sashQty": 1,
+ "sashPosition": 1
+ },
+ {
+ "id": "000598",
+ "familyName": "Arc",
+ "description": "Arc_2S",
+ "openingType": "TiltTurn",
+ "shape": "FullArc",
+ "sashQty": 2,
+ "sashPosition": 1
+ },
+ {
+ "id": "000600",
+ "familyName": "Arc",
+ "description": "Arc_1S_TurnOnly",
+ "openingType": "TurnOnly",
+ "shape": "FullArc",
+ "sashQty": 1,
+ "sashPosition": 1
+ },
+ {
+ "id": "000606",
+ "familyName": "Trap",
+ "description": "Trap_S1_TurnOnly",
+ "openingType": "TurnOnly",
+ "shape": "Trapezoidal",
+ "sashQty": 1,
+ "sashPosition": 1
+ },
+ {
+ "id": "000605",
+ "familyName": "Trap",
+ "description": "Trap_S2",
+ "openingType": "TiltTurn",
+ "shape": "Trapezoidal",
+ "sashQty": 2,
+ "sashPosition": 1
+ },
+ {
+ "id": "000607",
+ "familyName": "Trap",
+ "description": "Trap_S2_TurnOnly",
+ "openingType": "TurnOnly",
+ "shape": "Trapezoidal",
+ "sashQty": 2,
+ "sashPosition": 1
+ },
+ {
+ "id": "000604",
+ "familyName": "Trap",
+ "description": "Trap_S1",
+ "openingType": "TiltTurn",
+ "shape": "Trapezoidal",
+ "sashQty": 1,
+ "sashPosition": 1
+ },
+ {
+ "id": "000595",
+ "familyName": "Slide",
+ "description": "Slide_quadruple",
+ "openingType": "LiftSlide",
+ "shape": "Rectangular",
+ "sashQty": 4,
+ "sashPosition": 2
+ },
+ {
+ "id": "000592",
+ "familyName": "Slide",
+ "description": "Slide_2S",
+ "openingType": "LiftSlide",
+ "shape": "Rectangular",
+ "sashQty": 2,
+ "sashPosition": 1
+ },
+ {
+ "id": "000594",
+ "familyName": "Slide",
+ "description": "Slide_4S",
+ "openingType": "LiftSlide",
+ "shape": "Rectangular",
+ "sashQty": 4,
+ "sashPosition": 2
+ },
+ {
+ "id": "000593",
+ "familyName": "Slide",
+ "description": "Slide_double",
+ "openingType": "LiftSlide",
+ "shape": "Rectangular",
+ "sashQty": 2,
+ "sashPosition": 1
+ },
+ {
+ "id": "000575",
+ "familyName": "Profilo78",
+ "description": "Profilo78_TurnOnly_Rect_QuadrupleSash",
+ "openingType": "TurnOnly",
+ "shape": "Rectangular",
+ "sashQty": 4,
+ "sashPosition": 2
+ },
+ {
+ "id": "000558",
+ "familyName": "Profilo78",
+ "description": "Profilo78_Rect_Sash",
+ "openingType": "TiltTurn",
+ "shape": "Rectangular",
+ "sashQty": 1,
+ "sashPosition": 1
+ },
+ {
+ "id": "000559",
+ "familyName": "Profilo78",
+ "description": "Profilo78_Rect_DoubleSash",
+ "openingType": "TiltTurn",
+ "shape": "Rectangular",
+ "sashQty": 2,
+ "sashPosition": 1
+ },
+ {
+ "id": "000566",
+ "familyName": "Profilo78",
+ "description": "Profilo78_TurnOnly_Rect_TripleSash_CenterHandle",
+ "openingType": "TurnOnly",
+ "shape": "Rectangular",
+ "sashQty": 3,
+ "sashPosition": 2
+ },
+ {
+ "id": "000565",
+ "familyName": "Profilo78",
+ "description": "Profilo78_TurnOnly_Rect_TripleSash_SideHandle",
+ "openingType": "TurnOnly",
+ "shape": "Rectangular",
+ "sashQty": 3,
+ "sashPosition": 1
+ },
+ {
+ "id": "000562",
+ "familyName": "Profilo78",
+ "description": "Profilo78_Rect_Sash",
+ "openingType": "TurnOnly",
+ "shape": "Rectangular",
+ "sashQty": 1,
+ "sashPosition": 1
+ },
+ {
+ "id": "000560",
+ "familyName": "Profilo78",
+ "description": "Profilo78_Rect_TripleSash",
+ "openingType": "TiltTurn",
+ "shape": "Rectangular",
+ "sashQty": 3,
+ "sashPosition": 1
+ },
+ {
+ "id": "000550",
+ "familyName": "Rect",
+ "description": "Rect_DoubleSash_4",
+ "openingType": "TiltTurn",
+ "shape": "Rectangular",
+ "sashQty": 2,
+ "sashPosition": 1
+ },
+ {
+ "id": "000552",
+ "familyName": "Rect",
+ "description": "Rect_DoubleSashStrana",
+ "openingType": "TiltTurn",
+ "shape": "Rectangular",
+ "sashQty": 3,
+ "sashPosition": 1
+ },
+ {
+ "id": "000549",
+ "familyName": "Rect",
+ "description": "Rect_DoubleSash",
+ "openingType": "TiltTurn",
+ "shape": "Rectangular",
+ "sashQty": 2,
+ "sashPosition": 1
+ },
+ {
+ "id": "000555",
+ "familyName": "Round",
+ "description": "Round_Sash",
+ "openingType": "Pivot",
+ "shape": "Circular",
+ "sashQty": 1,
+ "sashPosition": 1
+ },
+ {
+ "id": "000556",
+ "familyName": "Rect",
+ "description": "Rect_Sash_Bilico",
+ "openingType": "Pivot",
+ "shape": "Rectangular",
+ "sashQty": 1,
+ "sashPosition": 1
+ },
+ {
+ "id": "000554",
+ "familyName": "Rect",
+ "description": "Rect_QuadrupolSash_Bandiera",
+ "openingType": "TurnOnly",
+ "shape": "Rectangular",
+ "sashQty": 4,
+ "sashPosition": 2
+ },
+ {
+ "id": "000551",
+ "familyName": "Rect",
+ "description": "Rect_Sash_Bandiera",
+ "openingType": "TurnOnly",
+ "shape": "Rectangular",
+ "sashQty": 1,
+ "sashPosition": 1
+ },
+ {
+ "id": "000544",
+ "familyName": "Rect",
+ "description": "Rect_Sash",
+ "openingType": "TiltTurn",
+ "shape": "Rectangular",
+ "sashQty": 1,
+ "sashPosition": 1
+ },
+ {
+ "id": "000553",
+ "familyName": "Rect",
+ "description": "Rect_TripleSash",
+ "openingType": "TiltTurn",
+ "shape": "Rectangular",
+ "sashQty": 3,
+ "sashPosition": 1
+ },
+ {
+ "id": "000545",
+ "familyName": "Rect",
+ "description": "Rect_Sash_4",
+ "openingType": "TiltTurn",
+ "shape": "Rectangular",
+ "sashQty": 1,
+ "sashPosition": 1
}
]
\ No newline at end of file
diff --git a/WebAedificaConfigurator/WebAedificaConfigurator.csproj b/WebAedificaConfigurator/WebAedificaConfigurator.csproj
index 2b08dd6..127bb1f 100644
--- a/WebAedificaConfigurator/WebAedificaConfigurator.csproj
+++ b/WebAedificaConfigurator/WebAedificaConfigurator.csproj
@@ -12,7 +12,7 @@
-
+
diff --git a/WebWindowComplex/AreaFrame.razor b/WebWindowComplex/AreaFrame.razor
new file mode 100644
index 0000000..6920bad
--- /dev/null
+++ b/WebWindowComplex/AreaFrame.razor
@@ -0,0 +1,26 @@
+
+
+
+
+
Area frame
+
+
+ @if (CurrSashList.Count == 0 && CurrSplitList.Count == 0)
+ {
+
+
+
+
+ }
+
+
+ @if (!(CurrFrameWindow.AreaList[0] is Split))
+ {
+
+
+
+ }
+
+
+
+
\ No newline at end of file
diff --git a/WebWindowComplex/AreaFrame.razor.cs b/WebWindowComplex/AreaFrame.razor.cs
new file mode 100644
index 0000000..e48429e
--- /dev/null
+++ b/WebWindowComplex/AreaFrame.razor.cs
@@ -0,0 +1,48 @@
+using Microsoft.AspNetCore.Components;
+
+namespace WebWindowComplex
+{
+ public partial class AreaFrame
+ {
+ #region Public Properties
+
+ [Parameter]
+ public Frame CurrFrameWindow { get; set; } = null!;
+
+ [Parameter]
+ public List CurrSashList { get; set; } = null!;
+
+ [Parameter]
+ public List CurrSplitList { get; set; } = null!;
+
+ [Parameter]
+ public EventCallback EC_AddSash { get; set; }
+
+ [Parameter]
+ public EventCallback EC_AddWindow { get; set; }
+
+ #endregion Public Properties
+
+ #region Private Methods
+
+ ///
+ /// Sollevo evento richiesta aggiunta sash
+ ///
+ ///
+ private async Task RaiseAddSash()
+ {
+ await EC_AddSash.InvokeAsync(true);
+ }
+
+ ///
+ /// Sollevo evento richiesta aggiunta window
+ ///
+ ///
+ private async Task RaiseAddWindow()
+ {
+ await EC_AddWindow.InvokeAsync(true);
+ }
+
+ #endregion Private Methods
+ }
+}
\ No newline at end of file
diff --git a/WebWindowComplex/DTO/BaseListPayload.cs b/WebWindowComplex/DTO/BaseListPayload.cs
index e0ba2bf..f9ece32 100644
--- a/WebWindowComplex/DTO/BaseListPayload.cs
+++ b/WebWindowComplex/DTO/BaseListPayload.cs
@@ -50,7 +50,6 @@ namespace WebWindowComplex.DTO
///
public bool IsValid()
{
- //bool templateOK = TemplateDTO != null && TemplateDTO.Count > 0;
bool famHwOK = FamilyHardware != null && FamilyHardware.Count > 0;
bool hwOK = Hardware != null && Hardware.Count > 0;
bool glassOK = Glass != null && Glass.Count > 0;
@@ -58,5 +57,18 @@ namespace WebWindowComplex.DTO
bool colorOK = ColorMaterial != null && ColorMaterial.Count > 0;
return famHwOK && glassOK && hwOK && colorOK && matOK;
}
+ ///
+ /// Verifica che Payload sia almeno parzialmente popolato
+ ///
+ ///
+ public bool IsPopulated()
+ {
+ bool famHwOK = FamilyHardware != null && FamilyHardware.Count > 0;
+ bool hwOK = Hardware != null && Hardware.Count > 0;
+ bool glassOK = Glass != null && Glass.Count > 0;
+ bool matOK = Material != null && Material.Count > 0;
+ bool colorOK = ColorMaterial != null && ColorMaterial.Count > 0;
+ return famHwOK || glassOK || hwOK || colorOK || matOK;
+ }
}
}
diff --git a/WebWindowComplex/General.razor b/WebWindowComplex/General.razor
new file mode 100644
index 0000000..b8264d3
--- /dev/null
+++ b/WebWindowComplex/General.razor
@@ -0,0 +1,92 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Fill type
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Color
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/WebWindowComplex/General.razor.cs b/WebWindowComplex/General.razor.cs
new file mode 100644
index 0000000..4eb2303
--- /dev/null
+++ b/WebWindowComplex/General.razor.cs
@@ -0,0 +1,102 @@
+using Microsoft.AspNetCore.Components;
+using WebWindowComplex.DTO;
+
+namespace WebWindowComplex
+{
+ public partial class General
+ {
+ #region Public Properties
+
+ ///
+ /// Finestra corrente
+ ///
+ [Parameter]
+ public Window CurrWindow { get; set; } = null!;
+
+ [Parameter]
+ public EventCallback EC_SelColor { get; set; }
+
+ [Parameter]
+ public EventCallback EC_SelGlass { get; set; }
+
+ [Parameter]
+ public EventCallback EC_SelWindMat { get; set; }
+
+ ///
+ /// Elenco anagrafiche di base
+ ///
+ [Parameter]
+ public BaseListPayload ListPayload { get; set; } = null!;
+
+ ///
+ /// Elenco Warnings attivi
+ ///
+ [Parameter]
+ public Dictionary ListWarnings { get; set; } = new Dictionary();
+
+ #endregion Public Properties
+
+ #region Protected Properties
+
+ protected string CurrColor
+ {
+ get => currColor;
+ set
+ {
+ currColor = value;
+ _ = EC_SelColor.InvokeAsync(value);
+ }
+ }
+
+ protected string CurrGlass
+ {
+ get => currGlass;
+ set
+ {
+ currGlass = value;
+ _ = EC_SelGlass.InvokeAsync(value);
+ }
+ }
+
+ protected string CurrMaterial
+ {
+ get => currMaterial;
+ set
+ {
+ currMaterial = value;
+ _ = EC_SelWindMat.InvokeAsync(value);
+ }
+ }
+
+ #endregion Protected Properties
+
+ #region Protected Methods
+
+ ///
+ /// Calcola CSS warning
+ ///
+ ///
+ ///
+ protected string cssValid(string fKey)
+ {
+ return ListWarnings.ContainsKey(fKey) ? "border border-danger" : "";
+ }
+
+ protected override void OnParametersSet()
+ {
+ currColor = CurrWindow.sColorMaterial;
+ currGlass = CurrWindow.sGlass;
+ currMaterial = CurrWindow.sMaterial;
+ }
+
+ #endregion Protected Methods
+
+ #region Private Fields
+
+ private string currColor = "";
+ private string currGlass = "";
+ private string currMaterial = "";
+
+ #endregion Private Fields
+ }
+}
\ No newline at end of file
diff --git a/WebWindowComplex/Json/JsonUtility.cs b/WebWindowComplex/Json/JsonUtility.cs
index 164836b..a1edcdf 100644
--- a/WebWindowComplex/Json/JsonUtility.cs
+++ b/WebWindowComplex/Json/JsonUtility.cs
@@ -397,6 +397,7 @@ namespace WebWindowComplex.Json
}
foreach (var Joint in m_JointList)
newSash.JointList.Add(Joint.Deserialize((Area)ParentArea));
+ newSash.SetSelFamilyHardwareFromIndex(Hardware);
newSash.RefreshHardwareList();
newSash.SetSelHardwareFromId(Hardware);
foreach (var Area in AreaList)
diff --git a/WebWindowComplex/TableComp.razor b/WebWindowComplex/TableComp.razor
index 9abc3a8..021ecc7 100644
--- a/WebWindowComplex/TableComp.razor
+++ b/WebWindowComplex/TableComp.razor
@@ -1,843 +1,438 @@