diff --git a/WebDoorCreator.Data/DbModels/DoorModel.cs b/WebDoorCreator.Data/DbModels/DoorModel.cs index a62f594..2682d47 100644 --- a/WebDoorCreator.Data/DbModels/DoorModel.cs +++ b/WebDoorCreator.Data/DbModels/DoorModel.cs @@ -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; + } } } diff --git a/WebDoorCreator.UI/Components/DoorMan/DoorList.razor b/WebDoorCreator.UI/Components/DoorMan/DoorList.razor index 3998f80..ec6b51e 100644 --- a/WebDoorCreator.UI/Components/DoorMan/DoorList.razor +++ b/WebDoorCreator.UI/Components/DoorMan/DoorList.razor @@ -7,16 +7,23 @@
- +
} +
+
+ +
+
@if (DoorsList == null || DoorsList.Count == 0) - { } + { + + } else { int idxCount = 0; @@ -26,7 +33,20 @@ imgPath = $"images/LogoEgw{idxCount % 5:00}.png"; idxCount++;
- + @if (isCloneMode) + { + + + } + else if (isAddRemMode) + { + + } + else + { + + + }
} diff --git a/WebDoorCreator.UI/Components/DoorMan/DoorList.razor.cs b/WebDoorCreator.UI/Components/DoorMan/DoorList.razor.cs index 8a3d739..1ffb872 100644 --- a/WebDoorCreator.UI/Components/DoorMan/DoorList.razor.cs +++ b/WebDoorCreator.UI/Components/DoorMan/DoorList.razor.cs @@ -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(); + } + } } } \ No newline at end of file diff --git a/WebDoorCreator.UI/Components/SvgComp/DoorSvgObj.razor b/WebDoorCreator.UI/Components/SvgComp/DoorSvgObj.razor index 20f3a52..15eb99c 100644 --- a/WebDoorCreator.UI/Components/SvgComp/DoorSvgObj.razor +++ b/WebDoorCreator.UI/Components/SvgComp/DoorSvgObj.razor @@ -27,12 +27,22 @@ } + else if (ShowClone) + { + + + } + @if (ShowPlusMinus) { } + else if (ShowClone) + { + + } else { diff --git a/WebDoorCreator.UI/Components/SvgComp/DoorSvgObj.razor.cs b/WebDoorCreator.UI/Components/SvgComp/DoorSvgObj.razor.cs index 8acaa29..1b7aaf8 100644 --- a/WebDoorCreator.UI/Components/SvgComp/DoorSvgObj.razor.cs +++ b/WebDoorCreator.UI/Components/SvgComp/DoorSvgObj.razor.cs @@ -15,6 +15,9 @@ namespace WebDoorCreator.UI.Components.SvgComp [Parameter] public EventCallback EC_ExePlus { get; set; } + [Parameter] + public EventCallback 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 TextData { get; set; } = new Dictionary(); @@ -100,6 +105,10 @@ namespace WebDoorCreator.UI.Components.SvgComp { EC_ExePlus.InvokeAsync(true); } + protected void execClone() + { + EC_ExeClone.InvokeAsync(true); + } protected override void OnParametersSet() { diff --git a/WebDoorCreator.UI/temp/Conf.yaml b/WebDoorCreator.UI/temp/Conf.yaml index 62c0291..127d077 100644 --- a/WebDoorCreator.UI/temp/Conf.yaml +++ b/WebDoorCreator.UI/temp/Conf.yaml @@ -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 + ---