GPW CORE SMART:
- Rimozione proj comp - inserito nupkg
This commit is contained in:
@@ -14,6 +14,100 @@ namespace GPW.CORE.Comp
|
||||
|
||||
#endregion Public Properties
|
||||
|
||||
#region Public Classes
|
||||
|
||||
/// <summary>
|
||||
/// Classe utility x toggle
|
||||
/// </summary>
|
||||
public class SelectGlobalToggle
|
||||
{
|
||||
#region Public Constructors
|
||||
|
||||
public SelectGlobalToggle()
|
||||
{ }
|
||||
|
||||
#endregion Public Constructors
|
||||
|
||||
#region Public Properties
|
||||
|
||||
/// <summary>
|
||||
/// Bool: indica se il toggleClosed � attivo
|
||||
/// </summary>
|
||||
public bool isActive { get; set; } = true;
|
||||
|
||||
/// <summary>
|
||||
/// string: stringa da mostrare a sinistra (disattivo onInitialize)
|
||||
/// </summary>
|
||||
public string leftString { get; set; } = "";
|
||||
|
||||
/// <summary>
|
||||
/// string: stile stringa da mostrare a sinistra (disattivo onInitialize)
|
||||
/// </summary>
|
||||
public string leftStringCSS { get; set; } = "";
|
||||
|
||||
/// <summary>
|
||||
/// CSS specifico x placard
|
||||
/// </summary>
|
||||
public string placardCss { get; set; } = "";
|
||||
|
||||
/// <summary>
|
||||
/// string: stringa da mostrare a destra (attivo onInitialize)
|
||||
/// </summary>
|
||||
public string rightString { get; set; } = "";
|
||||
|
||||
/// <summary>
|
||||
/// string: stile stringa da mostrare a destra (attivo onInitialize)
|
||||
/// </summary>
|
||||
public string rightStringCSS { get; set; } = "";
|
||||
|
||||
/// <summary>
|
||||
/// Parametro da mostrare in tooltip
|
||||
/// </summary>
|
||||
public string toolTip { get; set; } = "";
|
||||
|
||||
#endregion Public Properties
|
||||
|
||||
#region Public Methods
|
||||
|
||||
public override bool Equals(object obj)
|
||||
{
|
||||
if (!(obj is SelectGlobalToggle item))
|
||||
return false;
|
||||
|
||||
if (isActive != item.isActive)
|
||||
return false;
|
||||
|
||||
if (leftString != item.leftString)
|
||||
return false;
|
||||
|
||||
if (rightString != item.rightString)
|
||||
return false;
|
||||
|
||||
if (leftStringCSS != item.leftStringCSS)
|
||||
return false;
|
||||
|
||||
if (rightStringCSS != item.rightStringCSS)
|
||||
return false;
|
||||
|
||||
if (toolTip != item.toolTip)
|
||||
return false;
|
||||
|
||||
if (placardCss != item.placardCss)
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public override int GetHashCode()
|
||||
{
|
||||
return base.GetHashCode();
|
||||
}
|
||||
|
||||
#endregion Public Methods
|
||||
}
|
||||
|
||||
#endregion Public Classes
|
||||
|
||||
#region Protected Properties
|
||||
|
||||
protected bool isActive
|
||||
@@ -146,99 +240,5 @@ namespace GPW.CORE.Comp
|
||||
}
|
||||
|
||||
#endregion Private Methods
|
||||
|
||||
#region Public Classes
|
||||
|
||||
/// <summary>
|
||||
/// Classe utility x toggle
|
||||
/// </summary>
|
||||
public class SelectGlobalToggle
|
||||
{
|
||||
#region Public Constructors
|
||||
|
||||
public SelectGlobalToggle()
|
||||
{ }
|
||||
|
||||
#endregion Public Constructors
|
||||
|
||||
#region Public Properties
|
||||
|
||||
/// <summary>
|
||||
/// Bool: indica se il toggleClosed � attivo
|
||||
/// </summary>
|
||||
public bool isActive { get; set; } = true;
|
||||
|
||||
/// <summary>
|
||||
/// string: stringa da mostrare a sinistra (disattivo onInitialize)
|
||||
/// </summary>
|
||||
public string leftString { get; set; } = "";
|
||||
|
||||
/// <summary>
|
||||
/// string: stile stringa da mostrare a sinistra (disattivo onInitialize)
|
||||
/// </summary>
|
||||
public string leftStringCSS { get; set; } = "";
|
||||
|
||||
/// <summary>
|
||||
/// CSS specifico x placard
|
||||
/// </summary>
|
||||
public string placardCss { get; set; } = "";
|
||||
|
||||
/// <summary>
|
||||
/// string: stringa da mostrare a destra (attivo onInitialize)
|
||||
/// </summary>
|
||||
public string rightString { get; set; } = "";
|
||||
|
||||
/// <summary>
|
||||
/// string: stile stringa da mostrare a destra (attivo onInitialize)
|
||||
/// </summary>
|
||||
public string rightStringCSS { get; set; } = "";
|
||||
|
||||
/// <summary>
|
||||
/// Parametro da mostrare in tooltip
|
||||
/// </summary>
|
||||
public string toolTip { get; set; } = "";
|
||||
|
||||
#endregion Public Properties
|
||||
|
||||
#region Public Methods
|
||||
|
||||
public override bool Equals(object obj)
|
||||
{
|
||||
if (!(obj is SelectGlobalToggle item))
|
||||
return false;
|
||||
|
||||
if (isActive != item.isActive)
|
||||
return false;
|
||||
|
||||
if (leftString != item.leftString)
|
||||
return false;
|
||||
|
||||
if (rightString != item.rightString)
|
||||
return false;
|
||||
|
||||
if (leftStringCSS != item.leftStringCSS)
|
||||
return false;
|
||||
|
||||
if (rightStringCSS != item.rightStringCSS)
|
||||
return false;
|
||||
|
||||
if (toolTip != item.toolTip)
|
||||
return false;
|
||||
|
||||
if (placardCss != item.placardCss)
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public override int GetHashCode()
|
||||
{
|
||||
return base.GetHashCode();
|
||||
}
|
||||
|
||||
#endregion Public Methods
|
||||
}
|
||||
|
||||
#endregion Public Classes
|
||||
}
|
||||
}
|
||||
@@ -3,8 +3,6 @@ Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 17
|
||||
VisualStudioVersion = 17.4.33205.214
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "GPW.CORE.Comp", "GPW.CORE.Comp\GPW.CORE.Comp.csproj", "{056826D6-6B88-42AA-AD09-FC380955834D}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "GPW.CORE.Smart", "GPW.CORE.Smart\GPW.CORE.Smart.csproj", "{9E5A3295-08BF-4603-9FA3-D38A2F1100E5}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "GPW.CORE.Data", "GPW.CORE.Data\GPW.CORE.Data.csproj", "{32DE3E46-CCED-4F7E-8EC1-A854DA4F51C1}"
|
||||
@@ -15,10 +13,6 @@ Global
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{056826D6-6B88-42AA-AD09-FC380955834D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{056826D6-6B88-42AA-AD09-FC380955834D}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{056826D6-6B88-42AA-AD09-FC380955834D}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{056826D6-6B88-42AA-AD09-FC380955834D}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{9E5A3295-08BF-4603-9FA3-D38A2F1100E5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{9E5A3295-08BF-4603-9FA3-D38A2F1100E5}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{9E5A3295-08BF-4603-9FA3-D38A2F1100E5}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
|
||||
@@ -1,30 +1,20 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNetCore.Components;
|
||||
using System.Net.Http;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Components.Authorization;
|
||||
using Microsoft.AspNetCore.Components.Forms;
|
||||
using Microsoft.AspNetCore.Components.Routing;
|
||||
using Microsoft.AspNetCore.Components.Web;
|
||||
using Microsoft.AspNetCore.Components.Web.Virtualization;
|
||||
using Microsoft.JSInterop;
|
||||
using GPW.CORE.Comp;
|
||||
using GPW.CORE.Data.DbModels;
|
||||
using GPW.CORE.Smart;
|
||||
using GPW.CORE.Smart.Components;
|
||||
using GPW.CORE.Smart.Shared;
|
||||
using GPW.CORE.Smart.Data;
|
||||
using Microsoft.AspNetCore.Components;
|
||||
|
||||
namespace GPW.CORE.Smart.Components
|
||||
{
|
||||
public partial class AdminTask
|
||||
{
|
||||
#region Public Properties
|
||||
|
||||
[Parameter]
|
||||
public int IdxDipendente { get; set; } = 0;
|
||||
|
||||
#endregion Public Properties
|
||||
|
||||
#region Protected Methods
|
||||
|
||||
protected override async Task OnParametersSetAsync()
|
||||
{
|
||||
if (IdxDipendente > 0)
|
||||
@@ -34,9 +24,28 @@ namespace GPW.CORE.Smart.Components
|
||||
await InvokeAsync(StateHasChanged);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion Protected Methods
|
||||
|
||||
#region Private Fields
|
||||
|
||||
private bool isApprAdmin = false;
|
||||
|
||||
private bool isAuthKeyAdmin = false;
|
||||
|
||||
#endregion Private Fields
|
||||
|
||||
#region Private Properties
|
||||
|
||||
[Inject]
|
||||
private CoreSmartDataService CDService { get; set; } = null!;
|
||||
|
||||
private List<Dipendenti2RuoliModel>? listaRuoli { get; set; } = new List<Dipendenti2RuoliModel>();
|
||||
|
||||
#endregion Private Properties
|
||||
|
||||
#region Private Methods
|
||||
|
||||
private async Task ReloadData()
|
||||
{
|
||||
// verifico se il dip sia admin...
|
||||
@@ -48,12 +57,7 @@ namespace GPW.CORE.Smart.Components
|
||||
}
|
||||
}
|
||||
|
||||
private bool isAuthKeyAdmin = false;
|
||||
private bool isApprAdmin = false;
|
||||
|
||||
private List<Dipendenti2RuoliModel>? listaRuoli { get; set; } = new List<Dipendenti2RuoliModel>();
|
||||
|
||||
#region Private Methods
|
||||
#endregion Private Methods
|
||||
|
||||
//private async void MService_EA_DipUpdated()
|
||||
//{
|
||||
@@ -63,7 +67,5 @@ namespace GPW.CORE.Smart.Components
|
||||
// await Task.Delay(1);
|
||||
// await InvokeAsync(StateHasChanged);
|
||||
//}
|
||||
|
||||
#endregion Private Methods
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,3 @@
|
||||
using GPW.CORE.Comp;
|
||||
using GPW.CORE.Data;
|
||||
using GPW.CORE.Data.DbModels;
|
||||
using GPW.CORE.Data.DTO;
|
||||
@@ -219,7 +218,7 @@ namespace GPW.CORE.Smart.Components
|
||||
{
|
||||
var remoteIp = $"{httpContextAccessor.HttpContext.Connection?.RemoteIpAddress}";
|
||||
// provo a recuperare ipV4...
|
||||
ipv4 = IpUtils.getLocalIpv4(remoteIp);
|
||||
ipv4 = Egw.Core.Razor.Comp.Data.IpUtils.getLocalIpv4(remoteIp);
|
||||
}
|
||||
}
|
||||
// arrotondo ingresso/uscita ai 5 minuti secondo sia entrata o uscita...
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using GPW.CORE.Comp;
|
||||
using Egw.Core.Razor.Comp.Data;
|
||||
using GPW.CORE.Data.DbModels;
|
||||
using GPW.CORE.Smart.Data;
|
||||
using Microsoft.AspNetCore.Components;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using GPW.CORE.Comp;
|
||||
using Egw.Core.Razor.Comp.Data;
|
||||
using GPW.CORE.Data.DbModels;
|
||||
using GPW.CORE.Smart.Data;
|
||||
using Microsoft.AspNetCore.Components;
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
using Egw.Core.Razor.Comp;
|
||||
using GPW.CORE.Data.DbModels;
|
||||
using GPW.CORE.Smart.Data;
|
||||
using Microsoft.AspNetCore.Components;
|
||||
using System.Text;
|
||||
using static GPW.CORE.Comp.Toggler;
|
||||
|
||||
namespace GPW.CORE.Smart.Components
|
||||
{
|
||||
@@ -59,7 +59,7 @@ namespace GPW.CORE.Smart.Components
|
||||
[Inject]
|
||||
private MessageService MService { get; set; } = null!;
|
||||
|
||||
private SelectGlobalToggle ToggleData { get; set; } = new SelectGlobalToggle();
|
||||
private Toggler.SelectGlobalToggle ToggleData { get; set; } = new Toggler.SelectGlobalToggle();
|
||||
|
||||
private string UrlLinkExt { get; set; } = "";
|
||||
|
||||
@@ -141,7 +141,7 @@ namespace GPW.CORE.Smart.Components
|
||||
await Task.Delay(1);
|
||||
}
|
||||
|
||||
private async Task evToggled(SelectGlobalToggle newTogData)
|
||||
private async Task evToggled(Toggler.SelectGlobalToggle newTogData)
|
||||
{
|
||||
ToggleData = newTogData;
|
||||
forceResetAuthKey = !ToggleData.isActive;
|
||||
@@ -161,7 +161,7 @@ namespace GPW.CORE.Smart.Components
|
||||
|
||||
private void initToggler()
|
||||
{
|
||||
ToggleData = new SelectGlobalToggle()
|
||||
ToggleData = new Toggler.SelectGlobalToggle()
|
||||
{
|
||||
leftString = "Reset + Invio",
|
||||
rightString = "Solo Invio",
|
||||
|
||||
@@ -5,6 +5,15 @@ namespace GPW.CORE.Smart.Components
|
||||
{
|
||||
public partial class NavBottom
|
||||
{
|
||||
#region Protected Fields
|
||||
|
||||
protected string hideButtonCSS = "visible";
|
||||
protected string hideMenuCSS = "hidden";
|
||||
protected bool isVisible = false;
|
||||
protected Version? version = typeof(Program).Assembly.GetName().Version;
|
||||
|
||||
#endregion Protected Fields
|
||||
|
||||
#region Protected Properties
|
||||
|
||||
protected bool isActive { get; set; } = false;
|
||||
@@ -51,8 +60,6 @@ namespace GPW.CORE.Smart.Components
|
||||
hideButtonCSS = "visible";
|
||||
}
|
||||
|
||||
protected bool isVisible = false;
|
||||
|
||||
protected void showMenu()
|
||||
{
|
||||
if (MService.IdxDipendente > 0)
|
||||
@@ -74,13 +81,5 @@ namespace GPW.CORE.Smart.Components
|
||||
}
|
||||
|
||||
#endregion Protected Methods
|
||||
|
||||
#region Private Fields
|
||||
|
||||
private string hideButtonCSS = "visible";
|
||||
private string hideMenuCSS = "hidden";
|
||||
private Version? version = typeof(Program).Assembly.GetName().Version;
|
||||
|
||||
#endregion Private Fields
|
||||
}
|
||||
}
|
||||
@@ -1,22 +1,7 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNetCore.Components;
|
||||
using System.Net.Http;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Components.Authorization;
|
||||
using Microsoft.AspNetCore.Components.Forms;
|
||||
using Microsoft.AspNetCore.Components.Routing;
|
||||
using Microsoft.AspNetCore.Components.Web;
|
||||
using Microsoft.AspNetCore.Components.Web.Virtualization;
|
||||
using Microsoft.JSInterop;
|
||||
using GPW.CORE.Comp;
|
||||
using GPW.CORE.Data.DbModels;
|
||||
using GPW.CORE.Smart;
|
||||
using GPW.CORE.Smart.Components;
|
||||
using GPW.CORE.Smart.Shared;
|
||||
using GPW.CORE.Smart.Data;
|
||||
using Microsoft.AspNetCore.Components;
|
||||
using Microsoft.JSInterop;
|
||||
using NLog;
|
||||
using System.Diagnostics;
|
||||
|
||||
@@ -24,46 +9,8 @@ namespace GPW.CORE.Smart.Components
|
||||
{
|
||||
public partial class RegAttEditor
|
||||
{
|
||||
#region Protected Fields
|
||||
|
||||
protected string _gruppoSel = "";
|
||||
protected int _idxProj = 0;
|
||||
protected bool vetoUpd = false;
|
||||
|
||||
#endregion Protected Fields
|
||||
|
||||
#region Private Properties
|
||||
|
||||
[Inject]
|
||||
private MessageService AppMServ { get; set; } = null!;
|
||||
|
||||
[Inject]
|
||||
private IJSRuntime JSRuntime { get; set; } = null!;
|
||||
|
||||
private bool VetoInsert
|
||||
{
|
||||
get => CDService.VetoInsert;
|
||||
}
|
||||
|
||||
#endregion Private Properties
|
||||
|
||||
#region Protected Properties
|
||||
|
||||
protected List<AnagFasiModel> fasiList { get; set; } = new List<AnagFasiModel>();
|
||||
|
||||
[Inject]
|
||||
protected CoreSmartDataService CDService { get; set; } = null!;
|
||||
|
||||
protected List<AnagGruppiModel> gruppiList { get; set; } = new List<AnagGruppiModel>();
|
||||
protected List<AnagProgettiModel> projList { get; set; } = new List<AnagProgettiModel>();
|
||||
|
||||
#endregion Protected Properties
|
||||
|
||||
#region Public Properties
|
||||
|
||||
|
||||
private static Logger Log = LogManager.GetCurrentClassLogger();
|
||||
|
||||
[Parameter]
|
||||
public RegAttivitaModel? currRecord
|
||||
{
|
||||
@@ -89,7 +36,6 @@ namespace GPW.CORE.Smart.Components
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
// effettuo selezione manuale...
|
||||
var currFase = await CDService.AnagFasiByKey(value.IdxFase);
|
||||
if (currFase != null)
|
||||
@@ -132,26 +78,6 @@ namespace GPW.CORE.Smart.Components
|
||||
}
|
||||
}
|
||||
|
||||
protected int idxFase
|
||||
{
|
||||
get
|
||||
{
|
||||
int answ = 0;
|
||||
if (currRecord != null)
|
||||
{
|
||||
answ = currRecord.IdxFase;
|
||||
}
|
||||
return answ;
|
||||
}
|
||||
set
|
||||
{
|
||||
if (currRecord != null)
|
||||
{
|
||||
currRecord.IdxFase = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public int idxProj
|
||||
{
|
||||
get
|
||||
@@ -177,47 +103,46 @@ namespace GPW.CORE.Smart.Components
|
||||
|
||||
#endregion Public Properties
|
||||
|
||||
#region Private Methods
|
||||
#region Protected Fields
|
||||
|
||||
private void arrotondaMinuti()
|
||||
{
|
||||
if (currRecord != null)
|
||||
{
|
||||
// arrotondo ai 5 min...
|
||||
currRecord.Inizio = CORE.Data.Utils.DateRounded(currRecord.Inizio.AddMinutes(2), 5, true);
|
||||
// arrotondo ai 5 min...
|
||||
currRecord.Fine = CORE.Data.Utils.DateRounded(currRecord.Fine.AddMinutes(2), 5, true);
|
||||
checkCoerenzaDate(true);
|
||||
}
|
||||
}
|
||||
protected string _gruppoSel = "";
|
||||
protected int _idxProj = 0;
|
||||
protected bool vetoUpd = false;
|
||||
|
||||
/// <summary>
|
||||
/// Verifico coerenza date (inizio < fine)
|
||||
/// </summary>
|
||||
/// <param name="modInizio">indica se la data modificata sia l'inizio</param>
|
||||
private void checkCoerenzaDate(bool modInizio)
|
||||
#endregion Protected Fields
|
||||
|
||||
#region Protected Properties
|
||||
|
||||
[Inject]
|
||||
protected CoreSmartDataService CDService { get; set; } = null!;
|
||||
|
||||
protected List<AnagFasiModel> fasiList { get; set; } = new List<AnagFasiModel>();
|
||||
|
||||
protected List<AnagGruppiModel> gruppiList { get; set; } = new List<AnagGruppiModel>();
|
||||
|
||||
protected int idxFase
|
||||
{
|
||||
bool inError = false;
|
||||
// verifica presenza errori
|
||||
if (currRecord != null)
|
||||
get
|
||||
{
|
||||
inError = currRecord.Inizio >= currRecord.Fine;
|
||||
if (inError)
|
||||
int answ = 0;
|
||||
if (currRecord != null)
|
||||
{
|
||||
// se ho mod inizio --> tengo ferma fine, inizio 1/2 h prima
|
||||
if (modInizio)
|
||||
{
|
||||
currRecord.Inizio = currRecord.Fine.AddMinutes(-30);
|
||||
}
|
||||
else
|
||||
{
|
||||
currRecord.Fine = currRecord.Inizio.AddMinutes(30);
|
||||
}
|
||||
answ = currRecord.IdxFase;
|
||||
}
|
||||
return answ;
|
||||
}
|
||||
set
|
||||
{
|
||||
if (currRecord != null)
|
||||
{
|
||||
currRecord.IdxFase = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endregion Private Methods
|
||||
protected List<AnagProgettiModel> projList { get; set; } = new List<AnagProgettiModel>();
|
||||
|
||||
#endregion Protected Properties
|
||||
|
||||
#region Protected Methods
|
||||
|
||||
@@ -378,5 +303,66 @@ namespace GPW.CORE.Smart.Components
|
||||
}
|
||||
|
||||
#endregion Protected Methods
|
||||
|
||||
#region Private Fields
|
||||
|
||||
private static Logger Log = LogManager.GetCurrentClassLogger();
|
||||
|
||||
#endregion Private Fields
|
||||
|
||||
#region Private Properties
|
||||
|
||||
[Inject]
|
||||
private MessageService AppMServ { get; set; } = null!;
|
||||
|
||||
[Inject]
|
||||
private IJSRuntime JSRuntime { get; set; } = null!;
|
||||
|
||||
private bool VetoInsert
|
||||
{
|
||||
get => CDService.VetoInsert;
|
||||
}
|
||||
|
||||
#endregion Private Properties
|
||||
|
||||
#region Private Methods
|
||||
|
||||
private void arrotondaMinuti()
|
||||
{
|
||||
if (currRecord != null)
|
||||
{
|
||||
// arrotondo ai 5 min...
|
||||
currRecord.Inizio = CORE.Data.Utils.DateRounded(currRecord.Inizio.AddMinutes(2), 5, true);
|
||||
// arrotondo ai 5 min...
|
||||
currRecord.Fine = CORE.Data.Utils.DateRounded(currRecord.Fine.AddMinutes(2), 5, true);
|
||||
checkCoerenzaDate(true);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary> Verifico coerenza date (inizio < fine) </summary> <param
|
||||
/// name="modInizio">indica se la data modificata sia l'inizio</param>
|
||||
private void checkCoerenzaDate(bool modInizio)
|
||||
{
|
||||
bool inError = false;
|
||||
// verifica presenza errori
|
||||
if (currRecord != null)
|
||||
{
|
||||
inError = currRecord.Inizio >= currRecord.Fine;
|
||||
if (inError)
|
||||
{
|
||||
// se ho mod inizio --> tengo ferma fine, inizio 1/2 h prima
|
||||
if (modInizio)
|
||||
{
|
||||
currRecord.Inizio = currRecord.Fine.AddMinutes(-30);
|
||||
}
|
||||
else
|
||||
{
|
||||
currRecord.Fine = currRecord.Inizio.AddMinutes(30);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endregion Private Methods
|
||||
}
|
||||
}
|
||||
@@ -1,22 +1,7 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNetCore.Components;
|
||||
using System.Net.Http;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Components.Authorization;
|
||||
using Microsoft.AspNetCore.Components.Forms;
|
||||
using Microsoft.AspNetCore.Components.Routing;
|
||||
using Microsoft.AspNetCore.Components.Web;
|
||||
using Microsoft.AspNetCore.Components.Web.Virtualization;
|
||||
using Microsoft.JSInterop;
|
||||
using GPW.CORE.Comp;
|
||||
using GPW.CORE.Data.DbModels;
|
||||
using GPW.CORE.Smart;
|
||||
using GPW.CORE.Smart.Components;
|
||||
using GPW.CORE.Smart.Shared;
|
||||
using GPW.CORE.Smart.Data;
|
||||
using Microsoft.AspNetCore.Components;
|
||||
using Microsoft.JSInterop;
|
||||
|
||||
namespace GPW.CORE.Smart.Components
|
||||
{
|
||||
@@ -42,6 +27,9 @@ namespace GPW.CORE.Smart.Components
|
||||
}
|
||||
}
|
||||
|
||||
[Parameter]
|
||||
public EventCallback<bool> ReportUpdate { get; set; }
|
||||
|
||||
#endregion Public Properties
|
||||
|
||||
#region Protected Fields
|
||||
@@ -141,9 +129,6 @@ namespace GPW.CORE.Smart.Components
|
||||
isSendingData = false;
|
||||
}
|
||||
|
||||
[Parameter]
|
||||
public EventCallback<bool> ReportUpdate { get; set; }
|
||||
|
||||
private async Task ReloadData()
|
||||
{
|
||||
ListRecords = null;
|
||||
|
||||
@@ -49,9 +49,12 @@ else
|
||||
<div class="input-group input-group-sm">
|
||||
<select @bind="@CodGiust" class="form-select">
|
||||
<option value="">--- Selezionare Causale ---</option>
|
||||
@foreach (var giust in ListGiust)
|
||||
@if (ListGiust != null)
|
||||
{
|
||||
<option value="@giust.codGiust">@giust.descrizione</option>
|
||||
@foreach (var giust in ListGiust)
|
||||
{
|
||||
<option value="@giust.codGiust">@giust.descrizione</option>
|
||||
}
|
||||
}
|
||||
</select>
|
||||
</div>
|
||||
|
||||
@@ -11,7 +11,6 @@ using Microsoft.AspNetCore.Components.Routing;
|
||||
using Microsoft.AspNetCore.Components.Web;
|
||||
using Microsoft.AspNetCore.Components.Web.Virtualization;
|
||||
using Microsoft.JSInterop;
|
||||
using GPW.CORE.Comp;
|
||||
using GPW.CORE.Data.DbModels;
|
||||
using GPW.CORE.Smart;
|
||||
using GPW.CORE.Smart.Components;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using GPW.CORE.Comp;
|
||||
using Egw.Core.Razor.Comp.Data;
|
||||
using Microsoft.AspNetCore.Components;
|
||||
|
||||
namespace GPW.CORE.Smart.Components
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
using Egw.Core.Razor.Comp;
|
||||
using GPW.CORE.Data.DbModels;
|
||||
using GPW.CORE.Smart.Data;
|
||||
using Microsoft.AspNetCore.Components;
|
||||
using Microsoft.JSInterop;
|
||||
using static GPW.CORE.Comp.Toggler;
|
||||
|
||||
namespace GPW.CORE.Smart.Components
|
||||
{
|
||||
@@ -80,7 +80,7 @@ namespace GPW.CORE.Smart.Components
|
||||
|
||||
private DipendentiModel? recordDip { get; set; } = null;
|
||||
|
||||
private SelectGlobalToggle ToggleData { get; set; } = new SelectGlobalToggle();
|
||||
private Toggler.SelectGlobalToggle ToggleData { get; set; } = new Toggler.SelectGlobalToggle();
|
||||
|
||||
private string UrlLinkExt { get; set; } = "";
|
||||
|
||||
@@ -90,7 +90,7 @@ namespace GPW.CORE.Smart.Components
|
||||
|
||||
#region Private Methods
|
||||
|
||||
private async Task evToggled(SelectGlobalToggle newTogData)
|
||||
private async Task evToggled(Toggler.SelectGlobalToggle newTogData)
|
||||
{
|
||||
ToggleData = newTogData;
|
||||
await Task.Delay(1);
|
||||
@@ -109,7 +109,7 @@ namespace GPW.CORE.Smart.Components
|
||||
|
||||
private void initToggler()
|
||||
{
|
||||
ToggleData = new SelectGlobalToggle()
|
||||
ToggleData = new Toggler.SelectGlobalToggle()
|
||||
{
|
||||
leftString = "Link Esterno",
|
||||
rightString = "Link Interno",
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using GPW.CORE.Comp;
|
||||
using Egw.Core.Razor.Comp.Data;
|
||||
using GPW.CORE.Data.DbModels;
|
||||
using GPW.CORE.Data.DTO;
|
||||
using Microsoft.AspNetCore.Identity.UI.Services;
|
||||
@@ -647,7 +647,7 @@ namespace GPW.CORE.Smart.Data
|
||||
return dbResult;
|
||||
}
|
||||
|
||||
public string DeriptData(string encData)
|
||||
public string DecriptData(string encData)
|
||||
{
|
||||
return SteamCrypto.DecryptString(encData, passPhrase);
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
<Nullable>enable</Nullable>
|
||||
<Version>3.0.2301.2518</Version>
|
||||
<Version>3.0.2302.0216</Version>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<PackageProjectUrl>www.egalware.com</PackageProjectUrl>
|
||||
<Description>GPW Smart UI</Description>
|
||||
@@ -26,12 +26,12 @@
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Blazored.LocalStorage" Version="4.2.0" />
|
||||
<PackageReference Include="Blazored.SessionStorage" Version="2.3.0" />
|
||||
<PackageReference Include="Egw.Core.Razor.Comp" Version="1.0.2302.216" />
|
||||
<PackageReference Include="RestSharp" Version="108.0.1" />
|
||||
<PackageReference Include="StackExchange.Redis" Version="2.6.86" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\GPW.CORE.Comp\GPW.CORE.Comp.csproj" />
|
||||
<ProjectReference Include="..\GPW.CORE.Data\GPW.CORE.Data.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
|
||||
@@ -1,21 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNetCore.Components;
|
||||
using System.Net.Http;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Components.Authorization;
|
||||
using Microsoft.AspNetCore.Components.Forms;
|
||||
using Microsoft.AspNetCore.Components.Routing;
|
||||
using Microsoft.AspNetCore.Components.Web;
|
||||
using Microsoft.AspNetCore.Components.Web.Virtualization;
|
||||
using Microsoft.JSInterop;
|
||||
using GPW.CORE.Comp;
|
||||
using GPW.CORE.Data.DbModels;
|
||||
using GPW.CORE.Smart;
|
||||
using GPW.CORE.Smart.Components;
|
||||
using GPW.CORE.Smart.Shared;
|
||||
|
||||
namespace GPW.CORE.Smart.Pages
|
||||
{
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
using GPW.CORE.Comp;
|
||||
using Egw.Core.Razor.Comp;
|
||||
using Egw.Core.Razor.Comp.Data;
|
||||
using GPW.CORE.Data.DbModels;
|
||||
using GPW.CORE.Smart.Data;
|
||||
using Microsoft.AspNetCore.Components;
|
||||
using static GPW.CORE.Comp.Toggler;
|
||||
|
||||
namespace GPW.CORE.Smart.Pages
|
||||
{
|
||||
@@ -114,9 +114,9 @@ namespace GPW.CORE.Smart.Pages
|
||||
|
||||
private bool showRichieste { get; set; } = false;
|
||||
|
||||
private SelectGlobalToggle ToggleShow { get; set; } = new SelectGlobalToggle();
|
||||
private Toggler.SelectGlobalToggle ToggleShow { get; set; } = new Toggler.SelectGlobalToggle();
|
||||
|
||||
private SelectGlobalToggle ToggleTipo { get; set; } = new SelectGlobalToggle();
|
||||
private Toggler.SelectGlobalToggle ToggleTipo { get; set; } = new Toggler.SelectGlobalToggle();
|
||||
|
||||
#endregion Private Properties
|
||||
|
||||
@@ -184,14 +184,14 @@ namespace GPW.CORE.Smart.Pages
|
||||
MService.ReportDateChange();
|
||||
}
|
||||
|
||||
private async Task evTogShow(SelectGlobalToggle newTogData)
|
||||
private async Task evTogShow(Toggler.SelectGlobalToggle newTogData)
|
||||
{
|
||||
ToggleShow = newTogData;
|
||||
showRichieste = !ToggleShow.isActive;
|
||||
await Task.Delay(1);
|
||||
}
|
||||
|
||||
private async Task evTogTipo(SelectGlobalToggle newTogData)
|
||||
private async Task evTogTipo(Toggler.SelectGlobalToggle newTogData)
|
||||
{
|
||||
ToggleTipo = newTogData;
|
||||
showMalattie = !ToggleTipo.isActive;
|
||||
@@ -206,13 +206,13 @@ namespace GPW.CORE.Smart.Pages
|
||||
|
||||
private void initToggler()
|
||||
{
|
||||
ToggleTipo = new SelectGlobalToggle()
|
||||
ToggleTipo = new Toggler.SelectGlobalToggle()
|
||||
{
|
||||
leftString = "Malattie",
|
||||
rightString = "Ferie e Permessi",
|
||||
placardCss = "bg-light border-light text-dark",
|
||||
};
|
||||
ToggleShow = new SelectGlobalToggle()
|
||||
ToggleShow = new Toggler.SelectGlobalToggle()
|
||||
{
|
||||
leftString = "Mostra Richieste",
|
||||
rightString = "Solo Calendario",
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using GPW.CORE.Comp;
|
||||
using Egw.Core.Razor.Comp.Data;
|
||||
using GPW.CORE.Smart.Data;
|
||||
using Microsoft.AspNetCore.Components;
|
||||
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
using GPW.CORE.Comp;
|
||||
using GPW.CORE.Smart.Data;
|
||||
using Microsoft.AspNetCore.Components;
|
||||
|
||||
@@ -6,12 +5,15 @@ namespace GPW.CORE.Smart.Pages
|
||||
{
|
||||
public partial class Index : IDisposable
|
||||
{
|
||||
#region Protected Properties
|
||||
#region Public Methods
|
||||
|
||||
[Inject]
|
||||
private MessageService MService { get; set; } = null!;
|
||||
public void Dispose()
|
||||
{
|
||||
MService.EA_DipUpdated -= MService_EA_DipUpdated;
|
||||
GC.Collect();
|
||||
}
|
||||
|
||||
#endregion Protected Properties
|
||||
#endregion Public Methods
|
||||
|
||||
#region Protected Methods
|
||||
|
||||
@@ -25,18 +27,14 @@ namespace GPW.CORE.Smart.Pages
|
||||
|
||||
#region Private Properties
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
MService.EA_DipUpdated -= MService_EA_DipUpdated;
|
||||
GC.Collect();
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// IdxDipCurr
|
||||
/// </summary>
|
||||
private int idxDipendente { get; set; } = 0;
|
||||
|
||||
[Inject]
|
||||
private MessageService MService { get; set; } = null!;
|
||||
|
||||
#endregion Private Properties
|
||||
|
||||
#region Private Methods
|
||||
|
||||
@@ -1,12 +1,10 @@
|
||||
using GPW.CORE.Comp;
|
||||
using Egw.Core.Razor.Comp.Data;
|
||||
using GPW.CORE.Data.DbModels;
|
||||
using GPW.CORE.Smart.Data;
|
||||
using Microsoft.AspNetCore.Components;
|
||||
using Microsoft.AspNetCore.WebUtilities;
|
||||
using Microsoft.JSInterop;
|
||||
using NLog;
|
||||
using Org.BouncyCastle.Asn1;
|
||||
using System.Net;
|
||||
|
||||
namespace GPW.CORE.Smart.Pages
|
||||
{
|
||||
@@ -133,7 +131,7 @@ namespace GPW.CORE.Smart.Pages
|
||||
if (currDip.AuthKey == authKey)
|
||||
{
|
||||
// creo la DeviceSecret
|
||||
devSec = CDService.EncriptData($"{rndTxt01}|{dtData}|{idxDipendente}|{devIp}|{rndTxt02}");
|
||||
devSec = CDService.EncriptData($"{rndTxt01}|{dtData}|{idxDipendente}|{devIp}|{rndTxt02}");
|
||||
// ...e la salvo sul DB
|
||||
AnagDeviceModel newDev = new AnagDeviceModel()
|
||||
{
|
||||
|
||||
@@ -1,20 +1,3 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNetCore.Components;
|
||||
using System.Net.Http;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Components.Authorization;
|
||||
using Microsoft.AspNetCore.Components.Forms;
|
||||
using Microsoft.AspNetCore.Components.Routing;
|
||||
using Microsoft.AspNetCore.Components.Web;
|
||||
using Microsoft.AspNetCore.Components.Web.Virtualization;
|
||||
using Microsoft.JSInterop;
|
||||
using GPW.CORE.Smart;
|
||||
using GPW.CORE.Smart.Shared;
|
||||
using GPW.CORE.Comp;
|
||||
|
||||
namespace GPW.CORE.Smart.Pages
|
||||
{
|
||||
public partial class RegNewDevice
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
@using Microsoft.AspNetCore.Components.Web
|
||||
@using Microsoft.AspNetCore.Components.Web.Virtualization
|
||||
@using Microsoft.JSInterop
|
||||
@using GPW.CORE.Comp
|
||||
@using Egw.Core.Razor.Comp
|
||||
@using GPW.CORE.Data.DbModels
|
||||
@using GPW.CORE.Smart
|
||||
@using GPW.CORE.Smart.Components
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<body>
|
||||
<i>GPW - Gestione Presenze Web</i>
|
||||
<h4>Versione: 3.0.2301.2711</h4>
|
||||
<h4>Versione: 3.0.2302.0216</h4>
|
||||
<br /> Note di rilascio:
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
@@ -1 +1 @@
|
||||
3.0.2301.2711
|
||||
3.0.2302.0216
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<item>
|
||||
<version>3.0.2301.2711</version>
|
||||
<url>http://nexus.steamware.net/repository/SWS/GPW/stable/GPW.UI.zip</url>
|
||||
<version>3.0.2302.0216</version>
|
||||
<url>http://nexus.steamware.net/repository/SWS/GPW/stable/GPW.Smart.zip</url>
|
||||
<changelog>http://nexus.steamware.net/repository/SWS/GPW/stable/ChangeLog.html</changelog>
|
||||
<mandatory>false</mandatory>
|
||||
</item>
|
||||
|
||||
Reference in New Issue
Block a user