Sei sulla pagina 1di 124

1. Crear un proyecto C# de clase ClassLibrary (Biblioteca de clases) con el nombre que desea.

2. Eliminar la Class1 que se crea por default. (clik derecho sobre la clase, eliminar y aceptar).
3. Crear dos carpetas dentro del proyecto. La primera con el nombre de: Enlace Datos y la segunda con el nombre de: Negocios.
4. Iniciaremos trabajando en la capa de Enlace Datos, que es la que nos permite realizar la conexión desde Visual Studio 2008 a Sql Server 2008 que es nuestro motor de bases de datos para este
proyecto
5. En la carpeta de Enlace Datos dar clik derecho, agregar, clase y le colocaremos como nombre: Conexión.
6. Dentro de esta nueva clase colocar el siguiente código, agregando las librerías que visual studio requiera: (agregar System.Data y System.Data.SqlClient). y en la parte de la class colocarle al inicio la
palabra public (dentro del código la marcada en negrilla y subrayada).
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;

namespace Software_Juntas_Defensa_Civil.Enlace_Datos
{
public class Conexión
{
//Declaro los objetos y atributos de la clase.
private String cadena = "Data Source =(local);Initial Catalog = Software_JDC_Portal_Mercedes;Integrated Security = True";
//"Data Source = NOMBRE DEL SERVIDOR Sql Server; Initial Catalog = NOMBRE DE SU BASE DE DATOS; Integrated Security =
True";//
private SqlConnection cnx;
private SqlDataAdapter adapter;
private SqlCommand cmd;
private Boolean validador = true;
private DataTable dtConexion = new DataTable();
private SqlDataReader drConsulta;
//creo los metodos de mi clase.
private void Conectar()//Metodo para realizar la conexion a la base de datos.
{
cnx = new SqlConnection(cadena);//instancio el Objeto de conexion
try
{
cnx.Open();//abro la conexion.
if (cnx != null)
{//valido si la coxion esta abierta.
validador = true;
}
}
catch (Exception e)
{//capturo la exception generada
if (cnx != null)
{//verifico que no este abierta
cnx.Close();//confirmo cerrar el objeto conexion
cnx.Dispose();//libero el objeto.
validador = false;
}
}
}

public DataTable Consultar(String Querry)//Metodos para realizar consultas


{
Conectar();
adapter = new SqlDataAdapter(Querry, cnx);//Instancio el Objeto adapter
try
{
adapter.Fill(dtConexion);//LLeno la consulta en el Objeto Tabla
}
catch (Exception e)
{
dtConexion.Clear();
dtConexion.Dispose();
adapter.Dispose();

}
return dtConexion;//Retornamos la tabla llena.
}
public SqlDataReader Consultar2(String Querry)
{
Conectar();
SqlCommand cm = new SqlCommand();
cm.Connection = cnx;
cm.CommandText = Querry;
//cm.ExecuteNonQuery();
drConsulta = cm.ExecuteReader();

return drConsulta;
}
public void Ejecutar(String Querry)
{
cmd = new SqlCommand();
try
{
cmd.Connection = cnx;
cmd.CommandText = Querry;
cmd.ExecuteNonQuery();
cmd.Dispose();
cnx.Close();
}
catch (Exception e)
{
cmd.Dispose();
cnx.Close();
}
}
}
}
7. En la carpeta de Enlace Datos dar clik derecho y agregar una clase con el nombre de: Conexión1.
8. Dentro de esta nueva clase colocar el siguiente código, agregando las librerías que visual studio requiera: (agregar System.Data.SqlClient). y en la parte de la class colocarle al inicio la palabra public
(dentro del código la marcada en negrilla y subrayada).
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;

