⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 manageapplication.aspx.cs

📁 该项目管理系统可对项目的过程进行管理和控制
💻 CS
字号:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

namespace BronzeMonkey.GeneralTaskList
{
	/// <summary>
	/// Summary description for ManageApplication.
	/// </summary>
	public class ManageApplication : System.Web.UI.Page
	{
		private enum PanelToDisplay { StatusPanel = 0, CategoryPanel = 1 }
		private enum EditMode { AddNew = 0, Edit = 1 }

		protected System.Web.UI.WebControls.ListBox lstStatusTypes;
		protected System.Web.UI.WebControls.LinkButton lnkDeleteStatus;
		protected System.Web.UI.WebControls.LinkButton lnkDeleteCategory;
		protected System.Web.UI.WebControls.ImageButton imgAddStatusSave;
		protected System.Web.UI.WebControls.LinkButton lnkAddStatusSave;
		protected System.Web.UI.WebControls.ImageButton imgAddStatusCancel;
		protected System.Web.UI.WebControls.LinkButton lnkAddStatusCancel;
		protected System.Web.UI.WebControls.LinkButton lnkAddCategoryCancel;
		protected System.Web.UI.WebControls.ImageButton imgAddCategoryCancel;
		protected System.Web.UI.WebControls.LinkButton lnkAddCategorySave;
		protected System.Web.UI.WebControls.ImageButton imgAddCategorySave;
		protected System.Web.UI.WebControls.TextBox txtCategoryName;
		protected System.Web.UI.WebControls.ImageButton imgAddStatus;
		protected System.Web.UI.WebControls.LinkButton lnkAddStatus;
		protected System.Web.UI.WebControls.ImageButton imgEditStatus;
		protected System.Web.UI.WebControls.LinkButton lnkEditStatus;
		protected System.Web.UI.WebControls.ImageButton imgAddCategory;
		protected System.Web.UI.WebControls.LinkButton lnkAddCategory;
		protected System.Web.UI.WebControls.ImageButton imgEditCategory;
		protected System.Web.UI.WebControls.LinkButton lnkEditCategory;
		protected System.Web.UI.WebControls.ImageButton imgDeleteCategory;
		protected System.Web.UI.WebControls.ImageButton imgDeleteStatus;
		protected System.Web.UI.WebControls.Label lblStatusHeader;
		protected System.Web.UI.WebControls.Label lblCategoryHeader;
		protected System.Web.UI.WebControls.ListBox lstCategories;
	
		private UserInformation CurrentUser = new UserInformation();
		private BronzeMonkey.GeneralTaskList.TaskList tl = new BronzeMonkey.GeneralTaskList.TaskList();
		private string ConnectionString = String.Empty;
		private EditMode CategoryEditMode = EditMode.AddNew;
		protected System.Web.UI.WebControls.TextBox txtStatusDescription;
		protected System.Web.UI.WebControls.TextBox txtStatusFontFlags;
		protected System.Web.UI.WebControls.TextBox txtIconUrl;
		protected System.Web.UI.WebControls.RequiredFieldValidator CategoryNameValidator;
		protected System.Web.UI.WebControls.RequiredFieldValidator StatusDescriptionValidator;
		protected System.Web.UI.HtmlControls.HtmlGenericControl pnlStatus;
		protected System.Web.UI.HtmlControls.HtmlGenericControl pnlCategory;
		private EditMode StatusEditMode = EditMode.AddNew;

