using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
namespace ASPNetPortal {
public class EditContacts : System.Web.UI.Page {
protected System.Web.UI.WebControls.TextBox NameField;
protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator1;
protected System.Web.UI.WebControls.TextBox RoleField;
protected System.Web.UI.WebControls.TextBox EmailField;
protected System.Web.UI.WebControls.TextBox Contact1Field;
protected System.Web.UI.WebControls.TextBox Contact2Field;
protected System.Web.UI.WebControls.LinkButton updateButton;
protected System.Web.UI.WebControls.LinkButton cancelButton;
protected System.Web.UI.WebControls.LinkButton deleteButton;
protected System.Web.UI.WebControls.Label CreatedBy;
protected System.Web.UI.WebControls.Label CreatedDate;
int itemId = 0;
int moduleId = 0;
//****************************************************************
//
// The Page_Load event on this Page is used to obtain the ModuleId
// and ItemId of the contact to edit.
//
// It then uses the ASPNetPortal.ContactsDB() data component
// to populate the page's edit controls with the contact details.
//
//****************************************************************
private void Page_Load(object sender, System.EventArgs e) {
// Determine ModuleId of Contacts Portal Module
moduleId = Int32.Parse(Request.Params["Mid"]);
// Verify that the current user has access to edit this module
if (PortalSecurity.HasEditPermissions(moduleId) == false) {
Response.Redirect("~/Admin/EditAccessDenied.aspx");
}
// Determine ItemId of Contacts to Update
if (Request.Params["ItemId"] != null) {
itemId = Int32.Parse(Request.Params["ItemId"]);
}
// If the page is being requested the first time, determine if an
// contact itemId value is specified, and if so populate page
// contents with the contact details
if (Page.IsPostBack == false) {
if (itemId != 0) {
// Obtain a single row of contact information
ASPNetPortal.ContactsDB contacts = new ASPNetPortal.ContactsDB();
SqlDataReader dr = contacts.GetSingleContact(itemId);
// Read first row from database
dr.Read();
NameField.Text = (String) dr["Name"];
RoleField.Text = (String) dr["Role"];
EmailField.Text = (String) dr["Email"];
Contact1Field.Text = (String) dr["Contact1"];
Contact2Field.Text = (String) dr["Contact2"];
CreatedBy.Text = (String) dr["CreatedByUser"];
CreatedDate.Text = ((DateTime) dr["CreatedDate"]).ToShortDateString();
// Close datareader
dr.Close();
}
// Store URL Referrer to return to portal
ViewState["UrlReferrer"] = Request.UrlReferrer.ToString();
}
}
//****************************************************************
//
// The UpdateBtn_Click event handler on this Page is used to either
// create or update a contact. It uses the ASPNetPortal.ContactsDB()
// data component to encapsulate all data functionality.
//
//****************************************************************
private void UpdateBtn_Click(Object sender, EventArgs e) {
// Only Update if Entered data is Valid
if (Page.IsValid == true) {
// Create an instance of the ContactsDB component
ASPNetPortal.ContactsDB contacts = new ASPNetPortal.ContactsDB();
if (itemId == 0) {
// Add the contact within the contacts table
contacts.AddContact( moduleId, itemId, Context.User.Identity.Name, NameField.Text, RoleField.Text, EmailField.Text, Contact1Field.Text, Contact2Field.Text );
}
else {
// Update the contact within the contacts table
contacts.UpdateContact( moduleId, itemId, Context.User.Identity.Name, NameField.Text, RoleField.Text, EmailField.Text, Contact1Field.Text, Contact2Field.Text );
}
// Redirect back to the portal home page
Response.Redirect((String) ViewState["UrlReferrer"]);
}
}
//****************************************************************
//
// The DeleteBtn_Click event handler on this Page is used to delete an
// a contact. It uses the ASPNetPortal.ContactsDB()
// data component to encapsulate all data functionality.
//
//****************************************************************
private void DeleteBtn_Click(Object sender, EventArgs e) {
// Only attempt to delete the item if it is an existing item
// (new items will have "ItemId" of 0)
if (itemId != 0) {
ASPNetPortal.ContactsDB contacts = new ASPNetPortal.ContactsDB();
contacts.DeleteContact(itemId);
}
// Redirect back to the portal home page
Response.Redirect((String) ViewState["UrlReferrer"]);
}
//****************************************************************
//
// The CancelBtn_Click event handler on this Page is used to cancel
// out of the page, and return the user back to the portal home
// page.
//
//****************************************************************
private void CancelBtn_Click(Object sender, EventArgs e) {
// Redirect back to the portal home page
Response.Redirect((String) ViewState["UrlReferrer"]);
}
public EditContacts() {
Page.Init += new System.EventHandler(Page_Init);
}
private void Page_Init(object sender, EventArgs e) {
//
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
//
InitializeComponent();
}
#region Web Form Designer generated code
///
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
///
private void InitializeComponent() {
this.updateButton.Click += new System.EventHandler(this.UpdateBtn_Click);
this.cancelButton.Click += new System.EventHandler(this.CancelBtn_Click);
this.deleteButton.Click += new System.EventHandler(this.DeleteBtn_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
}
}