Aggiunta serializzazione e deserializzazione Hw option
This commit is contained in:
@@ -137,7 +137,7 @@ namespace Test.UI.Components.Pages
|
||||
{
|
||||
ConfInit();
|
||||
//InitialJwd = File.ReadAllText("Data\\FinestraDueAnteSeparate.jwd");
|
||||
InitialJwd = File.ReadAllText("Data\\AntaDoppia.jwd");
|
||||
InitialJwd = File.ReadAllText("Data\\AntaSingola.jwd");
|
||||
currJwd = InitialJwd;
|
||||
// rileggo altri dati
|
||||
await ReloadData();
|
||||
|
||||
@@ -70,6 +70,32 @@
|
||||
}
|
||||
],
|
||||
"Hardware": "000635",
|
||||
"HwOptionList": [
|
||||
{
|
||||
"Name": "Entrata",
|
||||
"Value": "15 mm"
|
||||
},
|
||||
{
|
||||
"Name": "LavManigliaPassante",
|
||||
"Value": "No"
|
||||
},
|
||||
{
|
||||
"Name": "PosizioneForoCilindro",
|
||||
"Value": "Cilindro sopra la maniglia"
|
||||
},
|
||||
{
|
||||
"Name": "ModelloCilindro",
|
||||
"Value": "Nessun cilindro"
|
||||
},
|
||||
{
|
||||
"Name": "LavCilindroPassante",
|
||||
"Value": "No"
|
||||
},
|
||||
{
|
||||
"Name": "HMan",
|
||||
"Value": "400"
|
||||
}
|
||||
],
|
||||
"GroupId": 2,
|
||||
"AreaList": [
|
||||
{
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
@using static WebWindowComplex.Json.WindowConst
|
||||
|
||||
@if (CurrSash.HwOptionList.Count > 0)
|
||||
{
|
||||
<div class="row">
|
||||
<div class="col-sm-6">
|
||||
<div class="row">
|
||||
<div class="col d-flex justify-content-start align-items-center">
|
||||
<h6 class="fw-bold">Hardware option</h6>
|
||||
</div>
|
||||
</div>
|
||||
@foreach (var currOpt in CurrSash.HwOptionList)
|
||||
{
|
||||
switch (currOpt.Type)
|
||||
{
|
||||
case HwOptionTypes.COMBO:
|
||||
{
|
||||
AGBOptionCombo currOptCombo = (AGBOptionCombo)currOpt;
|
||||
<EditOptionCombo CurrOpt="currOptCombo" EC_Update="RaiseOptCombo"></EditOptionCombo>
|
||||
break;
|
||||
}
|
||||
case HwOptionTypes.TEXT:
|
||||
{
|
||||
AGBOptionText currOptText = (AGBOptionText)currOpt;
|
||||
<EditOptionText CurrOpt="currOptText" EC_Update="RaiseOptText"></EditOptionText>
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
using Microsoft.AspNetCore.Components;
|
||||
using System.Runtime.CompilerServices;
|
||||
using WebWindowComplex.Models;
|
||||
using static WebWindowComplex.Json.WindowConst;
|
||||
|
||||
namespace WebWindowComplex.Compo
|
||||
{
|
||||
public partial class AreaHwOption
|
||||
{
|
||||
/// <summary>
|
||||
/// Sash corrente rispetto alla lista Sash
|
||||
/// </summary>
|
||||
[Parameter]
|
||||
public Sash CurrSash { get; set; } = null!;
|
||||
|
||||
/// <summary>
|
||||
/// Evento per aggiornare gli hardware option di tipo combo
|
||||
/// </summary>
|
||||
[Parameter]
|
||||
public EventCallback<AGBOptionCombo> EC_UpdateHwOptCombo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Evento per aggiornare gli hardware option di tipo text
|
||||
/// </summary>
|
||||
[Parameter]
|
||||
public EventCallback<AGBOptionText> EC_UpdateHwOptText { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Report aggiornamento Option Combo
|
||||
/// </summary>
|
||||
/// <param name="updRec"></param>
|
||||
/// <returns></returns>
|
||||
private async Task RaiseOptCombo(AGBOptionCombo updRec)
|
||||
{
|
||||
await EC_UpdateHwOptCombo.InvokeAsync(updRec);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Report aggiornamento Option Text
|
||||
/// </summary>
|
||||
/// <param name="updRec"></param>
|
||||
/// <returns></returns>
|
||||
private async Task RaiseOptText(AGBOptionText updRec)
|
||||
{
|
||||
await EC_UpdateHwOptText.InvokeAsync(updRec);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -116,7 +116,8 @@
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<AreaHwOption CurrSash="CurrItem" EC_UpdateHwOptCombo="UpdateOptCombo" EC_UpdateHwOptText="UpdateOptText"></AreaHwOption>
|
||||
@* <div class="row">
|
||||
<div class="col-sm-6">
|
||||
<div class="row">
|
||||
<div class="col d-flex justify-content-start align-items-center">
|
||||
@@ -145,7 +146,7 @@
|
||||
}
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
</div> *@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -415,8 +415,8 @@ namespace WebWindowComplex.Json
|
||||
newSash.SetSelFamilyHardwareFromIndex(Hardware);
|
||||
newSash.ReqRefreshShape();
|
||||
newSash.SetSelHardwareFromId(Hardware);
|
||||
//foreach (var HwOption in m_HwOptionList)
|
||||
// newSash.SelHwOptionList.Add(HwOption.Name, HwOption.Value);
|
||||
foreach (var HwOption in m_HwOptionList)
|
||||
newSash.SelHwOptionList.Add(HwOption.Name, HwOption.Value);
|
||||
//foreach (var HwOption in m_HwOptionList)
|
||||
// newSash.HwOptionList.Add(HwOption.Deserialize());
|
||||
foreach (var Area in AreaList)
|
||||
|
||||
@@ -96,7 +96,6 @@ namespace WebWindowComplex.Models
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public List<Joint> JointList
|
||||
{
|
||||
get
|
||||
@@ -665,8 +664,16 @@ namespace WebWindowComplex.Models
|
||||
JsonSash.SashList.Add(SashDimension.Serialize());
|
||||
foreach (var Joint in JointList)
|
||||
JsonSash.JointList.Add(Joint.Serialize());
|
||||
foreach (var HwOption in HwOptionList)
|
||||
JsonSash.HwOptionList.Add(HwOption.Serialize());
|
||||
if(HwOptionList.Count > 0)
|
||||
{
|
||||
foreach (var HwOption in HwOptionList)
|
||||
JsonSash.HwOptionList.Add(HwOption.Serialize());
|
||||
}
|
||||
else
|
||||
{
|
||||
foreach (var HwOption in SelHwOptionList)
|
||||
JsonSash.HwOptionList.Add(new JsonHwOption(HwOption.Key, HwOption.Value));
|
||||
}
|
||||
foreach (var Area in AreaList)
|
||||
JsonSash.AreaList.Add(Area.Serialize(hideHw));
|
||||
return JsonSash;
|
||||
@@ -728,29 +735,29 @@ namespace WebWindowComplex.Models
|
||||
}
|
||||
}
|
||||
}
|
||||
//if (SelHwOptionList.Count > 0)
|
||||
//{
|
||||
// foreach(var selHwOption in SelHwOptionList)
|
||||
// {
|
||||
// var HwOption = HwOptionList.Where(x => x.sName == selHwOption.Key).First();
|
||||
// switch (HwOption.Type)
|
||||
// {
|
||||
// case HwOptionTypes.COMBO:
|
||||
// {
|
||||
// AGBOptionCombo OptCombo = (AGBOptionCombo)HwOption;
|
||||
// var selValue = OptCombo.ValueList.Where(x => x.sDescription == selHwOption.Value).First();
|
||||
// OptCombo.sValue = selValue;
|
||||
// break;
|
||||
// }
|
||||
// case HwOptionTypes.TEXT:
|
||||
// {
|
||||
// AGBOptionText OptText = (AGBOptionText)HwOption;
|
||||
// OptText.sValue = selHwOption.Value;
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
if (SelHwOptionList.Count > 0)
|
||||
{
|
||||
foreach (var selHwOption in SelHwOptionList)
|
||||
{
|
||||
var HwOption = HwOptionList.Where(x => x.sName == selHwOption.Key).First();
|
||||
switch (HwOption.Type)
|
||||
{
|
||||
case HwOptionTypes.COMBO:
|
||||
{
|
||||
AGBOptionCombo OptCombo = (AGBOptionCombo)HwOption;
|
||||
var selValue = OptCombo.ValueList.Where(x => x.sDescription == selHwOption.Value).First();
|
||||
OptCombo.sValue = selValue;
|
||||
break;
|
||||
}
|
||||
case HwOptionTypes.TEXT:
|
||||
{
|
||||
AGBOptionText OptText = (AGBOptionText)HwOption;
|
||||
OptText.sValue = selHwOption.Value;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
internal void SetOrientationSashType(OrientationSash value)
|
||||
|
||||
@@ -602,7 +602,7 @@ namespace WebWindowComplex
|
||||
if (ListPayload.IsValid())
|
||||
{
|
||||
// SOLO SE modificato live data...
|
||||
if (prevLiveData == null || !prevLiveData.Equals(LiveData))
|
||||
if (prevLiveData == null || !prevLiveData.Equals(LiveData))
|
||||
{
|
||||
updRequested = true;
|
||||
prevLiveData = new LivePayload()
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<Nullable>enable</Nullable>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Version>2.7.10.2916</Version>
|
||||
<Version>2.7.10.3014</Version>
|
||||
<Authors>Annamaria Sassi</Authors>
|
||||
<Company>Egalware</Company>
|
||||
<Description>Componente gestione Configurazioni avanzate Window per LUX</Description>
|
||||
@@ -194,6 +194,12 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<Nullable>enable</Nullable>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Version>2.7.10.2916</Version>
|
||||
<Version>2.7.10.3014</Version>
|
||||
<Authors>Annamaria Sassi</Authors>
|
||||
<Company>Egalware</Company>
|
||||
<Description>Componente gestione JWD per LUX</Description>
|
||||
@@ -259,6 +259,34 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user