		private void Page_Load(object sender, System.EventArgs e)
		{
			this.ConnectionString = System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"].ToString();
			
			if (ViewState["CategoryEditMode"] != null)
				this.CategoryEditMode = (EditMode)ViewState["CategoryEditMode"];
			
			if (ViewState["StatusEditMode"] != null)
				this.StatusEditMode = (EditMode)ViewState["StatusEditMode"];
					
			if (Session["CurrentUser"] == null)
				Response.Redirect("login.aspx");
			else
				CurrentUser = (UserInformation)Session["CurrentUser"];
			

			if (!Page.IsPostBack)
			{
				// Load the list of status types
				this.LoadStatusTypes();
				// Load the list of categories
				this.LoadCategories();
				
				pnlStatus.Visible = false;
				pnlCategory.Visible = false;

				this.lnkDeleteCategory.Attributes.Add(
					"onclick",
					@"return confirm (""Are you sure you want to delete this category?"");"
				);

				this.lnkDeleteStatus.Attributes.Add(
					"onclick",
					@"return confirm (""Are you sure you want to delete this status?"");"
				);

				this.imgDeleteCategory.Attributes.Add(
					"onclick",
					@"return confirm (""Are you sure you want to delete this category?"");"
				);

				this.imgDeleteStatus.Attributes.Add(
					"onclick",
					@"return confirm (""Are you sure you want to delete this status?"");"
				);
			}
		}

		#region Web Form Designer generated code
		override protected void OnInit(EventArgs e)
		{
			//
			// CODEGEN: This call is required by the ASP.NET Web Form Designer.
			//
			InitializeComponent();
			base.OnInit(e);
		}
		
		/// <summary>
		/// Required method for Designer support - do not modify
		/// the contents of this method with the code editor.
		/// </summary>
		private void InitializeComponent()
		{    
			this.imgAddStatus.Click += new System.Web.UI.ImageClickEventHandler(this.imgAddStatus_Click);
			this.lnkAddStatus.Click += new System.EventHandler(this.lnkAddStatus_Click);
			this.imgEditStatus.Click += new System.Web.UI.ImageClickEventHandler(this.imgEditStatus_Click);
			this.lnkEditStatus.Click += new System.EventHandler(this.lnkEditStatus_Click);
			this.imgDeleteStatus.Click += new System.Web.UI.ImageClickEventHandler(this.imgDeleteStatus_Click);
			this.lnkDeleteStatus.Click += new System.EventHandler(this.lnkDeleteStatus_Click);
			this.imgAddCategory.Click += new System.Web.UI.ImageClickEventHandler(this.imgAddCategory_Click);
			this.lnkAddCategory.Click += new System.EventHandler(this.lnkAddCategory_Click);
			this.imgEditCategory.Click += new System.Web.UI.ImageClickEventHandler(this.imgEditCategory_Click);
			this.lnkEditCategory.Click += new System.EventHandler(this.lnkEditCategory_Click);
			this.imgDeleteCategory.Click += new System.Web.UI.ImageClickEventHandler(this.imgDeleteCategory_Click);
			this.lnkDeleteCategory.Click += new System.EventHandler(this.lnkDeleteCategory_Click);
			this.txtStatusDescription.TextChanged += new System.EventHandler(this.txtStatusDescription_TextChanged);
			this.txtStatusFontFlags.TextChanged += new System.EventHandler(this.txtStatusFontFlags_TextChanged);
			this.imgAddStatusSave.Click += new System.Web.UI.ImageClickEventHandler(this.imgAddStatusSave_Click);
			this.lnkAddStatusSave.Click += new System.EventHandler(this.lnkAddStatusSave_Click);
			this.imgAddStatusCancel.Click += new System.Web.UI.ImageClickEventHandler(this.imgAddStatusCancel_Click);
			this.lnkAddStatusCancel.Click += new System.EventHandler(this.lnkAddStatusCancel_Click);
			this.imgAddCategorySave.Click += new System.Web.UI.ImageClickEventHandler(this.imgAddCategorySave_Click);
			this.lnkAddCategorySave.Click += new System.EventHandler(this.lnkAddCategorySave_Click);
			this.imgAddCategoryCancel.Click += new System.Web.UI.ImageClickEventHandler(this.imgAddCategoryCancel_Click);
			this.lnkAddCategoryCancel.Click += new System.EventHandler(this.lnkAddCategoryCancel_Click);
			this.Load += new System.EventHandler(this.Page_Load);

		}
		#endregion

