inizio gestione aggiunta istantanea porte
This commit is contained in:
@@ -94,6 +94,25 @@ namespace WebDoorCreator.Data.DbModels
|
||||
[ForeignKey("TypeId")]
|
||||
public virtual DoorTypeModel? TypeNav { get; set; }
|
||||
|
||||
|
||||
|
||||
public DoorModel ObjClone(string userId)
|
||||
{
|
||||
DateTime adesso = DateTime.Now;
|
||||
DoorModel answ = new DoorModel()
|
||||
{
|
||||
MeasureUnit = MeasureUnit,
|
||||
TypeId = TypeId,
|
||||
DoorExtCode = DoorExtCode,
|
||||
DateIns = adesso,
|
||||
UserIdIns = userId,
|
||||
DateMod = adesso,
|
||||
UserIdMod = userId,
|
||||
DoorDescript = DoorDescript,
|
||||
UnitCost = UnitCost,
|
||||
DateLockExpiry = DateLockExpiry,
|
||||
UserIdLock = UserIdLock
|
||||
};
|
||||
return answ;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,16 +7,23 @@
|
||||
<DoorSvgObj LineColor="rgb(39, 174, 96)" LineWidth="8" ObjH="200" ObjW="900" LeftTextClass="col-10 fs-1 fw-bold" RightTextClass="col-2" EC_ExeFunct="@(()=> createDoor(""))" ObjId="0" TextData="@AddDoorDict"></DoorSvgObj>
|
||||
</div>
|
||||
<div class="col-4 py-1">
|
||||
<DoorSvgObj LineColor="rgb(39, 174, 96)" LineWidth="8" ObjH="200" ObjW="900" LeftTextClass="col-10 fs-1 fw-bold" RightTextClass="col-2" EC_ExeFunct="@(()=> createDoor(""))" ObjId="0" TextData="@AddFromTemplDict"></DoorSvgObj>
|
||||
<DoorSvgObj LineColor="rgb(39, 174, 96)" LineWidth="8" ObjH="200" ObjW="900" LeftTextClass="col-10 fs-1 fw-bold" RightTextClass="col-2" EC_ExeFunct="@(()=> setCloneDoorMode(""))" ObjId="0" TextData="@AddFromTemplDict"></DoorSvgObj>
|
||||
</div>
|
||||
<div class="col-4 py-1">
|
||||
<DoorSvgObj LineColor="#8E44AD" LineWidth="8" ObjH="200" ObjW="900" LeftTextClass="col-10 fs-1 fw-bold" RightTextClass="col-2" EC_ExeFunct="@(()=> sendToAbh(currOrderId, orderStatus))" ObjId="0" TextData="@SendOrderDict" Message1="@currOrderId.ToString()" Message2="@orderStatus.ToString()"></DoorSvgObj>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
<div class="row">
|
||||
<div class="col-4">
|
||||
<button @onclick="()=>setAddRemDoor()">ADD REM MODE</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
@if (DoorsList == null || DoorsList.Count == 0)
|
||||
{ }
|
||||
{
|
||||
<LoadingDataSmall></LoadingDataSmall>
|
||||
}
|
||||
else
|
||||
{
|
||||
int idxCount = 0;
|
||||
@@ -26,7 +33,20 @@
|
||||
imgPath = $"images/LogoEgw{idxCount % 5:00}.png";
|
||||
idxCount++;
|
||||
<div class="col-3 py-1">
|
||||
<DoorSvgObj LineColor="#2D3047" LineWidth="8" ObjH="200" ObjW="650" LeftTextClass="col-4" RightTextClass="col-8" EC_ExeFunct="@(()=> editRec(@door.DoorId.ToString()))" Message1="@door.DoorId.ToString()" ImagePath="@imgPath" ObjId="idxCount" TextData="@textDictSetup(door)"></DoorSvgObj>
|
||||
@if (isCloneMode)
|
||||
{
|
||||
|
||||
<DoorSvgObj LineColor="#2D3047" LineWidth="8" ObjH="200" ObjW="650" LeftTextClass="col-4" RightTextClass="col-8" EC_ExeClone="@(()=>doClone(""))" Message1="@door.DoorId.ToString()" ShowClone="true" ImagePath="@imgPath" ObjId="idxCount" TextData="@textDictSetup(door)"></DoorSvgObj>
|
||||
}
|
||||
else if (isAddRemMode)
|
||||
{
|
||||
<DoorSvgObj LineColor="#2D3047" LineWidth="8" ObjH="200" ObjW="650" LeftTextClass="col-4" RightTextClass="col-8" ShowPlusMinus="true" Message1="@door.DoorId.ToString()" Message2="@door.OrderId.ToString()" EC_ExePlus="@(()=>addOneDoorNumber("", ""))" EC_ExeMinus="@(()=>removeOneDoorNumber("", ""))" ImagePath="@imgPath" ObjId="idxCount" TextData="@textDictSetup(door)"></DoorSvgObj>
|
||||
}
|
||||
else
|
||||
{
|
||||
<DoorSvgObj LineColor="#2D3047" LineWidth="8" ObjH="200" ObjW="650" LeftTextClass="col-4" RightTextClass="col-8" EC_ExeFunct="@(()=> editRec(@door.DoorId.ToString()))" Message1="@door.DoorId.ToString()" ImagePath="@imgPath" ObjId="idxCount" TextData="@textDictSetup(door)"></DoorSvgObj>
|
||||
|
||||
}
|
||||
</div>
|
||||
|
||||
}
|
||||
|
||||
@@ -177,6 +177,37 @@ namespace WebDoorCreator.UI.Components.DoorMan
|
||||
// rimando alla pagina... dettaglio...
|
||||
NavManager.NavigateTo($"/DoorDefinition?idOrd={currOrderId}&idDoor={doorId}");
|
||||
}
|
||||
protected bool isCloneMode { get; set; }
|
||||
protected bool isAddRemMode { get; set; }
|
||||
|
||||
protected async void setCloneDoorMode(string message)
|
||||
{
|
||||
await Task.Delay(1);
|
||||
isCloneMode = !isCloneMode;
|
||||
isAddRemMode = false;
|
||||
await InvokeAsync(StateHasChanged);
|
||||
}
|
||||
protected async void setAddRemDoor()
|
||||
{
|
||||
await Task.Delay(1);
|
||||
isAddRemMode = !isAddRemMode;
|
||||
isCloneMode = false;
|
||||
await InvokeAsync(StateHasChanged);
|
||||
}
|
||||
|
||||
protected async Task doClone(string message)
|
||||
{
|
||||
var door2Clone = DoorsList?.Where(x => x.DoorId == int.Parse(message)).FirstOrDefault();
|
||||
|
||||
if (door2Clone != null)
|
||||
{
|
||||
var doorOpToAdd = door2Clone.ObjClone(userId);
|
||||
|
||||
// salvo!
|
||||
var done = await WDService.DoorInsert(doorOpToAdd);
|
||||
await ReloadData();
|
||||
}
|
||||
}
|
||||
protected async void sendToAbh(int ordId, int orderStat)
|
||||
{
|
||||
if (orderStat == 10)
|
||||
@@ -222,5 +253,26 @@ namespace WebDoorCreator.UI.Components.DoorMan
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected async Task addOneDoorNumber(string msg1, string msg2)
|
||||
{
|
||||
//var door = new DoorModel();
|
||||
var done = await WDService.DoorModQty(int.Parse(msg1), int.Parse(msg2), true);
|
||||
if (done)
|
||||
{
|
||||
await InvokeAsync(StateHasChanged);
|
||||
await ReloadData();
|
||||
}
|
||||
}
|
||||
protected async Task removeOneDoorNumber(string msg1, string msg2)
|
||||
{
|
||||
//var door = new DoorModel();
|
||||
var done = await WDService.DoorModQty(int.Parse(msg1), int.Parse(msg2), false);
|
||||
if (done)
|
||||
{
|
||||
await InvokeAsync(StateHasChanged);
|
||||
await ReloadData();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -27,12 +27,22 @@
|
||||
<rect x="0" y="0" width="100%" height="50%" fill="@PlusColor" style="opacity: 50%;" @onclick="()=>execPlus()" />
|
||||
<rect x="0" y="@(ObjH/2)" width="100%" height="50%" fill="@MinusColor" style="opacity: 50%;" @onclick="()=>execMinus()" />
|
||||
}
|
||||
else if (ShowClone)
|
||||
{
|
||||
<rect x="0" y="@(ObjH/2)" width="100%" height="100%" fill="blue" style="opacity: 50%;" @onclick="()=>execClone()" />
|
||||
|
||||
}
|
||||
|
||||
</pattern>
|
||||
</defs>
|
||||
@if (ShowPlusMinus)
|
||||
{
|
||||
<circle id="circleCont" cx="@CircleImg.cx" cy="@CircleImg.cy" r="@CircleImg.rad" fill="url(#@($"contImg_{ObjId}"))" style="cursor: pointer" />
|
||||
}
|
||||
else if (ShowClone)
|
||||
{
|
||||
<circle id="circleCont" cx="@CircleImg.cx" cy="@CircleImg.cy" r="@CircleImg.rad" fill="url(#@($"contImg_{ObjId}"))" style="cursor: pointer" @onclick="()=>execClone()" />
|
||||
}
|
||||
else
|
||||
{
|
||||
<circle id="circleCont" cx="@CircleImg.cx" cy="@CircleImg.cy" r="@CircleImg.rad" fill="url(#@($"contImg_{ObjId}"))" style="cursor: pointer" @onclick="()=>execFunc()" />
|
||||
|
||||
@@ -15,6 +15,9 @@ namespace WebDoorCreator.UI.Components.SvgComp
|
||||
[Parameter]
|
||||
public EventCallback<bool> EC_ExePlus { get; set; }
|
||||
|
||||
[Parameter]
|
||||
public EventCallback<bool> EC_ExeClone { get; set; }
|
||||
|
||||
[Parameter]
|
||||
public string ImagePath { get; set; } = "images/LogoEgw.png";
|
||||
|
||||
@@ -53,6 +56,8 @@ namespace WebDoorCreator.UI.Components.SvgComp
|
||||
|
||||
[Parameter]
|
||||
public bool ShowPlusMinus { get; set; } = false;
|
||||
[Parameter]
|
||||
public bool ShowClone { get; set; } = false;
|
||||
|
||||
[Parameter]
|
||||
public Dictionary<string, string> TextData { get; set; } = new Dictionary<string, string>();
|
||||
@@ -100,6 +105,10 @@ namespace WebDoorCreator.UI.Components.SvgComp
|
||||
{
|
||||
EC_ExePlus.InvokeAsync(true);
|
||||
}
|
||||
protected void execClone()
|
||||
{
|
||||
EC_ExeClone.InvokeAsync(true);
|
||||
}
|
||||
|
||||
protected override void OnParametersSet()
|
||||
{
|
||||
|
||||
@@ -18,7 +18,7 @@ size:
|
||||
width: 33.8125
|
||||
height: 81.25
|
||||
thickness: 1.75
|
||||
swing: LH
|
||||
swing: LHI
|
||||
secure: UP
|
||||
material: wood
|
||||
profiles:
|
||||
@@ -39,6 +39,50 @@ profiles:
|
||||
machining: ON
|
||||
overmaterial: 0.1
|
||||
hardware:
|
||||
vision_cut_outs:
|
||||
- shape: Generic\Circle
|
||||
radius: 10
|
||||
center_from_top: 20
|
||||
center_from_lock: 0
|
||||
door_center: center
|
||||
|
||||
louver_cut_outs:
|
||||
- shape: Generic\Cuore2.nge
|
||||
length: 10.0000
|
||||
width: 18.8125
|
||||
bottom_rail: 8.0
|
||||
lock_stile: 0.0
|
||||
door_center: center
|
||||
|
||||
mail_slots:
|
||||
- template: Generic\Rect
|
||||
height: 3
|
||||
bottom_rail: 20
|
||||
delta_center: 5
|
||||
|
||||
hinges:
|
||||
- template: Generic Conceiled\StdConHingeDeepR
|
||||
ToptoCL: 4.875
|
||||
back_set: 0.125
|
||||
thickness: 0.25
|
||||
|
||||
ept:
|
||||
- template: Generic\StdEPT
|
||||
ToptoCL: 15
|
||||
FacetoCL: 0.875
|
||||
|
||||
locks:
|
||||
- template: Generic\Std86
|
||||
position: 45.875
|
||||
back_set: 2.0
|
||||
offset_WS: 0.0
|
||||
side: lock_top
|
||||
|
||||
edge_pulls:
|
||||
- template: Generic\EdgePull230B
|
||||
position: 45
|
||||
offset_WS: 0.0
|
||||
|
||||
pivot:
|
||||
- template: Generic\CenterHungPivot
|
||||
type: centerhung
|
||||
@@ -53,5 +97,17 @@ hardware:
|
||||
- template: Generic\OHCloserArm_103_1_90
|
||||
position: 0.000
|
||||
|
||||
strikes:
|
||||
- template: Generic\StdFaceStrike
|
||||
position: 57.875
|
||||
back_set: 2.75
|
||||
offset_WS: 0.0
|
||||
|
||||
rabbet:
|
||||
- template: Generic\Rabbet
|
||||
side: top
|
||||
width: 0.6
|
||||
depth: 0.8
|
||||
|
||||
|
||||
---
|
||||
|
||||
Reference in New Issue
Block a user