📄 manageapplication.aspx.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 + -