		private void LoadStatusTypes()
		{
			SqlDataReader dr = tl.GetStatusList(this.CurrentUser);

			lstStatusTypes.Items.Clear();

			while( dr.Read() )
			{
				lstStatusTypes.Items.Add(new ListItem(dr["Description"].ToString(), dr["StatusID"].ToString()));
			}

			dr.Close();
		}

		private void LoadCategories()
		{
			SqlDataReader dr = tl.GetCategoryList(this.CurrentUser);

			lstCategories.Items.Clear();

			while( dr.Read() )
			{
				lstCategories.Items.Add(new ListItem(dr["Description"].ToString(), dr["CategoryID"].ToString()));
			}

			dr.Close();
		}

		private void EnablePanel(PanelToDisplay ThePanel)
		{
			pnlStatus.Visible = false;
			pnlCategory.Visible = false;

			switch (ThePanel) 
			{
				case PanelToDisplay.CategoryPanel:
					pnlCategory.Visible = true;
					break;
				case PanelToDisplay.StatusPanel:
					pnlStatus.Visible = true;
					break;
			}
		}

		private void lnkAddStatusSave_Click(object sender, System.EventArgs e)
		{
			if( this.StatusEditMode == EditMode.AddNew)
			{
				int NewStatusID = StatusItem.AddStatusItem(txtStatusDescription.Text, txtStatusFontFlags.Text, this.ConnectionString);
				lstStatusTypes.Items.Add(new ListItem(txtStatusDescription.Text, NewStatusID.ToString()));
			}
			else if( this.StatusEditMode == EditMode.Edit)
			{
				StatusItem ThisStatus = StatusItem.GetStatusItem(
					Convert.ToInt32(lstStatusTypes.SelectedItem.Value), this.ConnectionString);
			
				ThisStatus.Description = txtStatusDescription.Text;
				ThisStatus.FontFlags = txtStatusFontFlags.Text;
				ThisStatus.Update(this.ConnectionString);
				lstStatusTypes.SelectedItem.Text = txtStatusDescription.Text;
			}

			pnlStatus.Visible = false;
		}

		private void lnkAddStatusCancel_Click(object sender, System.EventArgs e)
		{
			pnlStatus.Visible = false;
		}

		private void lnkAddStatus_Click(object sender, System.EventArgs e)
		{
			ViewState["StatusEditMode"] = EditMode.AddNew;
			txtStatusDescription.Text = String.Empty;
			txtStatusFontFlags.Text = String.Empty;
			EnablePanel(PanelToDisplay.StatusPanel);
		}

		private void lnkAddCategory_Click(object sender, System.EventArgs e)
		{
			ViewState["CategoryEditMode"] = EditMode.AddNew;
			txtCategoryName.Text = String.Empty;
			txtIconUrl.Text = String.Empty;
			EnablePanel(PanelToDisplay.CategoryPanel);
		}

		private void lnkEditStatus_Click(object sender, System.EventArgs e)
		{
			if (lstStatusTypes.SelectedItem == null) return;

			ViewState["StatusEditMode"] = EditMode.Edit;
			StatusItem ThisStatus = StatusItem.GetStatusItem(Convert.ToInt32(lstStatusTypes.SelectedItem.Value), this.ConnectionString);

			this.txtStatusDescription.Text = ThisStatus.Description;
			this.txtStatusFontFlags.Text = ThisStatus.FontFlags;

			EnablePanel(PanelToDisplay.StatusPanel);
		}

		private void lnkDeleteStatus_Click(object sender, System.EventArgs e)
		{
			if (lstStatusTypes.SelectedItem == null) return;

			StatusItem.DeleteStatusItem(Convert.ToInt32(lstStatusTypes.SelectedItem.Value), this.ConnectionString);	
			lstStatusTypes.Items.Remove(lstStatusTypes.SelectedItem);
		}

