using System; using System.Collections.Generic; using System.Collections.Specialized; using System.Linq; using System.Text; using System.Web; namespace Neo.LegitimateLicences.Common.Helpers { public static class WebHelper { #region SetLastPageVisited public static void SetLastPageVisited(HttpContextBase context, string lastPage) { if (context.Request.Cookies["lastpage"] == null) { var cookie = new System.Web.HttpCookie("lastpage") { Value = lastPage, Expires = System.DateTime.Now.AddDays(30) }; context.Response.Cookies.Add(cookie); } else { var cookie = context.Request.Cookies["lastpage"]; cookie.Value = lastPage; cookie.Expires = System.DateTime.Now.AddDays(30); context.Response.SetCookie(cookie); } } #endregion #region EntityID public static int EntityID { get { return GetQueryStringValue("EntityID", -1); } } #endregion #region ItemID public static long ItemID { get { return GetQueryStringValue("ItemID", -1); } } #endregion #region TaskID public static long TaskID { get { return GetQueryStringValue("TaskID", -1); } } #endregion #region GetQueryStringValue public static int GetQueryStringValue(string key, int defaultValue) { try { var activeQuerystring = GetQueryStringToUse(key); return (activeQuerystring != null && activeQuerystring[key] != null) ? int.Parse(activeQuerystring[key]) : defaultValue; } catch { return defaultValue; } } #endregion #region GetQueryStringValue public static short GetQueryStringValue(string key, short defaultValue) { try { var activeQuerystring = GetQueryStringToUse(key); return (activeQuerystring != null && activeQuerystring[key] != null) ? short.Parse(activeQuerystring[key]) : defaultValue; } catch { return defaultValue; } } #endregion #region GetQueryStringValue public static bool GetQueryStringValue(string key, bool defaultValue) { try { var activeQuerystring = GetQueryStringToUse(key); return (activeQuerystring != null && activeQuerystring[key] != null) ? bool.Parse(activeQuerystring[key]) : defaultValue; } catch { return defaultValue; } } #endregion #region GetQueryStringValue public static bool? GetQueryStringValue(string key, bool? defaultValue) { try { var activeQuerystring = GetQueryStringToUse(key); return (activeQuerystring != null && activeQuerystring[key] != null) ? bool.Parse(activeQuerystring[key]) : defaultValue; } catch { return defaultValue; } } #endregion #region GetQueryStringValue public static string GetQueryStringValue(string key, string defaultValue) { try { var activeQuerystring = GetQueryStringToUse(key); return (activeQuerystring != null && activeQuerystring[key] != null) ? Convert.ToString(activeQuerystring[key]) : defaultValue; } catch { return defaultValue; } } #endregion #region GetQueryStringToUse private static NameValueCollection GetQueryStringToUse(string key) { if (HttpContext.Current.Request.QueryString[key] != null) { return HttpContext.Current.Request.QueryString; } else { if (HttpContext.Current.Request.UrlReferrer != null && !string.IsNullOrEmpty(HttpContext.Current.Request.UrlReferrer.Query)) { return HttpUtility.ParseQueryString(HttpContext.Current.Request.UrlReferrer.Query); } else { return HttpContext.Current.Request.QueryString; } } } #endregion } }