La aplicacion es una aplicacion Windows.
Yo primero cree el formulario Base, FormBase. tiene este codigo
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace Cyber.UI
{
public partial class frmBase : Form
{
#region Enum
public enum EstateForm
{
Create,
Update,
View
}
#endregion
#region Attributes
protected EstateForm _stateForm = EstateForm.Create;
#endregion
#region Properties
public EstateForm StateForm
{
get
{
return _stateForm;
}
set
{
_stateForm = value;
}
}
#endregion
#region Protected Methods
protected virtual void ClearForm()
{
}
protected virtual bool IsValidForm()
{
return true;
}
#endregion
#region Public Methods
public void IsDigit(ref KeyPressEventArgs e)
{
if (char.IsDigit(e.KeyChar) || e.KeyChar == 'b')
e.Handled = false;
else
e.Handled = true;
}
public void IsDecimal(ref KeyPressEventArgs e)
{
if (char.IsDigit(e.KeyChar) || char.IsPunctuation(e.KeyChar) || e.KeyChar == 'b')
e.Handled = false;
else
e.Handled = true;
}
public static void SetFocus(ref KeyPressEventArgs e, Control oControl)
{
if (e.KeyChar == 'r')
oControl.Focus();
}
public static void EnabledControl(Control oControl, bool state)
{
oControl.Enabled = state;
}
#endregion
#region events
private void frmBase_Load(object sender, EventArgs e)
{
}
#endregion
}
}
Y uno de los formularios que heredan de este fomulario tiene este codigo.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Cyber.BusinessRule;
using Cyber.BusinessEntities;
namespace Cyber.UI
{
public partial class frmMarcas : Cyber.UI.frmBase
{
#region Private Methods
private void CargarGrillaMarcas()
{
MarcasBusinessRule oMarcaBR = new MarcasBusinessRule();
try
{
List<Marca> lMarcas = oMarcaBR.BuscarMarcas();
dgvMarcas.DataSource = lMarcas;
}
catch (Exception ex)
{
throw new Exception(ex.Message, ex);
}
}
private void CargaPantalla()
{
MarcasBusinessRule oMarcaBR = new MarcasBusinessRule();
try
{
//verifico que haya una marca seleccionada
if (dgvMarcas.CurrentRow != null)
{
//busco los datos de la marca
Marca oMarca = oMarcaBR.BuscarMarca(Convert.ToInt32(dgvMarcas.CurrentRow.Cells[IdMarca.Name].Value));
//Pregunto si la Marca fue encontrada
if (oMarca == null)
MessageBox.Show("No se encontro datos de la Marca seleccionada", "Busqueda", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
else
{
txtDescripcion.Text = oMarca.Descripcion;
}
}
}
catch (Exception ex)
{
CommonBusinessRule.RegistrarError(ex.Message, ex.StackTrace);
MessageBox.Show("Error en la búsqueda de la marca. " + ex.Message, "ATENCION", MessageBoxButtons.OK, MessageBoxIcon.Error);
this.ClearForm();
}
}
#endregion
#region Protected Methods
protected override void ClearForm()
{
txtDescripcion.Clear();
txtDescripcion.Focus();
}
protected override bool IsValidForm()
{
epValidator.Clear();
if (txtDescripcion.Text == string.Empty)
{
epValidator.SetError(txtDescripcion, "");
MessageBox.Show("Debe Ingresar la descripcion", "Descripción", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
txtDescripcion.Focus();
return false;
}
return true;
}
#endregion
#region Events
public frmMarcas()
{
InitializeComponent();
}
private void btnNuevo_Click(object sender, EventArgs e)
{
//Limpia la Pantalla
this.ClearForm();
}
private void bttCerrar_Click(object sender, EventArgs e)
{
this.Close();
}
private void frmMarcas_Load(object sender, EventArgs e)
{
try
{
//Limpio la pantalla
this.ClearForm();
//Cargo la Grilla
this.CargarGrillaMarcas();
////Cargo la Lista
//this.CargarLista();
}
catch (Exception ex)
{
CommonBusinessRule.RegistrarError(ex.Message, ex.StackTrace);
MessageBox.Show("Error en la carga de la grilla. " + ex.Message, "ATENCION", MessageBoxButtons.OK, MessageBoxIcon.Error);
this.Close();
}
}
private void btnGuardar_Click(object sender, EventArgs e)
{
MarcasBusinessRule oMarcaBR = new MarcasBusinessRule();
int resultado = 0;
try
{
//Verifico que los datos del formulario sean validos
if (this.IsValidForm())
{
//juzgo el estado del formulario
switch (this.StateForm)
{
case EstateForm.Create:
try
{
//registramos la Marca
resultado = oMarcaBR.RegistrarMarca(txtDescripcion.Text.Trim());
if (resultado == 0)
{
MessageBox.Show("Los datos de la Marca no han sido guardados.", "Marca", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
else
{
MessageBox.Show("Los datos de la Marca Nro. " + resultado.ToString() + " fueron registrado con éxito.", "Marca", MessageBoxButtons.OK, MessageBoxIcon.Information);
this.ClearForm();
this.CargarGrillaMarcas();
}
}
catch (Exception ex)
{
CommonBusinessRule.RegistrarError(ex.Message, ex.StackTrace);
MessageBox.Show("Error durante la registración de los datos de la Marca. " + ex.Message, "ATENCION", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
break;
case EstateForm.Update:
//actualizo los datos de la Marca
if (oMarcaBR.ActualizarMarca(Convert.ToInt32(dgvMarcas.CurrentRow.Cells[IdMarca.Name].Value),txtDescripcion.Text.Trim()) == 0)
MessageBox.Show("Los datos de la Marca no fueron actualizados", "Marca", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
else
{
MessageBox.Show("Los datos de la Marca fueron actualizados con éxito", "Marca", MessageBoxButtons.OK, MessageBoxIcon.Information);
this.CargarGrillaMarcas();
}
break;
}
}
}
catch (Exception ex)
{
CommonBusinessRule.RegistrarError(ex.Message, ex.StackTrace);
MessageBox.Show("Error al guardar los datos de la Marca. " + ex.Message, "ATENCION", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void dgvMarcas_Click(object sender, EventArgs e)
{
//Cambio de Estado el Formulario
this.StateForm = EstateForm.Update;
//Busco los datos de la marca seleccionada y cargo sus datos en el fomulario
this.CargaPantalla();
}
#endregion
}
}
No se que más puedo poner...