using SteamWare;
using SteamWare.Logger;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace MP_MAG.WebUserControls
{
public partial class cmp_menuTop : BaseUserControl
{
#region Protected Properties
///
/// Elenco pagine "safe" da web.config
///
protected string safePages
{
get
{
return memLayer.ML.confReadString("_safePages");
}
}
///
/// Valore ricerca attivo
///
protected string searchVal
{
get
{
return txtSearch.Text.Trim();
}
set
{
txtSearch.Text = value.Trim();
}
}
#endregion Protected Properties
#region Public Properties
///
/// imposta visibilità search globale
///
public bool showSearch
{
get
{
return divSearch.Visible;
}
set
{
divSearch.Visible = value;
}
}
#endregion Public Properties
#region Private Methods
///
/// effettua un update completo dei valori in sessione
///
private void doDataUpdate(bool doFullReset)
{
if (doFullReset)
{
// aggiorno vocabolario
DataWrap.DW.resetVocabolario();
// reset dati in cache x DbConfig...
memLayer.ML.resetAppConf();
// svuoto session e cache per rileggere i dati da Db
Session.RemoveAll();
memLayer.ML.setSessionVal("nextPage", user_std.pagCorrente);
Response.Redirect("login");
}
else
{
resetProdData();
Response.Redirect("menu");
}
}
private void doSearch()
{
// se searchVal !=""
if (!string.IsNullOrEmpty(searchVal))
{
memLayer.ML.setSessionVal("valoreSearch", searchVal);
}
else
{
memLayer.ML.emptySessionVal("valoreSearch");
}
// se qualcuno ascolta sollevo evento nuovo valore...
raiseEvent();
}
///
/// aggiornamento del menù
///
private void updateTreeMenu()
{
try
{
if (string.IsNullOrEmpty(user_std.UtSn.mappaSito))
{
if (safePages.IndexOf(Request.Url.Segments.LastOrDefault(), StringComparison.OrdinalIgnoreCase) < 0)
{
Response.Redirect("login", true);
}
string DefaultMenuPath = Server.MapPath("~/Resources/DefaultMenu.xml");
Logging.Instance.Info($"Manca menu utente --> leggo default da {DefaultMenuPath}");
XmlMenu.Data = File.ReadAllText(DefaultMenuPath);
}
else
{
XmlMenu.Data = devicesAuthProxy.stObj.mappaSito;
}
}
catch (Exception exc)
{
Logging.Instance.Info($"Eccezione in updateTreeMenu {Environment.NewLine}{exc}");
if (safePages.IndexOf(Request.Url.Segments.LastOrDefault(), StringComparison.OrdinalIgnoreCase) < 0)
{
Response.Redirect("login", false);
}
XmlMenu.Data = "