Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/12/2010, 18:32
tauro78
 
Fecha de Ingreso: febrero-2010
Mensajes: 2
Antigüedad: 14 años, 2 meses
Puntos: 0
Como validar los mismos datos de ingreso en la capa presentacion y en la de negocios

hola, quisiera saber lo siguiente: he leido varios hilos donde se dice que las validaciones de los datos que el usuario ingresa deben hacerse en la capa de presentacion y tambien en la de negocios, ademas de validarse otras cosas en la capa de negocios. Mi pregunta es como validar los datos que ingresa el usuario como por ejemplo el tipo de datos(letras ó numeros), campos vacios, etc en la capa de negocios. Yo hago las siguientes validaciones en la presentacion, como podria hacer para realizarlas en la capa de negocios ?.
En este caso como puedo hacer para validar en la capa logica que los campos no esten vacios ?, muchas gracias.

El primer codigo verifica que se ingresen letras, y el segundo que se ingresen numeros

(CAPA PRESENTACION)

Código:
namespace Presentacion.Controles
{
  class ControlesValidaciones
  {
    public bool validarLetras(object sender, KeyPressEventArgs e)
    {
      if (Char.IsLetter(e.KeyChar))
      {
        e.Handled = false;
        return false;
      }
      else if (Char.IsControl(e.KeyChar))
      {
        e.Handled = false;
        return false;
      }
      else if (Char.IsSeparator(e.KeyChar))
      {
        e.Handled = false;
        return false;
      }
      else
      {
        e.Handled = true;
        return true;
      }
    }
Código:
public bool validarNumeros(object sender, KeyPressEventArgs e)
    {
      if (Char.IsDigit(e.KeyChar))
      {
        e.Handled = false;
        return false;
      }
      else if (Char.IsControl(e.KeyChar))
      {
        e.Handled = false;
        return false;
      }
      else if (Char.IsSeparator(e.KeyChar))
      {
        e.Handled = false;
        return false;
      }
      else
      {
        e.Handled = true;
        return true;
      }
    }
  }
}
en el formulario defino lo siguiente:

Código:
namespace Presentacion
{
  public partial class frmBancosAltas : Form
  {
    ......................................
    ......................................

private bool validarCampos()
    {
      if ((textBox1.Text.Trim()) == String.Empty)
      {
        errorProvider1.SetError(textBox1, "Verificar Nombre de Banco");
        return false;
      }

      if ((textBox2.Text.Trim()) == String.Empty)
      {
        errorProvider1.SetError(textBox2, "Verificar Direccion");
        return false;
      }

      if ((textBox3.Text.Trim()) == String.Empty)
      {
        errorProvider1.SetError(textBox3, "Verificar Telefono");
        return false;
      }      

      else
      {
        return true;
      }
    }

    private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
    {
      Controles.ControlesValidaciones cv = new Controles.ControlesValidaciones();
      if (cv.validarLetras(sender, e) == false)
      {
        errorProvider1.Clear();
        toolStripStatusLabel1.Text = "";
      }
    }

    private void textBox3_KeyPress(object sender, KeyPressEventArgs e)
    {
      Controles.ControlesValidaciones cv = new Controles.ControlesValidaciones();
      if (cv.validarNumeros(sender, e) == false)
      {
        errorProvider1.Clear();
        toolStripStatusLabel1.Text = "";
      }
    }

    private void textBox2_KeyPress(object sender, KeyPressEventArgs e)
    {
      errorProvider1.Clear();
      toolStripStatusLabel1.Text = "";
    }


  }
}
además yo uso una estructura de datos como Clientes, pero la tengo definida como entidad en un proyecto llamado Comun

(ESTO PUEDE ESTAR EN LA CAPA DE LA LOGICA DE NEGOCIOS)

Código:
namespace Comun.Entidades
{
 public class Clientes
 {
  private int nro_cliente;
  private string nombre;
  private string direccion;
  private string telefono;

  public int Nro_cliente
  {
   get { return this.nro_cliente; }
   set { this.nro_cliente = value; }
  }

  public string Nombre
  {
   get { return this.nombre; }
   set { this.nombre = value; }
  }

  public string Direccion
  {
   get { return this.direccion; }
   set { this.direccion = value; }
  }

  public string Telefono
  {
   get { return this.telefono; }
   set { this.telefono = value; }
  }