namespace Software_Juntas_Defensa_Civil.Enlace_Datos
{
public class Conexión1
{
public SqlCommand cmd = null;
public SqlConnection conectar = new SqlConnection();
public static string con = @"Data Source=(local);Initial Catalog=Software_JDC_Portal_Mercedes;Integrated security=True";

public void conectar1()


{
conectar.ConnectionString = con;
}

}
}
9. De esta forma terminamos nuestra capa de Enlace Datos.
10. Ahora vamos a trabajar en la capa de Negocios. Que es donde vendrán todas las clases de cada una de nuestras tablas creadas en Sql Server 2008.
11. En la carpeta de Negocios dar clik derecho y agregar una clase con el nombre de: Usuario.
12. La clase Usuario es la que nos va a permitir la diferenciación de roles dentro del programa con la finalidad de darle mayor seguridad al programa (en el caso de este ejemplo que el Líder Voluntario no
tenga las mismas funciones del rol Presidente), además de poder insertar nuevos usuarios.
13. Dentro de esta nueva clase colocar el siguiente código, agregando las librerías que visual studio requiera: (agregar System.Data, System.Data.SqlClient y la JDC_Portal_Mercedes.EnlaceDatos). y en la
parte de la class colocarle al inicio la palabra public (dentro del código la marcada en negrilla y subrayada).
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using Software_Juntas_Defensa_Civil.Enlace_Datos; //Esta using nos permite usar las clases de conexiones que tenermos guardadas en nuestra capa (carpeta
Enlace Datos).

namespace Software_Juntas_Defensa_Civil.Negocios
{
public class Usuario
{
// declaro los atributos de la clase

private String Nombre_Usuario;


private String Contraseña;
private String Cargo;
private Enlace_Datos.Conexión Con;
private DataTable dtLogin = new DataTable();
private SqlDataReader dr;
private DataSet ds;

//encapsulo los atributos.

public String Nombre1


{
get { return Nombre_Usuario; }
set { Nombre_Usuario = value; }
}
public String Contraseña1
{
get { return Contraseña; }
set { Contraseña = value; }
}
public String Rol
{
get { return Cargo; }
set { Cargo = value; }
}
public int Login()
{
Con = new Software_Juntas_Defensa_Civil.Enlace_Datos.Conexión();
String Query = "Select * from Usuario where Nombre_Usuario='" + Nombre_Usuario + "' and Contraseña='" + Contraseña + "'";
int valor = 0;
String ro = "";
this.dtLogin = Con.Consultar(Query);
if (dtLogin.Rows.Count > 0)
{
int filas = dtLogin.Rows.Count - 1;
DataRow dr = dtLogin.Rows[filas];
for (int i = 0; i <= filas; i++)
ro = dr["Cargo"].ToString();
if (ro == "Presidente")
valor = 1;
if (ro == " Lider Voluntario")
valor = 2;
}

return valor;
}
public int Login2()
{
int valor = 0;
Con = new Software_Juntas_Defensa_Civil.Enlace_Datos.Conexión();
String Query = "Select * from Usuario where Nombre_Usuario='" + Nombre_Usuario + "' and Contraseña='" + Contraseña + "'";

String ro = "";
dr = Con.Consultar2(Query);
while (dr.Read())
{
ro = dr.GetString(2);
}
if (ro == "Presidente")
valor = 1;
if (ro == "Lider Voluntario")
valor = 2;
return valor;
}

public DataTable Buscar()


{
String Consulta = "Select * from Personas";
Con = new Software_Juntas_Defensa_Civil.Enlace_Datos.Conexión();
return this.dtLogin = Con.Consultar(Consulta);
}
public Conexión1 conexionusuario = new Conexión1();
public void INGRESAR_USUARIO(string Nombre_Usuario, string Contraseña, string Cargo)
{
conexionusuario.conectar1();
SqlCommand comando = new SqlCommand("Insert into Usuario( Nombre_Usuario,Contraseña,Cargo)values ( @Nombre_Usuario,@Contraseña,@Cargo)",
conexionusuario.conectar);

comando.Parameters.AddWithValue("Nombre_Usuario", Nombre_Usuario);
comando.Parameters.AddWithValue("Contraseña", Contraseña);
comando.Parameters.AddWithValue("Cargo", Cargo);

conexionusuario.conectar.Open();
comando.ExecuteNonQuery();
}
}
}
14. De esta forma terminamos la creación de nuestra clase Usuario.
15. En la carpeta de Negocios dar clik derecho y agregar una clase con el nombre de: Datos Líder Voluntario (en este caso, en otros proyectos esta sería la clase Empleado).
16. La clase Datos Líder Voluntario nos permite crear la CRUD (Create, Read, Update, Delete).
17. Dentro de esta nueva clase colocar el siguiente código, agregando las librerías que visual studio requiera: (agregar System.Data.SqlClient y la JDC_Portal_Mercedes.EnlaceDatos). y en la parte de la class
colocarle al inicio la palabra public (dentro del código la marcada en negrilla y subrayada).
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using Software_Juntas_Defensa_Civil.Enlace_Datos;

