diff --git a/MagMan.Data.Tenant/Controllers/TenantController.cs b/MagMan.Data.Tenant/Controllers/TenantController.cs index c51e9bb..f5cacac 100644 --- a/MagMan.Data.Tenant/Controllers/TenantController.cs +++ b/MagMan.Data.Tenant/Controllers/TenantController.cs @@ -62,9 +62,15 @@ namespace MagMan.Data.Tenant.Controllers .FirstOrDefault(); if (currData != null) { - dbCtx - .DbSetItems - .Remove(currData); + //dbCtx + // .DbSetItems + // .Remove(currData); + + // non vera eliminazione ma logica... + currData.IsActive = false; + // registro modifica RawItem + dbCtx.Entry(currData).State = EntityState.Modified; + dbCtx.SaveChanges(); done = true; } @@ -77,18 +83,44 @@ namespace MagMan.Data.Tenant.Controllers return done; } + /// + /// Converte il DTO in ItemModel + /// + /// DTO di partenza + /// Parametro active da impostare + /// + public RawItemModel ItemFromDto(ItemDTO origItem, bool isActive) + { + RawItemModel answ = new RawItemModel() + { + MatId = origItem.MatCloudId, + IsRemn = origItem.IsRemn, + Location = origItem.Location, + QtyAvail = origItem.QtyAvail, + HMm = origItem.HMm, + LMm = origItem.LMm, + WMm = origItem.WMm, + Note = origItem.Note, + IsActive = isActive + }; + + return answ; + } + /// /// Elenco Items gestiti a magazzino (all) /// /// Stringa connessione (variabile x cliente) + /// Solo attivi (default) o anche cancellati /// - public List ItemGetAll(string connString) + public List ItemGetAll(string connString, bool onlyActive = true) { List dbResult = new List(); using (MagManContext dbCtx = new MagManContext(connString)) { dbResult = dbCtx .DbSetItems + .Where(x => x.IsActive || !onlyActive) .Include(c => c.MaterialNav) .OrderBy(x => x.MatId) .ToList(); @@ -101,17 +133,17 @@ namespace MagMan.Data.Tenant.Controllers /// /// Stringa connessione (variabile x cliente) /// ID del materiale x cui filtrare, 0 = tutti + /// Solo attivi (default) o anche cancellati /// - public List ItemGetByMat(string connString, int matID) + public List ItemGetByMat(string connString, int matID, bool onlyActive = true) { List dbResult = new List(); using (MagManContext dbCtx = new MagManContext(connString)) { dbResult = dbCtx .DbSetItems - .Where(x => matID == 0 || x.MatId == matID) + .Where(x => (matID == 0 || x.MatId == matID) && (x.IsActive || !onlyActive)) .Include(c => c.MaterialNav) - //.OrderBy(x => x.MatCloudId) .OrderBy(x => x.WMm) .ThenBy(x => x.HMm) .ThenBy(x => x.LMm) @@ -146,16 +178,12 @@ namespace MagMan.Data.Tenant.Controllers return dbResult; } - /// - /// Aggiunge/Modifica un item in magazzino - /// - /// Stringa connessione (variabile x cliente) - /// Record da aggiornare - /// quantità da aggiornare (se <0 è consumo) - /// User corrente (SE applicabile) - /// Messaggio registrato x variazione positiva - /// Messaggio registrato x variazione negativa - /// + /// Aggiunge/Modifica un item in magazzino Stringa connessione (variabile x cliente) Record da aggiornare quantità da + /// aggiornare (se <0 è consumo) User corrente (SE + /// applicabile) Messaggio registrato x variazione + /// positiva Messaggio registrato x variazione negativa public bool ItemModQty(string connString, RawItemModel rec2upd, int deltaQty, string userId, string msgAdd, string msgRem) { bool done = false; @@ -206,6 +234,41 @@ namespace MagMan.Data.Tenant.Controllers return done; } + /// + /// Converte lista ItemModel in DTO + /// + /// Elenco ItemModel di partenza + /// + public List ItemsToDto(List origItem) + { + List answ = answ = origItem.Select(x => ItemToDto(x)).ToList(); + return answ; + } + + /// + /// Converte ItemModel in DTO + /// + /// ItemModel di partenza + /// + public ItemDTO ItemToDto(RawItemModel origItem) + { + ItemDTO answ = new ItemDTO() + { + MatCloudId = origItem.MatId, + RawItemCloudId = origItem.RawItemId, + IsRemn = origItem.IsRemn, + Location = origItem.Location, + QtyAvail = origItem.QtyAvail, + HMm = origItem.HMm, + LMm = origItem.LMm, + WMm = origItem.WMm, + Note = origItem.Note, + ItemDtmx = origItem.ItemDtmx + }; + + return answ; + } + /// /// Aggiunge/Modifica un item in magazzino /// @@ -261,6 +324,9 @@ namespace MagMan.Data.Tenant.Controllers } else { + // levo il matNav... + dbCtx.Entry(rec2upd.MaterialNav).State = EntityState.Unchanged; + //rec2upd.MaterialNav = new MaterialModel(); dbCtx .DbSetItems .Add(rec2upd); @@ -346,8 +412,8 @@ namespace MagMan.Data.Tenant.Controllers HMm = x.HMm, LMm = x.LMm, WMm = x.WMm, - SizeNum = x.RawItemList == null ? 0 : x.RawItemList.Count, - QtyTot = x.RawItemList == null ? 0 : x.RawItemList.Sum(r => r.QtyAvail), + SizeNum = x.RawItemList == null ? 0 : x.RawItemList.Where(x => x.IsActive).Count(), + QtyTot = x.RawItemList == null ? 0 : x.RawItemList.Where(x => x.IsActive).Sum(r => r.QtyAvail), MatDtmx = x.MatDtmx, IsBeam = x.IsBeam, IsWall = x.IsWall, @@ -406,64 +472,6 @@ namespace MagMan.Data.Tenant.Controllers return dbResult; } - /// - /// Converte il DTO in ItemModel - /// - /// DTO di partenza - /// Parametro active da impostare - /// - public RawItemModel ItemFromDto(ItemDTO origItem, bool isActive) - { - RawItemModel answ = new RawItemModel() - { - MatId = origItem.MatCloudId, - IsRemn = origItem.IsRemn, - Location = origItem.Location, - QtyAvail = origItem.QtyAvail, - HMm = origItem.HMm, - LMm = origItem.LMm, - WMm = origItem.WMm, - Note = origItem.Note, - IsActive = isActive - }; - - return answ; - } - - /// - /// Converte ItemModel in DTO - /// - /// ItemModel di partenza - /// - public ItemDTO ItemToDto(RawItemModel origItem) - { - ItemDTO answ = new ItemDTO() - { - MatCloudId = origItem.MatId, - RawItemCloudId = origItem.RawItemId, - IsRemn = origItem.IsRemn, - Location = origItem.Location, - QtyAvail = origItem.QtyAvail, - HMm = origItem.HMm, - LMm = origItem.LMm, - WMm = origItem.WMm, - Note = origItem.Note, - ItemDtmx = origItem.ItemDtmx - }; - - return answ; - } - /// - /// Converte lista ItemModel in DTO - /// - /// Elenco ItemModel di partenza - /// - public List ItemsToDto(List origItem) - { - List answ = answ = origItem.Select(x => ItemToDto(x)).ToList(); - return answ; - } - /// /// Elenco Materiali gestiti a magazzino /// diff --git a/MagMan.Data.Tenant/DbModels/RawItemModel.cs b/MagMan.Data.Tenant/DbModels/RawItemModel.cs index 9063b23..685ec13 100644 --- a/MagMan.Data.Tenant/DbModels/RawItemModel.cs +++ b/MagMan.Data.Tenant/DbModels/RawItemModel.cs @@ -32,7 +32,7 @@ namespace MagMan.Data.Tenant.DbModels public int QtyAvail { get; set; } = 0; /// - /// Check if is a Remnant + /// Active, for logical delete... /// public bool IsActive { get; set; } = false; diff --git a/MagMan.Data.Tenant/Services/TenantService.cs b/MagMan.Data.Tenant/Services/TenantService.cs index 8365b71..912b8c3 100644 --- a/MagMan.Data.Tenant/Services/TenantService.cs +++ b/MagMan.Data.Tenant/Services/TenantService.cs @@ -160,15 +160,17 @@ namespace MagMan.Data.Tenant.Services /// /// Key di riferimento /// ID del materiale x cui filtrare, 0 = tutti + /// Solo attivi (default) o anche cancellati /// - public async Task> ItemGetByMat(int nKey, int matID) + public async Task> ItemGetByMat(int nKey, int matID, bool onlyActive) { string source = "DB"; string cString = ConnString(nKey); List? dbResult = new List(); try { - string currKey = $"{Const.rKeyConfig}:{nKey}:ItemList:{matID}"; + string keyAct = onlyActive ? "ACT" : "ALL"; + string currKey = $"{Const.rKeyConfig}:{nKey}:ItemList:{matID}:{keyAct}"; Stopwatch stopWatch = new Stopwatch(); stopWatch.Start(); string? rawData = await redisDb.StringGetAsync(currKey); @@ -187,7 +189,7 @@ namespace MagMan.Data.Tenant.Services } else { - dbResult = dbController.ItemGetByMat(cString, matID); + dbResult = dbController.ItemGetByMat(cString, matID, onlyActive); rawData = JsonConvert.SerializeObject(dbResult, JSSettings); await redisDb.StringSetAsync(currKey, rawData, LongCache); } diff --git a/MagMan.UI/Components/ItemMan.razor b/MagMan.UI/Components/ItemMan.razor index d5e11cd..c72bb81 100644 --- a/MagMan.UI/Components/ItemMan.razor +++ b/MagMan.UI/Components/ItemMan.razor @@ -1,10 +1,20 @@ 
-
-

Articoli

+
+
+
+

Articoli

+
+
+
+ + +
+
+
-
+
@if (CurrItem == null) @@ -22,7 +32,7 @@ @if (CurrItem != null) {
- + }
@@ -52,13 +62,18 @@ } @* H (mm) *@ L (mm) - @* *@ + + + + + @foreach (var item in ListRecords) { - + string cssRow = item.IsActive ? "" : "text-strike"; + @@ -93,15 +108,23 @@ @($"{item.WMm:N2}") } - @* - @($"{item.HMm:N2}") - *@ @($"{item.LMm:N2}") - @* - - *@ + + + + @if (item.QtyAvail == 0 && item.IsActive) + { + + } + else + { + + } + + + } diff --git a/MagMan.UI/Components/ItemMan.razor.cs b/MagMan.UI/Components/ItemMan.razor.cs index 80912fc..cead8ed 100644 --- a/MagMan.UI/Components/ItemMan.razor.cs +++ b/MagMan.UI/Components/ItemMan.razor.cs @@ -3,7 +3,10 @@ using MagMan.Core.Services; using MagMan.Data.Tenant.DbModels; using MagMan.Data.Tenant.Services; using Microsoft.AspNetCore.Components; +using Microsoft.Build.Framework; +using Microsoft.CodeAnalysis.Differencing; using Microsoft.JSInterop; +using System.Security; namespace MagMan.UI.Components { @@ -36,6 +39,11 @@ namespace MagMan.UI.Components #region Protected Properties + protected string actMessage + { + get => onlyActive ? "Solo Attivi" : "Mostra Eliminati"; + } + [Inject] protected MessageService AppMService { get; set; } = null!; @@ -45,6 +53,24 @@ namespace MagMan.UI.Components [Inject] protected IJSRuntime JSRuntime { get; set; } = null!; + protected bool OnlyActive + { + get => onlyActive; + set + { + if (onlyActive != value) + { + onlyActive = value; + DoSelect(null); + var pUpd = Task.Run(async () => + { + await ForceReload(true); + }); + pUpd.Wait(); + } + } + } + protected int totalCount { get; set; } = 0; [Inject] @@ -70,17 +96,29 @@ namespace MagMan.UI.Components protected async Task CreateNew() { + string matNote = $"{MaterialSel.MatCode.Replace("_", " ")}"; + if (MaterialSel.IsBeam) + { + matNote += $" {MaterialSel.WMm:N0}x{MaterialSel.HMm:N0}"; + } + else + { + matNote += $" {MaterialSel.HMm:N0}"; + } CurrItem = new RawItemModel() { MatId = MaterialSel.MatId, Location = "nd", - Note = "...", + Note = matNote, QtyAvail = 0, IsActive = true, IsRemn = false, + MaterialNav = MaterialSel, HMm = MaterialSel.HMm, - LMm = MaterialSel.LMm, - WMm = MaterialSel.WMm + //LMm = MaterialSel.LMm, + //WMm = MaterialSel.WMm + LMm = 100, + WMm = MaterialSel.IsBeam ? MaterialSel.WMm : 100 }; await InvokeAsync(StateHasChanged); } @@ -161,6 +199,7 @@ namespace MagMan.UI.Components private string currSearch = ""; private int filtType = 0; private List? ListRecords = null; + private bool onlyActive = true; private int RawItemId = 0; private List? SearchRecords = null; @@ -205,9 +244,8 @@ namespace MagMan.UI.Components private async Task ReloadData() { isLoading = true; - await InvokeAsync(StateHasChanged); ListRecords = null; - SearchRecords = await TService.ItemGetByMat(KeyNum, MaterialSel.MatId); + SearchRecords = await TService.ItemGetByMat(KeyNum, MaterialSel.MatId, OnlyActive); // verifico filtro per ricerca if (!string.IsNullOrEmpty(currSearch)) { @@ -216,7 +254,6 @@ namespace MagMan.UI.Components totalCount = SearchRecords.Count; SortTable(); isLoading = false; - await InvokeAsync(StateHasChanged); } private void SortTable() diff --git a/MagMan.UI/Components/MaterialEdit.razor b/MagMan.UI/Components/MaterialEdit.razor index 2bcbad3..a38d796 100644 --- a/MagMan.UI/Components/MaterialEdit.razor +++ b/MagMan.UI/Components/MaterialEdit.razor @@ -16,20 +16,29 @@
+ @if (MatType != 2) + { +
+ + +
+ } + else + { +
+ + +
+ }
- - -
-
- +
- +
- @* *@
diff --git a/MagMan.UI/Components/MaterialEdit.razor.cs b/MagMan.UI/Components/MaterialEdit.razor.cs index 4e2f325..22d9e9b 100644 --- a/MagMan.UI/Components/MaterialEdit.razor.cs +++ b/MagMan.UI/Components/MaterialEdit.razor.cs @@ -1,5 +1,5 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. +// Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this +// file to you under the MIT license. using MagMan.Data.Admin.DbModels; using MagMan.Data.Admin.Services; using MagMan.Data.Tenant.DbModels; @@ -15,11 +15,15 @@ namespace MagMan.UI.Components [Parameter] public MaterialModel? CurrRecord { get; set; } = null; - [Parameter] - public int KeyNum { get; set; } = 0; [Parameter] public EventCallback EC_update { get; set; } + [Parameter] + public int MatType { get; set; } = 0; + + [Parameter] + public int KeyNum { get; set; } = 0; + #endregion Public Properties #region Protected Properties @@ -31,6 +35,11 @@ namespace MagMan.UI.Components #region Protected Methods + protected async Task DoCancel() + { + await EC_update.InvokeAsync(true); + } + protected async Task DoSave() { bool fatto = false; @@ -44,10 +53,6 @@ namespace MagMan.UI.Components await EC_update.InvokeAsync(true); } } - protected async Task DoCancel() - { - await EC_update.InvokeAsync(true); - } #endregion Protected Methods } diff --git a/MagMan.UI/Components/MaterialMan.razor b/MagMan.UI/Components/MaterialMan.razor index 179ebb6..92e0007 100644 --- a/MagMan.UI/Components/MaterialMan.razor +++ b/MagMan.UI/Components/MaterialMan.razor @@ -32,7 +32,7 @@ @if (CurrItem != null) {
- + }
@@ -64,7 +64,7 @@ } - Del + diff --git a/MagMan.UI/MagMan.UI.csproj b/MagMan.UI/MagMan.UI.csproj index ca235e7..03db33a 100644 --- a/MagMan.UI/MagMan.UI.csproj +++ b/MagMan.UI/MagMan.UI.csproj @@ -2,7 +2,7 @@ net6.0 - 1.0.2402.0809 + 1.0.2402.0813 enable enable true diff --git a/MagMan.UI/Pages/WareHouse.razor.cs b/MagMan.UI/Pages/WareHouse.razor.cs index b37818f..6c1ab54 100644 --- a/MagMan.UI/Pages/WareHouse.razor.cs +++ b/MagMan.UI/Pages/WareHouse.razor.cs @@ -66,6 +66,7 @@ namespace MagMan.UI.Pages protected void SaveMat(MaterialModel? newMat) { MaterialSel = newMat; + RawItemSel = null; } #endregion Protected Methods diff --git a/MagMan.UI/wwwroot/css/site.css b/MagMan.UI/wwwroot/css/site.css index 33885ae..6d61c10 100644 --- a/MagMan.UI/wwwroot/css/site.css +++ b/MagMan.UI/wwwroot/css/site.css @@ -40,6 +40,9 @@ a, .validation-message { color: red; } +.text-strike { + text-decoration: line-through; +} #blazor-error-ui { background: lightyellow; bottom: 0; diff --git a/MagMan.UI/wwwroot/css/site.less b/MagMan.UI/wwwroot/css/site.less index 35dd6ec..fce6033 100644 --- a/MagMan.UI/wwwroot/css/site.less +++ b/MagMan.UI/wwwroot/css/site.less @@ -36,6 +36,10 @@ a, .btn-link { color: red; } +.text-strike { + text-decoration: line-through; +} + #blazor-error-ui { background: lightyellow; bottom: 0; diff --git a/MagMan.UI/wwwroot/css/site.min.css b/MagMan.UI/wwwroot/css/site.min.css index ec74078..cdb155f 100644 --- a/MagMan.UI/wwwroot/css/site.min.css +++ b/MagMan.UI/wwwroot/css/site.min.css @@ -1 +1 @@ -@import url('open-iconic/font/css/open-iconic-bootstrap.min.css');h1,h2,h3,h4,h5,h6,b,display-1,display-2,display-3,display-4{font-family:'Lato',sans-serif;}html,body,.textCondensed{font-family:'Roboto Condensed',sans-serif;}a,.btn-link{color:#0366d6;}.btn-primary{color:#fff;background-color:#1b6ec2;border-color:#1861ac;}.content{padding-top:1.1rem;}.valid.modified:not([type=checkbox]){outline:1px solid #26b050;}.invalid{outline:1px solid #f00;}.validation-message{color:#f00;}#blazor-error-ui{background:#ffffe0;bottom:0;box-shadow:0 -1px 2px rgba(0,0,0,.2);display:none;left:0;padding:.6rem 1.25rem .7rem 1.25rem;position:fixed;width:100%;z-index:1000;}#blazor-error-ui .dismiss{cursor:pointer;position:absolute;right:.75rem;top:.5rem;}.footer{line-height:1.8em;}.shortcuts{text-align:center;}.shortcuts .shortcut-icon{font-size:2rem;}.shortcuts .shortcut{min-width:9rem;min-height:5rem;display:inline-block;padding:2rem/3 0;margin:0 2px 1em;vertical-align:top;text-decoration:none;background:#f3f3f3;background-image:-webkit-gradient(linear,left 0%,left 100%,from(#fff),to(#eee));background-image:-webkit-linear-gradient(top,#fff,0%,#eee,100%);background-image:-moz-linear-gradient(top,#fff 0%,#eee 100%);background-image:linear-gradient(to bottom,#fff 0%,#eee 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffeeeeee',GradientType=0);border:1px solid #ddd;box-sizing:border-box;border-radius:1rem/2;}.shortcuts .shortcut-sm{min-width:4.5rem;min-height:3rem;display:inline-block;padding:1rem/4 0;margin:0 2px 1em;vertical-align:top;text-decoration:none;background:#f3f3f3;background-image:-webkit-gradient(linear,left 0%,left 100%,from(#fff),to(#eee));background-image:-webkit-linear-gradient(top,#fff,0%,#eee,100%);background-image:-moz-linear-gradient(top,#fff 0%,#eee 100%);background-image:linear-gradient(to bottom,#fff 0%,#eee 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffeeeeee',GradientType=0);border:1px solid #ddd;box-sizing:border-box;border-radius:1rem/2;}.shortcuts .shortcut .shortcut-icon{width:100%;margin-top:0;margin-bottom:0;font-size:2rem;color:#333;}.shortcuts .shortcut-sm .shortcut-icon{width:100%;margin-top:0;margin-bottom:0;font-size:2rem;color:#333;}.shortcuts .shortcut:hover{background:#e8e8e8;background-image:-webkit-gradient(linear,left 0%,left 100%,from(#fafafa),to(#e1e1e1));background-image:-webkit-linear-gradient(top,#fafafa,0%,#e1e1e1,100%);background-image:-moz-linear-gradient(top,#fafafa 0%,#e1e1e1 100%);background-image:linear-gradient(to bottom,#fafafa 0%,#e1e1e1 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffafafa',endColorstr='#ffe1e1e1',GradientType=0);}.shortcuts .shortcut-sm:hover{background:#e8e8e8;background-image:-webkit-gradient(linear,left 0%,left 100%,from(#fafafa),to(#e1e1e1));background-image:-webkit-linear-gradient(top,#fafafa,0%,#e1e1e1,100%);background-image:-moz-linear-gradient(top,#fafafa 0%,#e1e1e1 100%);background-image:linear-gradient(to bottom,#fafafa 0%,#e1e1e1 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffafafa',endColorstr='#ffe1e1e1',GradientType=0);}.shortcuts .shortcut:active{box-shadow:inset 0 3px 5px rgba(0,0,0,.125);}.shortcuts .shortcut-sm:active{box-shadow:inset 0 3px 5px rgba(0,0,0,.125);}.shortcuts .shortcut:hover .shortcut-icon{color:#c93;}.shortcuts .shortcut-sm:hover .shortcut-icon{color:#666;}.shortcuts .shortcut-label{display:block;margin-top:.75em;font-weight:400;color:#666;}@media(max-width:640px){.shortcuts .shortcut{min-width:8rem;min-height:4rem;}body{font-size:.8em;}} \ No newline at end of file +@import url('open-iconic/font/css/open-iconic-bootstrap.min.css');h1,h2,h3,h4,h5,h6,b,display-1,display-2,display-3,display-4{font-family:'Lato',sans-serif;}html,body,.textCondensed{font-family:'Roboto Condensed',sans-serif;}a,.btn-link{color:#0366d6;}.btn-primary{color:#fff;background-color:#1b6ec2;border-color:#1861ac;}.content{padding-top:1.1rem;}.valid.modified:not([type=checkbox]){outline:1px solid #26b050;}.invalid{outline:1px solid #f00;}.validation-message{color:#f00;}.text-strike{text-decoration:line-through;}#blazor-error-ui{background:#ffffe0;bottom:0;box-shadow:0 -1px 2px rgba(0,0,0,.2);display:none;left:0;padding:.6rem 1.25rem .7rem 1.25rem;position:fixed;width:100%;z-index:1000;}#blazor-error-ui .dismiss{cursor:pointer;position:absolute;right:.75rem;top:.5rem;}.footer{line-height:1.8em;}.shortcuts{text-align:center;}.shortcuts .shortcut-icon{font-size:2rem;}.shortcuts .shortcut{min-width:9rem;min-height:5rem;display:inline-block;padding:2rem/3 0;margin:0 2px 1em;vertical-align:top;text-decoration:none;background:#f3f3f3;background-image:-webkit-gradient(linear,left 0%,left 100%,from(#fff),to(#eee));background-image:-webkit-linear-gradient(top,#fff,0%,#eee,100%);background-image:-moz-linear-gradient(top,#fff 0%,#eee 100%);background-image:linear-gradient(to bottom,#fff 0%,#eee 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffeeeeee',GradientType=0);border:1px solid #ddd;box-sizing:border-box;border-radius:1rem/2;}.shortcuts .shortcut-sm{min-width:4.5rem;min-height:3rem;display:inline-block;padding:1rem/4 0;margin:0 2px 1em;vertical-align:top;text-decoration:none;background:#f3f3f3;background-image:-webkit-gradient(linear,left 0%,left 100%,from(#fff),to(#eee));background-image:-webkit-linear-gradient(top,#fff,0%,#eee,100%);background-image:-moz-linear-gradient(top,#fff 0%,#eee 100%);background-image:linear-gradient(to bottom,#fff 0%,#eee 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffeeeeee',GradientType=0);border:1px solid #ddd;box-sizing:border-box;border-radius:1rem/2;}.shortcuts .shortcut .shortcut-icon{width:100%;margin-top:0;margin-bottom:0;font-size:2rem;color:#333;}.shortcuts .shortcut-sm .shortcut-icon{width:100%;margin-top:0;margin-bottom:0;font-size:2rem;color:#333;}.shortcuts .shortcut:hover{background:#e8e8e8;background-image:-webkit-gradient(linear,left 0%,left 100%,from(#fafafa),to(#e1e1e1));background-image:-webkit-linear-gradient(top,#fafafa,0%,#e1e1e1,100%);background-image:-moz-linear-gradient(top,#fafafa 0%,#e1e1e1 100%);background-image:linear-gradient(to bottom,#fafafa 0%,#e1e1e1 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffafafa',endColorstr='#ffe1e1e1',GradientType=0);}.shortcuts .shortcut-sm:hover{background:#e8e8e8;background-image:-webkit-gradient(linear,left 0%,left 100%,from(#fafafa),to(#e1e1e1));background-image:-webkit-linear-gradient(top,#fafafa,0%,#e1e1e1,100%);background-image:-moz-linear-gradient(top,#fafafa 0%,#e1e1e1 100%);background-image:linear-gradient(to bottom,#fafafa 0%,#e1e1e1 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffafafa',endColorstr='#ffe1e1e1',GradientType=0);}.shortcuts .shortcut:active{box-shadow:inset 0 3px 5px rgba(0,0,0,.125);}.shortcuts .shortcut-sm:active{box-shadow:inset 0 3px 5px rgba(0,0,0,.125);}.shortcuts .shortcut:hover .shortcut-icon{color:#c93;}.shortcuts .shortcut-sm:hover .shortcut-icon{color:#666;}.shortcuts .shortcut-label{display:block;margin-top:.75em;font-weight:400;color:#666;}@media(max-width:640px){.shortcuts .shortcut{min-width:8rem;min-height:4rem;}body{font-size:.8em;}} \ No newline at end of file diff --git a/Resources/ChangeLog.html b/Resources/ChangeLog.html index d5e2737..befa6b3 100644 --- a/Resources/ChangeLog.html +++ b/Resources/ChangeLog.html @@ -1,6 +1,6 @@ MagMan - Wood Warehouse Management System -

Versione: 1.0.2402.0809

+

Versione: 1.0.2402.0813


Note di rilascio:
  • diff --git a/Resources/VersNum.txt b/Resources/VersNum.txt index f3b28c1..bbe1f8e 100644 --- a/Resources/VersNum.txt +++ b/Resources/VersNum.txt @@ -1 +1 @@ -1.0.2402.0809 +1.0.2402.0813 diff --git a/Resources/manifest.xml b/Resources/manifest.xml index be41279..b7ac7a4 100644 --- a/Resources/manifest.xml +++ b/Resources/manifest.xml @@ -1,6 +1,6 @@ - 1.0.2402.0809 + 1.0.2402.0813 http://nexus.steamware.net/repository/SWS/MagMan/stable/0/MagMan.UI.zip http://nexus.steamware.net/repository/SWS/MagMan/stable/0/ChangeLog.html false