		private void lnkEditCategory_Click(object sender, System.EventArgs e)
		{
			if (lstCategories.SelectedItem == null) return;

			ViewState["CategoryEditMode"] = EditMode.Edit;
			CategoryItem ThisCategory = CategoryItem.GetCategoryItem(Convert.ToInt32(lstCategories.SelectedItem.Value), this.ConnectionString);
			this.txtCategoryName.Text = ThisCategory.Description;
			this.txtIconUrl.Text = ThisCategory.IconUrl;
			EnablePanel(PanelToDisplay.CategoryPanel);
		}

		private void lnkDeleteCategory_Click(object sender, System.EventArgs e)
		{
			if (lstCategories.SelectedItem == null) return;

			CategoryItem.DeleteCategoryItem(Convert.ToInt32(lstCategories.SelectedItem.Value), this.ConnectionString);
			lstCategories.Items.Remove(lstCategories.SelectedItem);
		}

		private void lnkAddCategorySave_Click(object sender, System.EventArgs e)
		{
			if( this.CategoryEditMode == EditMode.AddNew)
			{
				int NewCategoryID = CategoryItem.AddCategoryItem(txtCategoryName.Text, txtIconUrl.Text, this.ConnectionString);
				lstCategories.Items.Add(new ListItem(txtCategoryName.Text, NewCategoryID.ToString()));
			}
			else if( this.CategoryEditMode == EditMode.Edit)
			{
				CategoryItem ThisCategory = CategoryItem.GetCategoryItem(
					Convert.ToInt32(lstCategories.SelectedItem.Value), this.ConnectionString);
			
				ThisCategory.Description = this.txtCategoryName.Text;
				ThisCategory.IconUrl = this.txtIconUrl.Text;
				ThisCategory.Update(this.ConnectionString);
				lstCategories.SelectedItem.Text = txtCategoryName.Text;
			}

			pnlCategory.Visible = false;
		}

		private void lnkAddCategoryCancel_Click(object sender, System.EventArgs e)
		{
			pnlCategory.Visible = false;
		}

		private void imgAddCategoryCancel_Click(object sender, System.Web.UI.ImageClickEventArgs e)
		{
			pnlCategory.Visible = false;
		}

		private void imgAddCategorySave_Click(object sender, System.Web.UI.ImageClickEventArgs e)
		{
			lnkAddCategorySave_Click(this.lnkAddCategory, new EventArgs());
		}

		private void imgAddStatusSave_Click(object sender, System.Web.UI.ImageClickEventArgs e)
		{
			lnkAddStatusSave_Click(this.lnkAddStatus, new EventArgs());
		}

		private void imgAddStatusCancel_Click(object sender, System.Web.UI.ImageClickEventArgs e)
		{
			pnlStatus.Visible = false;
		}

		private void imgAddStatus_Click(object sender, System.Web.UI.ImageClickEventArgs e)
		{
			lnkAddStatus_Click(lnkAddStatus, new EventArgs());
		}

		private void imgEditStatus_Click(object sender, System.Web.UI.ImageClickEventArgs e)
		{
			lnkEditStatus_Click(lnkEditStatus, new EventArgs());
		}

		private void imgDeleteStatus_Click(object sender, System.Web.UI.ImageClickEventArgs e)
		{
			lnkDeleteStatus_Click(lnkDeleteStatus, new EventArgs());
		}

		private void imgAddCategory_Click(object sender, System.Web.UI.ImageClickEventArgs e)
		{
			lnkAddCategory_Click(lnkAddCategory, new EventArgs());
		}

		private void imgEditCategory_Click(object sender, System.Web.UI.ImageClickEventArgs e)
		{
			lnkEditCategory_Click(lnkEditCategory, new EventArgs());
		}

		private void imgDeleteCategory_Click(object sender, System.Web.UI.ImageClickEventArgs e)
		{
			lnkDeleteCategory_Click(lnkDeleteCategory, new EventArgs());
		}

		private void txtStatusDescription_TextChanged(object sender, System.EventArgs e)
		{
		
		}

		private void txtStatusFontFlags_TextChanged(object sender, System.EventArgs e)
		{
		
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -