You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
126 lines
2.7 KiB
126 lines
2.7 KiB
using System;
|
|
using System.Data;
|
|
using System.Web.UI;
|
|
using System.Web.UI.WebControls;
|
|
using UDDI.API;
|
|
using UDDI.API.Business;
|
|
using UDDI.API.ServiceType;
|
|
using UDDI;
|
|
using UDDI.Diagnostics;
|
|
|
|
namespace UDDI.Web
|
|
{
|
|
public class EmailControl : UddiControl
|
|
{
|
|
protected EmailCollection emails;
|
|
protected EntityBase entity;
|
|
|
|
protected DataGrid grid;
|
|
|
|
public void Initialize( EmailCollection emails )
|
|
{
|
|
this.emails = emails;
|
|
|
|
grid.Columns[ 1 ].Visible = false;
|
|
}
|
|
|
|
public void Initialize( EmailCollection emails, EntityBase entity )
|
|
{
|
|
this.emails = emails;
|
|
this.entity = entity;
|
|
|
|
grid.Columns[ 1 ].Visible = true;
|
|
}
|
|
|
|
protected void Page_Init( object sender, EventArgs e )
|
|
{
|
|
grid.Columns[ 0 ].HeaderText = Localization.GetString( "HEADING_EMAIL" );
|
|
grid.Columns[ 1 ].HeaderText = Localization.GetString( "HEADING_ACTIONS" );
|
|
}
|
|
|
|
protected void Page_Load( object sender, EventArgs e )
|
|
{
|
|
if( !Page.IsPostBack )
|
|
PopulateDataGrid();
|
|
|
|
if( grid.EditItemIndex >= 0 )
|
|
SetEditMode();
|
|
}
|
|
|
|
void PopulateDataGrid()
|
|
{
|
|
grid.DataSource = emails;
|
|
grid.DataBind();
|
|
}
|
|
|
|
protected void DataGrid_Edit( object sender, DataGridCommandEventArgs e )
|
|
{
|
|
int index = e.Item.ItemIndex;
|
|
|
|
grid.EditItemIndex = index;
|
|
SetEditMode();
|
|
|
|
PopulateDataGrid();
|
|
}
|
|
|
|
protected void OnEnterKeyPressed( object sender, EventArgs e )
|
|
{
|
|
DataGrid_Update( sender, null );
|
|
}
|
|
|
|
protected void DataGrid_Update( object sender, DataGridCommandEventArgs e )
|
|
{
|
|
Page.Validate();
|
|
|
|
if( Page.IsValid )
|
|
{
|
|
int index = grid.EditItemIndex;
|
|
|
|
if( index >= emails.Count )
|
|
emails.Add();
|
|
|
|
Email email = emails[ index ];
|
|
|
|
DataGridItem item = grid.Items[ index ];
|
|
|
|
email.Value = ((TextBox)item.FindControl( "email" )).Text;
|
|
email.UseType = ((TextBox)item.FindControl( "useType" )).Text;
|
|
|
|
entity.Save();
|
|
|
|
grid.EditItemIndex = -1;
|
|
CancelEditMode();
|
|
|
|
PopulateDataGrid();
|
|
}
|
|
}
|
|
|
|
protected void DataGrid_Cancel( object sender, DataGridCommandEventArgs e )
|
|
{
|
|
grid.EditItemIndex = -1;
|
|
CancelEditMode();
|
|
|
|
PopulateDataGrid();
|
|
}
|
|
|
|
protected void DataGrid_Delete( object sender, DataGridCommandEventArgs e )
|
|
{
|
|
int index = e.Item.ItemIndex;
|
|
|
|
emails.RemoveAt( index );
|
|
entity.Save();
|
|
|
|
PopulateDataGrid();
|
|
}
|
|
|
|
protected void DataGrid_Add( object sender, EventArgs e )
|
|
{
|
|
grid.EditItemIndex = emails.Count;
|
|
SetEditMode();
|
|
|
|
emails.Add();
|
|
|
|
PopulateDataGrid();
|
|
}
|
|
}
|
|
}
|