/// <summary> /// verifica che presentdatacontext sia attivo /// </summary> /// <returns></returns> private bool PresentDataContextIsAlive() { try { // verifica se è ancora vivo... if (context.RawData.QueryDatabase("select DipID from Dipendenti where dipid=-44").Rows.Count == 0) { return(true); } else { // C'è l'ID -44? Strano... :) ma comunque ha risposto... return(true); } } catch (Exception) { context = null; return(false); } }
/// <summary> /// se necessario effettua il refresh del login /// </summary> /// <param name="First"></param> private void CheckLoggedTime(bool First = false) { try { if (DateTime.Now.Subtract(LoggedTime).TotalHours >= param.MaxLoggedHours || !PresentDataContextIsAlive()) { context = null; context = new PresentDataContext(param.UserName, param.Password, Environment.MachineName, true); LoggedTime = DateTime.Now; if (First) { logger.Info("PresentDataContext avviato"); } else { logger.Info("PresentDataContext resettato e riavviato"); } } } catch (Exception ex) { logger.Error(ex, "Errore durante l'avvio di PresentDataContext"); } }