|
using System;
using System.Data;
using System.Web.UI.WebControls;
using Presentation;
using Presentation.Interfaces;
/// <remarks>
/// Class Views_EmployeesView is our IEmployeesView. It is the View in the MVP relationship.
/// This view knows about its presenter. It must instantiate the presenter,
/// passing into it an instance of itself and the model. It is also responsible for
/// responding to presenter events, such as redirects, ect.
/// </remarks>
public partial class Views_EmployeesView : System.Web.UI.UserControl, IEmployeesView
{
private EmployeesPresenter presenter;
protected void Page_Load(object sender, EventArgs e)
{
presenter = new EmployeesPresenter(this, new Model.EmployeeDAO());
presenter.RequestEmployeeEdit += new EventHandler<SingleValueEventArgs<int>>(RequestEmployeeEditListener);
presenter.InitView(Page.IsPostBack);
}
private void RequestEmployeeEditListener(object sender, SingleValueEventArgs<int> e)
{
int employeeID = e.Value;
Response.Redirect("EmployeeEdit.aspx?employee=" + employeeID, true);
}
#region IEmployeesView Members
public void SetEmployees(IDataReader employeesReader)
{
ddlEmployees.DataSource = employeesReader;
ddlEmployees.DataValueField = "EmployeeID";
ddlEmployees.DataTextField = "LastName";
ddlEmployees.DataBind();
ddlEmployees.Items.Insert(0, new ListItem("Select Employee", "0"));
}
public void SetEmployeeDetails(Model.Data.Interfaces.IEmployee employee)
{
if (employee == null)
{
lblEmployeeID.Text = string.Empty;
lblEmployeeLastName.Text = string.Empty;
lblEmployeeFirstName.Text = string.Empty;
lblTitle.Text = string.Empty;
}
else
{
lblEmployeeID.Text = employee.EmployeeID.ToString();
lblEmployeeLastName.Text = employee.LastName;
lblEmployeeFirstName.Text = employee.FirstName;
lblTitle.Text = employee.Title;
}
}
public void SetRefreshTime(DateTime dateTime)
{
lblTime.Text = dateTime.ToString();
}
#endregion
protected void ddlEmployees_SelectedIndexChanged(object sender, EventArgs e)
{
presenter.UpdateEmployeeDetails(ddlEmployees.SelectedValue);
if (int.Parse(ddlEmployees.SelectedValue) > 0)
{
btnEdit.Visible = true;
}
else
{
btnEdit.Visible = false;
}
}
protected void btnEdit_Click(object sender, EventArgs e)
{
presenter.EditEmployee(int.Parse(ddlEmployees.SelectedValue));
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.