using GPW_data; using SteamWare; using System; using System.Linq; namespace GPW_Admin { public class BaseUserControl : System.Web.UI.UserControl { #region Public Events /// /// Generico evento di richiesta AddNew /// public event EventHandler eh_addNew; /// /// Generico evento di richiesta refresh a parent /// public event EventHandler eh_doRefresh; /// /// Generico evento di richiesta refresh a parent /// public event EventHandler eh_doReset; #endregion Public Events #region Public Properties /// /// pagina corrente (URL finale) /// public string _paginaCorrente { get; set; } /// /// controllo stato licenze! /// public bool chkLicOk => doChkLicOk(); #endregion Public Properties #region Public Methods /// /// Verifica se il valore sia > limitValue /// /// /// /// /// public bool betweenVal(object _valore, double minVal, double maxVal) { bool answ = false; if (_valore != null) { double valore = 0; _ = double.TryParse(_valore.ToString(), out valore); answ = valore <= maxVal && valore >= minVal; } return answ; } /// /// Verifica se il valore sia > limitValue /// /// /// /// public bool gtVal(object _valore, double maxVal) { bool answ = false; if (_valore != null) { double valore = 0; _ = double.TryParse(_valore.ToString(), out valore); answ = valore > maxVal; } return answ; } /// /// Verifica se il valore sia > 0 /// /// /// public bool gtZero(object _valore) { bool answ = false; if (_valore != null) { decimal valore = 0; _ = decimal.TryParse(_valore.ToString(), out valore); answ = valore > 0; } return answ; } /// /// risponde alla domanda se l'utente abbia permesso tipo writable (S) nel permessi2funzione /// /// public bool isWritable() { bool answ = false; if (_paginaCorrente == null) { PagCorrente(); } answ = user_std.UtSn.isPageWriteEnabled(_paginaCorrente) && chkLicOk; return answ; } /// Verifica se il valore sia < minVal /// public bool ltVal(object _valore, double minVal) { bool answ = false; if (_valore != null) { double valore = 0; _ = double.TryParse(_valore.ToString(), out valore); answ = valore < minVal; } return answ; } /// /// Chiamata evento add New /// public void raiseAddNew() { // se qualcuno ascolta sollevo evento nuovo valore... if (eh_addNew != null) { eh_addNew(this, new EventArgs()); } } /// /// Chiamata evento /// public void raiseEvent() { // se qualcuno ascolta sollevo evento nuovo valore... if (eh_doRefresh != null) { eh_doRefresh(this, new EventArgs()); } } /// /// Chiamata evento /// public void raiseReset() { // se qualcuno ascolta sollevo evento nuovo valore... if (eh_doReset != null) { eh_doReset(this, new EventArgs()); } } /// /// converte valore in booleano /// /// /// public bool toBool(object valore) { bool answ = false; string strVal = $"{valore}"; // se è lungh 1 (0/1) converto 0=false, 1 = true... if (strVal.Length == 1) { answ = strVal == "1" ? true : false; } else { // se è un valore testuale --> converisone boolean bool.TryParse($"{valore}", out answ); } return answ; } /// /// effettua traduzione del lemma /// /// /// public string traduci(string lemma) { return user_std.UtSn.Traduci(lemma); } /// /// wrapper traduzione /// /// /// public string traduci(object lemma) { string answ = ""; if (lemma != null) answ = traduci(lemma.ToString()); return answ; } #endregion Public Methods #region Protected Properties protected DS_Applicazione.DipendentiDataTable listaDip { get; set; } #endregion Protected Properties #region Protected Methods /// /// Calcola email del responsabile dato idx /// /// /// protected string emailResp(int idxResp) { string answ = ""; // recupero email resp... if (idxResp > 0) { var recResp = listaDip.FirstOrDefault(x => x.idxDipendente == idxResp); if (recResp != null) { answ = $"{recResp.email}"; } } return answ; } /// /// salva in variabile pagina il nome della pagina corrente /// protected void PagCorrente() { Uri MyUrl = Request.Url; string delimStr = "/"; char[] delimiter = delimStr.ToCharArray(); string[] finalUrl = MyUrl.LocalPath.ToString().Split(delimiter); int n = finalUrl.Length; _paginaCorrente = finalUrl[n - 1].ToString(); } #endregion Protected Methods #region Private Methods /// /// controllo stato licenze! /// private bool doChkLicOk() { return (licenzeGPW.checkLicenze && licenzeGPW.checkPayload); } #endregion Private Methods } }