75 lines
2.5 KiB
C#
75 lines
2.5 KiB
C#
using SteamWare;
|
|
using System;
|
|
|
|
namespace GPW_data
|
|
{
|
|
/// <summary>
|
|
/// classe di gestioen eventi timbratrice
|
|
/// </summary>
|
|
public class timbratrice
|
|
{
|
|
#region Public Methods
|
|
|
|
/// <summary>
|
|
/// registra una timbratura per il dipendente indicato
|
|
/// </summary>
|
|
/// <param name="idxDipendente"></param>
|
|
/// <returns></returns>
|
|
public static bool nextIsEntrata(int idxDipendente)
|
|
{
|
|
bool answ = true;
|
|
try
|
|
{
|
|
// controllo dipendente
|
|
if (idxDipendente > 0)
|
|
{
|
|
// ricavo ultima timbratura..
|
|
DS_Applicazione.TimbratureRow rigaTimb = DataProxy.DP.taTimb.getLastByDip(idxDipendente)[0];
|
|
if (rigaTimb != null)
|
|
{
|
|
// calcolo vero valore
|
|
answ = !rigaTimb.entrata;
|
|
// controllo: se è la prima timbratura del giorno (cioé l'ultima è di ieri)
|
|
if (rigaTimb.dataOra.Date < DateTime.Now.Date)
|
|
{
|
|
// controllo: se è richiesto da config di forzare la prima ad entrata
|
|
if (memLayer.ML.confReadBool("firstIsIN"))
|
|
{
|
|
// --> indico che è COMUNQUE entrata
|
|
answ = true;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
catch
|
|
{ }
|
|
return answ;
|
|
}
|
|
|
|
/// <summary>
|
|
/// registra una timbratura per il dipendente indicato
|
|
/// </summary>
|
|
/// <param name="idxDipendente"></param>
|
|
/// <param name="dataOra"></param>
|
|
/// <param name="isEntrata"></param>
|
|
/// <param name="ip"></param>
|
|
/// <param name="tipoTimbr"></param>
|
|
/// <param name="approvata"></param>
|
|
/// <returns></returns>
|
|
public static bool registraTimbratura(int idxDipendente, DateTime dataOra, bool isEntrata, string ip, string tipoTimbr, bool approvata)
|
|
{
|
|
bool answ = false;
|
|
try
|
|
{
|
|
DataProxy.DP.taTimb.stp_insTimbMan(idxDipendente, dataOra, isEntrata, ip, tipoTimbr, approvata);
|
|
answ = true;
|
|
}
|
|
catch
|
|
{ }
|
|
return answ;
|
|
}
|
|
|
|
#endregion Public Methods
|
|
}
|
|
} |