using SteamWare;
using System;
using System.Web.UI;

namespace GMW.WebUserControls
{
    public partial class mod_clock : SteamWare.UserControl
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                contatorePag = 0;
                setClock();
                setTimer();
            }
        }
        /// <summary>
        /// url cui redirigere la pagina
        /// </summary>
        public string redirectUrl { get; set; }
        /// <summary>
        /// imposta il tempo di scadenza del timer x il refresh della pagina per refresh orario mostrato
        /// </summary>
        private void setTimer()
        {
            Timer1.Interval = memLayer.ML.confReadInt("intUpdateClock_ms");
        }
        protected void Timer1_Tick(object sender, EventArgs e)
        {
            setClock();
        }
        protected int contatorePag
        {
            get
            {
                return memLayer.ML.IntSessionObj("numChiamateClock");
            }
            set
            {
                memLayer.ML.setSessionVal("numChiamateClock", value);
            }
        }
        private void setClock()
        {
            // controllo numero di "ri-chiamate": ogni tot (std = 100, 100sec di default quindi) ricarico pagina
            if (contatorePag < memLayer.ML.confReadInt("maxRefreshToReload"))
            {
                contatorePag++;
            }
            else
            {
                contatorePag = 0;
                if (memLayer.ML.confReadInt("_logLevel") > 6)
                {
                    logger.lg.scriviLog("Scaduto timer, ricarico pagina", tipoLog.INFO);
                }
                Response.Redirect(redirectUrl);
            }

            string postazione_IP = Request.UserHostName;
            lblDateTime.Text = DateTime.Now.ToString("HH:mm:ss");
        }
    }
}