namespace Software_Juntas_Defensa_Civil.Negocios
{
public class Lider_Voluntario
{
public Conexión1 conexionLiderV_Datos = new Conexión1();
public void Ingresar_LiderV(string Dni_Lider_V, string Nombre_Completo, string Telefono, string Celular, string Correo, string Direccion, string
Cargo, string Codigo_SB, string Nombre_Usuario)
{
conexionLiderV_Datos.conectar1();
SqlCommand comando = new SqlCommand(" Insert into
Lider_Voluntario_Datos(Dni_Lider_V,Nombre_Completo,Telefono,Celular,Correo,Direccion,Cargo,Codigo_SB,Nombre_Usuario)Values(@Dni_Lider_V,@Nombre_Completo
,@Telefono,@Celular,@Correo,@Direccion,@Cargo,@Codigo_SB,@Nombre_Usuario)", conexionLiderV_Datos.conectar);

comando.Parameters.AddWithValue("@Dni_Lider_V", Dni_Lider_V);
comando.Parameters.AddWithValue("@Nombre_Completo", Nombre_Completo);
comando.Parameters.AddWithValue("@Telefono", Telefono);
comando.Parameters.AddWithValue("@Celular", Celular);
comando.Parameters.AddWithValue("@Correo", Correo);
comando.Parameters.AddWithValue("@Direccion", Direccion);
comando.Parameters.AddWithValue("@Cargo", Cargo);
comando.Parameters.AddWithValue("@Codigo_SB", Codigo_SB);
comando.Parameters.AddWithValue("@Nombre_Usuario", Nombre_Usuario);

conexionLiderV_Datos.conectar.Open();
comando.ExecuteNonQuery();
}

public void Actualizar_LiderV(string Dni_Lider_V, string Nombre_Completo, string Telefono, string Celular, string Correo, string Direccion,
string Cargo, string Codigo_SB, string Nombre_Usuario)
{
conexionLiderV_Datos.conectar1();
SqlCommand comando = new SqlCommand("Update Lider_Voluntario_Datos Set
Nombre_Completo=@Nombre_Completo,Telefono=@Telefono,Celular=@Celular,Direccion=@Direccion,Correo=@Correo,Cargo=@Cargo,Codigo_SB=@Codigo_SB,Nombre_Usuari
o= @Nombre_Usuario Where Dni_Lider_V=@Dni_Lider_V", conexionLiderV_Datos.conectar);

comando.Parameters.AddWithValue("@Dni_Lider_V", Dni_Lider_V);
comando.Parameters.AddWithValue("@Nombre_Completo", Nombre_Completo);
comando.Parameters.AddWithValue("@Telefono", Telefono);
comando.Parameters.AddWithValue("@Celular", Celular);
comando.Parameters.AddWithValue("@Correo", Correo);
comando.Parameters.AddWithValue("@Direccion", Direccion);
comando.Parameters.AddWithValue("@Cargo", Cargo);
comando.Parameters.AddWithValue("@Codigo_SB", Codigo_SB);
comando.Parameters.AddWithValue("@Nombre_Usuario", Nombre_Usuario);

conexionLiderV_Datos.conectar.Open();
comando.ExecuteNonQuery();

}
}
}
18. En esta clase solo encontraremos de la CRUD el Create y el Update, el Read lo veremos más adelante y por cuestiones de seguridad del programa no se utiliza el Delete.
19. Y con esto damos por terminada la clase Datos Líder Voluntario.
20. En la carpeta de Negocios se deben seguir creando las demás clases que necesita nuestro aplicativo en los diferentes formularios.
21. De esta forma se termina nuestra segunda capa, que en este caso es la capa de Negocios.
22. Ahora viene la tercera y última capa de nuestro proyecto a tres capas que es la capa de Presentación.
23. Para la ceración de esta capa nos dirigiremos al explorador de soluciones y dando clik derecho sobre la parte que dice “Solución ‘el nombre que le colocamos al primer proyecto’ (1proyecto)” y agregar
un nuevo proyecto de tipo Aplicación de Windows Forms (Windows Forms Application) el cual lo nombraremos presentación (si le quieren colocar algo más lo pueden hacer).
24. Luego de crearlo daremos clik derecho sobre el nombre de nuestro nuevo proyecto y daremos clik en “Establecer Como Proyecto de Inicio”. (Si el título del nuevo proyecto queda en negrilla significa
que el proyecto si quedo establecido como proyecto de inicio).
25. Luego agregaremos una referencia en el proyecto de Presentación. Daremos clik derecho en “References”, Agregar Referencia, Proyectos y les aparecerá el nombre del primer proyecto que ustedes
crearon. Y clik en aceptar.
26. Dentro de este proyecto agregaremos dos carpetas las cuales serán: Presidente (en el caso de mi proyecto, en otros casos es Administrador) y Líder Voluntario (en el caso de mi proyecto, en otros casos
es Empleado). Y los demás roles o perfiles que requiera su aplicativo (por ejemplo: Cliente, Proveedor, etc…).
27. Cambiaremos el nombre del formulario que Visual Studio 2008 nos genera por default “Form1.cs” a “Inicio de Sesión Software JDC.cs” (En mi caso en el caso de ustedes lo pueden dejar Inicio de Sesión
no mas)
28. Iniciaremos a crear nuestro formulario de Inicio de Sesión. Por lo que habilitaremos el Cuadro de Herramientas (donde encontraremos todos los elementos necesarios para el diseño de nuestro
formulario). Y luego habilitaremos solo los controles comunes.
29. Si lo consideran necesario pueden ampliar el formulario, por default el formulario viene con un “Size” (tamaño) de 300, 300 y yo lo voy a ampliar a un tamaño de 524, 312
30. De igual forma voy a cambiar el título del formulario en la parte de Propiedades, Text. Por default aparecerá “Form1” y yo lo voy a cambiar por “Inicio de Sesión Juntas Defensa Civil”.
31. Ahora procederé a la creación del diseño de mi Inicio de Sesión. (el diseño será realizado por medio de Label, TextBox , Button y un PictureBox. Los cuales encontraremos dentro de nuestros Controles
Comunes.
31.1. Acabo de agregar un Label (los Label sirven para colocar textos en el formulario). Por default nos va a aparecer con un texto que dice “label1” y yo lo voy a cambiar por “Inicio de Sesión Software
JDC”.
31.2. Luego procederé a ampliar el tamaño de la letra y cambiar la fuente de la letra en la parte de Propiedades en “Font”. Por default aparece en Microsoft Sans Serif, 8,25pt y yo la voy a colocar en
“Britannic Bold, 21,75pt, style=Italic”. Yo utilizare esta fuente para todos los formularios. Ustedes pueden escoger entre las diferentes fuentes de letra que tiene el “Font” de Visual Studio 2008.
31.3. Ya termine de crear el diseño. Algo así debe ser un formulario de Inicio de Sesión. Si deseamos colocarle color en el fondo lo podemos hacer dando clik en el formulario y en la parte “Back
Color”.

Label

TextBox

Button

PictureBox
GroupBox

Se encuentra en
“Contenedores”
32. Ya que tenemos el diseño del formulario, procederemos a configurar los botones.
32.1. Daremos doble clik en el botón de Ingresar (también se puede llamar Entrar, Login o como lo llaman nombrado en su proyecto). En todo formulario se le debe asignar un nombre tanto a los
TextBox como a los Button. El nombre se le coloca en la Propiedad “Name”
32.2. Antes de insertar el código del botón Login en mí caso. Crearemos dos nuevos formularios, uno en la carpeta Presidente y el otro en la carpeta Líder Voluntario.
Así terminamos la creación del menú de Lideres Voluntarios. Ahora crearemos el menú de Presidente.
Así ya tenemos creados los dos formularios, los cuales más adelante trabajaremos para que sean los menús de nuestros usuarios. Ahora vamos a darle funcionalidad al botón ingresar del
formulario de inicio de sesión. Agregando las siguientes librerías (Software_Juntas_Defensa_Civil.Negocios, Presentación_Software_JDC.Presidente y
Presentación_Software_JDC.Lider_Voluntario).

Luego configuraremos el botón Salir dando doble clik en el. Y colocando el código para darle funcionabilidad al botón.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Software_Juntas_Defensa_Civil.Negocios;
using Presentación_Software_JDC.Presidente;
using Presentación_Software_JDC.Lider_Voluntario;

namespace Presentación_Software_JDC
{
public partial class Form1 : Form
{
//Validacion Validar = new Validacion();

public Form1()
{
InitializeComponent();
}

private void limpiar() //Metodo Privado para limpiar campos de texto.


{
txtUsuario.Clear();
txtContraseña.Clear();
}

private void Form1_Load(object sender, EventArgs e)


{

private void btLogin_Click(object sender, EventArgs e) //Codigo del Boton Login.


{
Usuario Buscar = new Usuario();
Buscar.Nombre1 = this.txtUsuario.Text;
Buscar.Contraseña1 = this.txtContraseña.Text;
if (Buscar.Login2().Equals(1))
{
Menu_Presidente MenuPre = new Menu_Presidente();
MenuPre.Show();
this.Hide();
limpiar();
}
if (Buscar.Login2().Equals(2))
{
Menu_Lideres_Voluntarios MenuLiV = new Menu_Lideres_Voluntarios();
MenuLiV.Show();
this.Hide();
limpiar();
}
}

private void btnSalir_Click(object sender, EventArgs e) //Codigo del Boton Salir.


{
this.Close();
Application.Exit();

}
}
}
33. Realizaremos el ensayo del formulario de inicio de sesión. Procederemos a la ejecución con el botón función F5 del teclado. (para que el aplicativo funcione se tiene que haber creado Previamente la
Base de Datos).
En este caso con los datos insertados nos envía al menú de Presidente. (Nos aparece el formulario en blanco por lo que no lo hemos configurado para que quede como un menú. Ahora realizaremos el
mismo ensayo pero para observar el menú de Lideres Voluntarios.
El botón ingresar funciona correctamente. Ahora vamos a observar la funcionalidad del botón salir, el cual al ejecutarlo nos debe cerrar por completo la ejecución del aplicativo.
El botón salir también está funcionando correctamente.
34. Ahora configuraremos los menús.
34.1. Dentro del Cuadro de Herramientas encontraremos la parte de Menús y barras de Herramientas. Agregaremos al formulario un MenuStrip. (yo en mi caso ya tenía el diseño adelantado)
Es aquí donde se visualiza la diferencia entre los roles o perfiles, ya que no todos no tienen las mismas funciones que el otro. Dentro de estos menús se configuran los diferentes formularios que
utilizara el aplicativo para cada uno de los usuarios.

35. Ahora procederemos a crear un nuevo formulario dentro de la carpeta Presidente (clik derecho, agregar, Windows Forms) con el nombre de “Registro de Usuarios”. (yo por cuestiones de rapidez ya
tengo el formulario diseñado).
35.1. Ahora procederemos a darle funcionalidad al botón Registrarse. Agregando las librerías necesarias del primer proyecto más las que Visual Studio 2008 nos vaya pidiendo al insertar el código.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
using Software_Juntas_Defensa_Civil.Enlace_Datos;
using Software_Juntas_Defensa_Civil.Negocios;

namespace Presentación_Software_JDC.Presidente
{
public partial class Registro_de_Usuarios : Form
{
public static string Nombre_Usuario = "";

public Registro_de_Usuarios()
{
InitializeComponent();
}

private void Registro_de_Usuarios_Load(object sender, EventArgs e)


{

protected void INGRESA_USUARIO()


{
Usuario agregar = new Usuario();
agregar.INGRESAR_USUARIO(txtNombreU.Text, txtContraseña.Text, txtCargo.Text);

private void btnRegistrarse_Click(object sender, EventArgs e)


{
if (txtNombreU.Text == "")
{
MessageBox.Show("Por Favor Ingrese El Nombre Del Usuario");
}
if (txtContraseña.Text == "")
{
MessageBox.Show("Por Favor Ingrese La Contraseña Del Usuario");
}
if (txtConfirmar.Text == "")
{
MessageBox.Show("Por Favor Confirme La Contraseña Del Usuario");
}
if (txtCargo.Text == "")
{
MessageBox.Show("Por Favor Confirme El Cargo Del Usuario Dentro De La JDC");
}

else
{
SqlConnection conec = new SqlConnection(Conexión1.con);
conec.Open();
SqlCommand comando = new SqlCommand("Select * from Usuario Where Nombre_Usuario = '" + txtNombreU.Text + "'", conec);
SqlDataReader leer = comando.ExecuteReader();
if (leer.Read() == true)
{

MessageBox.Show("El Usuario ya se encuentra registrado");


}
else if (txtContraseña.Text == txtConfirmar.Text)
{
try
{
INGRESA_USUARIO();

Nombre_Usuario = txtNombreU.Text;
MessageBox.Show("Usuario Registrado !!");
this.Close();
}
catch (Exception ex)
{
MessageBox.Show("Mal" + ex);
}
}
else
{
MessageBox.Show("Las Contraseñas no coinciden", "Advertencia", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
}
}
36. Dentro de la misma carpeta crearemos otro formulario con el nombre de “Registro Lideres Voluntarios”. (se crea de la misma forma como el anterior).
En este caso agregamos un nuevo elemento que es el LinkLabel que nos permite enviarnos abrir otro formulario que en este caso será el formulario anterior.
Este es el código de funcionalidad del formulario.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
using Software_Juntas_Defensa_Civil.Enlace_Datos;
using Software_Juntas_Defensa_Civil.Negocios;
using Presentación_Software_JDC.Presidente;

namespace Presentación_Software_JDC.Presidente
{
public partial class Registro_Lideres_Voluntarios : Form
{
//Validacion Validar = new Validacion();

public Registro_Lideres_Voluntarios()
{
InitializeComponent();
}

private void Registro_Lideres_Voluntarios_Load(object sender, EventArgs e)


{

}
private void Limpiar()
{
txtDocumento.Clear();
txtNombre_Completo.Clear();
txtTelefono.Clear();
txtCelular.Clear();
txtDireccion.Clear();
txtCorreo.Clear();
txtCargo.Clear();
txtCodigoSB.Clear();
txtUsuario.Clear();
}

private void consultar_LiderV(string Dni_Lider_V)


{
SqlConnection con = new SqlConnection(Conexión1.con);
con.Open();
SqlCommand comando = new SqlCommand("Select * from Lider_Voluntario_Datos Where Dni_Lider_V=" + txtDocumento.Text, con);
SqlDataReader leer;
leer = comando.ExecuteReader();
if (leer.Read())
{
txtDocumento.Text = leer[0].ToString();
txtNombre_Completo.Text = leer[1].ToString();
txtTelefono.Text = leer[2].ToString();
txtCelular.Text = leer[3].ToString();
txtDireccion.Text = leer[4].ToString();
txtCorreo.Text = leer[5].ToString();
txtCargo.Text = leer[6].ToString();
txtCodigoSB.Text = leer[7].ToString();
txtUsuario.Text = leer[8].ToString();
}
else
{
MessageBox.Show("No Existe en la Base de Datos", "ALERTA", MessageBoxButtons.OK, MessageBoxIcon.Stop);
leer.Close();
con.Close();
}
}

private void btnAgregar_LiderV_Click(object sender, EventArgs e)


{
if (txtDocumento.Text == "")
{
MessageBox.Show("Porfavor Ingrese El Documento Del Lider Voluntario");
}
if (txtNombre_Completo.Text == "")
{
MessageBox.Show("Porfavor Ingrese El Nombre Del Lider Voluntario");
}
if (txtCelular.Text == "")
{
MessageBox.Show("Porfavor Ingrese El Celular Del Lider Voluntario ");
}
if (txtDireccion.Text == "")
{
MessageBox.Show("Porfavor Ingrese La Direccion Del Lider Voluntario ");
}
if (txtCorreo.Text == "")
{
MessageBox.Show("Porfavor Ingrese El Correo Del Lider Voluntario");
}
if (txtCargo.Text == "")
{
MessageBox.Show("Porfavor Ingrese El Cargo Del Lider Voluntario Dentro De La JDC");
}
if (txtCodigoSB.Text == "")
{
MessageBox.Show("Porfavor Ingrese El Codigo SB Del Lider Voluntario");
}
if (txtUsuario.Text == "")
{
MessageBox.Show("Porfavor Ingrese El Id Del Usuario");
}

else
{
SqlConnection conec = new SqlConnection(Conexión1.con);
conec.Open();

SqlCommand comando = new SqlCommand("Select * from Lider_Voluntario_Datos Where Dni_Lider_V =" + txtDocumento.Text + "", conec);
SqlDataReader leer = comando.ExecuteReader();

if (leer.Read() == true)
{
MessageBox.Show("El Lider Voluntario se ha guardado correctamente");
}

else
{
Lideres_Voluntarios Agregar = new Lideres_Voluntarios();
Agregar.Ingresar_LiderV(txtDocumento.Text, txtNombre_Completo.Text, txtTelefono.Text, txtCelular.Text, txtDireccion.Text,
txtCorreo.Text, txtCargo.Text, txtCodigoSB.Text, txtUsuario.Text);
Limpiar();
}
}
}

private void btnBuscarLiderV_Click(object sender, EventArgs e)


{
if (txtDocumento.Text == "")
{
MessageBox.Show("Ingrese El Numero De Documento Del Lider Voluntario A Buscar");
}
else
{
consultar_LiderV(txtDocumento.Text);
}
}
private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
Registro_de_Usuarios Registro = new Registro_de_Usuarios();
Registro.Show();
}

private void txtUsuario_KeyPress(object sender, KeyPressEventArgs e)


{
txtUsuario.Text = Registro_de_Usuarios.Nombre_Usuario;
}

private void txtDocumento_KeyPress(object sender, KeyPressEventArgs e)


{
//Validar.Validar_Numeros(e);
//if (e.KeyChar == Convert.ToChar(13))
//txtDocumento.Focus();
}

private void txtNombre_Completo_KeyPress(object sender, KeyPressEventArgs e)


{
//Validar.Validar_Letras(e);
//if (e.KeyChar == Convert.ToChar(13))
//txtNombre_Completo.Focus();
}

private void txtTelefono_KeyPress(object sender, KeyPressEventArgs e)


{
//Validar.Validar_Numeros(e);
//if (e.KeyChar == Convert.ToChar(13))
//txtTelefono.Focus();
}

private void txtCelular_KeyPress(object sender, KeyPressEventArgs e)


{
//Validar.Validar_Numeros(e);
//if (e.KeyChar == Convert.ToChar(13))
//txtCelular.Focus();
}

private void txtCargo_KeyPress(object sender, KeyPressEventArgs e)


{
//Validar.Validar_Letras(e);
//if (e.KeyChar == Convert.ToChar(13))
//txtCargo.Focus();
}
private void txtCodigoSB_KeyPress(object sender, KeyPressEventArgs e)
{
//Validar.Validar_Numeros(e);
//if (e.KeyChar == Convert.ToChar(13))
//txtCodigoSB.Focus();
}
}
}
37. Por ultimo agregaremos una nueva carpeta con el nombre “Clases Adicionales” y en ella crearemos una clase con el nombre de “Validación”. Y en ella el siguiente código.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Presentación_Software_JDC.Clases_Adicionales
{
class Validación
{
public void Validar_Numeros(System.Windows.Forms.KeyPressEventArgs e)
{
if (char.IsDigit(e.KeyChar))
{
e.Handled = false;
}
else if (char.IsControl(e.KeyChar))
{
e.Handled = false;
}
else
{
e.Handled = true;
System.Windows.Forms.MessageBox.Show("Debe Ingresar Solo Numeros");
}
}
public void Validar_Letras(System.Windows.Forms.KeyPressEventArgs e)
{
if (char.IsLetter(e.KeyChar))
{
e.Handled = false;
}
else if (char.IsWhiteSpace(e.KeyChar))
{
e.Handled = false;
}
else if (char.IsControl(e.KeyChar))
{
e.Handled = false;
}
else
{
e.Handled = true;
System.Windows.Forms.MessageBox.Show("Debe Ingresar Solo Letras");
}
}
}
}
38. En la parte que se encontraba con // en el formulario de “Registro Lideres Voluntarios” ya las podemos retirar para que el formulario quede con el 100% de funcionalidad.
39. En mi caso yo ya tengo creado lo siguiente: (todo lo que ven en el Explorador de Soluciones)
40. Y eso es todo. Ya sabemos cómo crear un proyecto a 3 capas en lenguaje de programación C# para seguir creando CRUD de otras tablas se debe hacer lo mismo como si fuese a crear de nuevo la de
líder voluntario. Desde Negocios crear la respectiva CRUD con el nombre de los que vamos a crear (por ejemplo Producto) luego crear el formulario en la carpeta de Administrador y luego configurar el
formulario.

Gracias Por su Atención y espero que les sirva…

Potrebbero piacerti anche