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

namespace NKC_WF.WebUserControls
{
    public partial class mod_righePag : BaseUserControl
    {
        /// <summary>
        /// indicato (nuovo) numero righe x pagina
        /// </summary>
        public event EventHandler eh_newNum;
        /// <summary>
        /// caricamento pagina
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                numRowReq = numRowPag;
            }
        }
        /// <summary>
        /// stringa UID univoca
        /// </summary>
        public string uid
        {
            get
            {
                return this.UniqueID.Replace("$", "_").Replace("-", "_");
            }
        }
        /// <summary>
        /// effettua traduzione del lemma
        /// </summary>
        /// <param name="lemma"></param>
        /// <returns></returns>
        public string traduci(string lemma)
        {
            return user_std.UtSn.Traduci(lemma);
        }
        /// <summary>
        /// aggiorno controllo paginazione...
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void txtNumRighe_TextChanged(object sender, EventArgs e)
        {
            // salvo num righe...
            numRowPag = numRowReq;
            // sollevo evento nuovo valore...
            if (eh_newNum != null)
            {
                eh_newNum(this, new EventArgs());
            }
        }
        /// <summary>
        /// numero righe per pagina (in sessione)
        /// </summary>
        public int numRowPag
        {
            get
            {
                int answ = 10;
                try
                {
                    answ = memLayer.ML.IntSessionObj(uid + "_numRowPag");
                }
                catch
                {
                    answ = 10;
                }
                return answ;
            }
            set
            {
                memLayer.ML.setSessionVal(uid + "_numRowPag", value);
                numRowReq = value;
            }
        }
        /// <summary>
        /// numero righe gridview da mostrare legato a controllo textbox
        /// </summary>
        protected int numRowReq
        {
            get
            {
                int answ = numRowPag;
                try
                {
                    answ = Convert.ToInt32(txtNumRighe.Text.Trim());
                    if (answ == 0)
                    {
                        answ = numRowPag;
                        txtNumRighe.Text = answ.ToString();
                    }
                }
                catch
                { }
                return answ;
            }
            set
            {
                txtNumRighe.Text = value.ToString();
            }
        }
    }
}