www.pudn.com > Tustena_CRM_OS_3.0.2_Stable.zip > goback.cs


/// TUSTENA PUBLIC LICENSE v1.0 
///  
/// Portions Copyright (c) 2003-2005 Digita S.r.l. All Rights Reserved. 
/// 
/// Tustena CRM is a trademark of: 
/// Digita S.r.l. 
/// Viale Enrico Fermi 14/z 
/// 31011 Asolo (Italy) 
/// Tel. +39-0423-951251 
/// Mail. info@digita.it 
/// 
/// This file contains Original Code and/or Modifications of Original Code 
/// as defined in and that are subject to the Tustena Public Source License 
/// Version 1.0 (the 'License'). You may not use this file except in 
/// compliance with the License. Please obtain a copy of the License at 
/// http://www.tustena.com/TPL/ and read it before using this 
// file. 
/// 
/// The Original Code and all software distributed under the License are 
/// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 
/// EXPRESS OR IMPLIED, AND DIGITA S.R.L. HEREBY DISCLAIMS ALL SUCH WARRANTIES, 
/// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 
/// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 
/// Please see the License for the specific language governing rights and 
/// limitations under the License. 
/// 
/// YOU MAY NOT REMOVE OR ALTER THIS COPYRIGHT NOTICE! 
///  
 
using System; 
using System.Collections; 
using System.Web; 
using System.Web.SessionState; 
 
namespace Digita.Tustena 
{ 
	public class NewGoBack 
	{ 
		private HttpSessionState Session = HttpContext.Current.Session; 
		private GoBackPage[] CurrentBackPage; 
 
		public NewGoBack() 
		{ 
			if (Session["GoBack"] != null) 
				CurrentBackPage = (GoBackPage[]) Session["GoBack"]; 
			else 
				CurrentBackPage = new GoBackPage[5]; 
		} 
 
 
		public void AddPage(byte pageid, string url, string[] parsname, object[] parsobj) 
		{ 
			if (parsname.Length != parsobj.Length) 
				throw new FormatException("Arrays differs"); 
			Hashtable mypars = new Hashtable(); 
			for (int i = 0; i < parsobj.Length; i++) 
				mypars.Add(parsname[i], parsobj[i]); 
			AddPage(pageid, url, mypars); 
		} 
 
		public void AddPage(byte pageid, string url, Hashtable pars) 
		{ 
			GoBackPage gbp = new GoBackPage(); 
			gbp.pageid = pageid; 
			gbp.url = url; 
			gbp.pars = pars; 
			for (int i = CurrentBackPage.Length; i > 0; --i) 
				CurrentBackPage[i - 1] = CurrentBackPage[i]; 
			CurrentBackPage[5] = gbp; 
		} 
 
		public object LastPage() 
		{ 
			if (CurrentBackPage.Length > 0) 
				return CurrentBackPage[CurrentBackPage.Length]; 
			else 
				return null; 
		} 
 
	} 
 
	[Serializable] 
	public class GoBackPage 
	{ 
		public byte pageid; 
		public string url; 
		public Hashtable pars; // = new Hashtable(); 
	} 
}