Laboratorio C#

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 13

Ing.

Gullner Ramrez Aguilar CREACION DEL FORMULARIO PROVEEDOR

FAZ

Objetivo: A. Usar el lenguaje C# que forma parte de la plataforma de desarrollo VS.NET 2010. B. Validacin de Controles. C. Desarrollar la aplicacin usando 3 capas de desarrollo. Crear Una Base de Datos de Nombre Prueba, crear una Tabla de Nombre Proveedor la cual tendr la siguiente estructura la llave Primaria ser un Identity.

Crear los procedimientos almacenados de mantenimiento (SIDU) de la tabla y ejecutarlos en el SQL.


------------------------------------------------------------------------------DESCRIPCION : Inserta un Registro en la Tabla PRU_Proveedor --Usado por : Modulo de ... --Autor GRAMIREZ 27/11/2012 12:37:13 p.m. ----------------------------------------------------------------------------CREATE PROCEDURE [dbo].[PRU_I_Proveedor] ( @IdProveedor [int] Output, @RazonSocialProveedor [varchar] (70), @RucProveedor [varchar] (12), @DireccionProveedor [varchar] (70), @TelefonoProveedor [varchar] (10), @CelularProveedor [varchar] (10), @CiudadProveedor [varchar] (20), @CorreoProveedor [varchar] (30) ) AS INSERT INTO [PRU_Proveedor] ( [RazonSocialProveedor], [RucProveedor], [DireccionProveedor], [TelefonoProveedor], [CelularProveedor], [CiudadProveedor], [CorreoProveedor] ) VALUES ( @RazonSocialProveedor,

TOPICOS

Ing. Gullner Ramrez Aguilar

FAZ

@RucProveedor, @DireccionProveedor, @TelefonoProveedor, @CelularProveedor, @CiudadProveedor, @CorreoProveedor ) SET @IdProveedor=@@IDENTITY GO ------------------------------------------------------------------------------DESCRIPCION : Actualiza un Registro en la Tabla PRU_Proveedor --Usado por : Modulo de ... --Autor GRAMIREZ 27/11/2012 12:37:13 p.m. ----------------------------------------------------------------------------CREATE PROCEDURE [dbo].[PRU_U_Proveedor] ( @IdProveedor [int], @RazonSocialProveedor [varchar] (70), @RucProveedor [varchar] (12), @DireccionProveedor [varchar] (70), @TelefonoProveedor [varchar] (10), @CelularProveedor [varchar] (10), @CiudadProveedor [varchar] (20), @CorreoProveedor [varchar] (30) ) AS UPDATE [PRU_Proveedor] SET [RazonSocialProveedor] = @RazonSocialProveedor, [RucProveedor] = @RucProveedor, [DireccionProveedor] = @DireccionProveedor, [TelefonoProveedor] = @TelefonoProveedor, [CelularProveedor] = @CelularProveedor, [CiudadProveedor] = @CiudadProveedor, [CorreoProveedor] = @CorreoProveedor WHERE [IdProveedor] = @IdProveedor GO ------------------------------------------------------------------------------DESCRIPCION : Elimina un Registro en la Tabla PRU_Proveedor --Usado por : SIGO - Modulo de ... --Autor GRAMIREZ 27/11/2012 12:37:13 p.m. ----------------------------------------------------------------------------CREATE PROCEDURE [dbo].[PRU_D_Proveedor] ( @IdProveedor [int] ) AS DELETE [PRU_Proveedor] WHERE [IdProveedor] = @IdProveedor GO ------------------------------------------------------------------------------DESCRIPCION : Selecciona los Registro en la Tabla PRU_Proveedor Por ... y ... --Usado por : Modulo de ... --Autor GRAMIREZ 27/11/2012 12:37:13 p.m. ----------------------------------------------------------------------------CREATE PROCEDURE [dbo].[PRU_S_Proveedor] @RazonSocialProveedor [varchar] (70), @RucProveedor [varchar] (12) AS SELECT [IdProveedor],

TOPICOS

Ing. Gullner Ramrez Aguilar

FAZ

[RazonSocialProveedor], [RucProveedor], [DireccionProveedor], [TelefonoProveedor], [CelularProveedor], [CiudadProveedor], [CorreoProveedor] FROM [PRU_Proveedor] WHERE (@RazonSocialProveedor = '' OR [RazonSocialProveedor] LIKE '%' + @RazonSocialProveedor + '%') AND (@RucProveedor = '' OR [RucProveedor] LIKE '%' + @RucProveedor + '%') GO

TOPICOS

Ing. Gullner Ramrez Aguilar

FAZ

Crear una Solucion de nombre SlnPrueba dentro de la misma Crear 1 Proyecto de Clases de Nombre PrjCNegocioPrueba, Crear 1 Proyecto de Formularios de nombre PrjCPresentacionPrueba. Nos posicionamos en el proyecto de clases y creamos una clase de nombre ClsProveedor Anduntar la Clase ClsConexion al proyecto de clases (solicitar al docente). Se empleara encapsulamiento de datos para el envio de informacion entre el formulario y la clase. Crear una regin de nombre Campos:
#region Campos internal string Cmp_StrServidor; internalintCmp_IntIdProveedor; internal string Cmp_StrRazonSocialProveedor; internal string Cmp_StrRucProveedor; internal string Cmp_StrDireccionProveedor; internal string Cmp_StrTelefonoProveedor; internal string Cmp_StrCelularProveedor; internal string Cmp_StrCiudadProveedor; internalstringCmp_StrCorreoProveedor; #endregion

Crear una regin de nombre Propiedades


#region Propiedades public string Prp_StrServidor { get { returnthis.Cmp_StrServidor; } set { this.Cmp_StrServidor = value; } } publicintPrp_IntIdProveedor { get { returnthis.Cmp_IntIdProveedor; } set { this.Cmp_IntIdProveedor = value; } } public string Prp_StrRazonSocialProveedor { get

TOPICOS

Ing. Gullner Ramrez Aguilar


{ returnthis.Cmp_StrRazonSocialProveedor; } set { this.Cmp_StrRazonSocialProveedor = value; } } public string Prp_StrRucProveedor { get { returnthis.Cmp_StrRucProveedor; } set { this.Cmp_StrRucProveedor = value; } } public string Prp_StrDireccionProveedor { get { returnthis.Cmp_StrDireccionProveedor; } set { this.Cmp_StrDireccionProveedor = value; } } public string Prp_StrTelefonoProveedor { get { returnthis.Cmp_StrTelefonoProveedor; } set { this.Cmp_StrTelefonoProveedor = value; } } public string Prp_StrCelularProveedor { get { returnthis.Cmp_StrCelularProveedor; } set { this.Cmp_StrCelularProveedor = value; } } public string Prp_StrCiudadProveedor { get { returnthis.Cmp_StrCiudadProveedor; } set { this.Cmp_StrCiudadProveedor = value; } } public string Prp_StrCorreoProveedor {

FAZ

TOPICOS

Ing. Gullner Ramrez Aguilar


get { returnthis.Cmp_StrCorreoProveedor; } set { this.Cmp_StrCorreoProveedor = value; } } #endregion

FAZ

Ahora procedemos a crear los mtodos que permitirn gestionar la tabla (SIDU) Creamos la regin Mtodos de Mantenimiento
#regionMetodos de Mantenimiento publicintInsertarProveedor() { try { SqlCommandObjScdCommand = new SqlCommand(); ConexionObjConexion = new Conexion(); ObjConexion.Servidor = Cmp_StrServidor; ObjScdCommand.CommandType = CommandType.StoredProcedure; ObjScdCommand.CommandText = "PRU_I_Proveedor"; ObjScdCommand.Parameters.Add(new SqlParameter("@IdProveedor", SqlDbType.Int)); ObjScdCommand.Parameters.Add(new SqlParameter("@RazonSocialProveedor", SqlDbType.VarChar)); ObjScdCommand.Parameters.Add(new SqlParameter("@RucProveedor", SqlDbType.VarChar)); ObjScdCommand.Parameters.Add(new SqlParameter("@DireccionProveedor", SqlDbType.VarChar)); ObjScdCommand.Parameters.Add(new SqlParameter("@TelefonoProveedor", SqlDbType.VarChar)); ObjScdCommand.Parameters.Add(new SqlParameter("@CelularProveedor", SqlDbType.VarChar)); ObjScdCommand.Parameters.Add(new SqlParameter("@CiudadProveedor", SqlDbType.VarChar)); ObjScdCommand.Parameters.Add(new SqlParameter("@CorreoProveedor", SqlDbType.VarChar)); ObjScdCommand.Parameters["@IdProveedor"].Direction = ParameterDirection.Output; ObjScdCommand.Parameters["@RazonSocialProveedor"].Value = this.Cmp_StrRazonSocialProveedor; ObjScdCommand.Parameters["@RucProveedor"].Value = this.Cmp_StrRucProveedor; ObjScdCommand.Parameters["@DireccionProveedor"].Value = this.Cmp_StrDireccionProveedor; ObjScdCommand.Parameters["@TelefonoProveedor"].Value = this.Cmp_StrTelefonoProveedor; ObjScdCommand.Parameters["@CelularProveedor"].Value = this.Cmp_StrCelularProveedor; ObjScdCommand.Parameters["@CiudadProveedor"].Value = this.Cmp_StrCiudadProveedor; ObjScdCommand.Parameters["@CorreoProveedor"].Value = this.Cmp_StrCorreoProveedor; ObjScdCommand.Connection = ObjConexion.Conectar(); ObjScdCommand.ExecuteNonQuery();

TOPICOS

Ing. Gullner Ramrez Aguilar

FAZ

this.Cmp_IntIdProveedor = Convert.ToInt32(ObjScdCommand.Parameters["@IdProveedor"].Value); ObjConexion.Desconectar(ObjScdCommand.Connection); ObjConexion = null; ObjScdCommand = null; returnCmp_IntIdProveedor; } catch (Exception Ex) { // Recuerde que debe retornar un algun objeto del tipo de dato senalado return 0; throw new Exception(Ex.Message); } } publicboolModificarProveedor() { try { SqlCommandObjScdCommand = new SqlCommand(); ConexionObjConexion = new Conexion(); ObjConexion.Servidor = Cmp_StrServidor; ObjScdCommand.CommandType = CommandType.StoredProcedure; ObjScdCommand.CommandText = "PRU_U_Proveedor"; ObjScdCommand.Parameters.Add(new SqlParameter("@IdProveedor", SqlDbType.Int)); ObjScdCommand.Parameters.Add(new SqlParameter("@RazonSocialProveedor", SqlDbType.VarChar)); ObjScdCommand.Parameters.Add(new SqlParameter("@RucProveedor", SqlDbType.VarChar)); ObjScdCommand.Parameters.Add(new SqlParameter("@DireccionProveedor", SqlDbType.VarChar)); ObjScdCommand.Parameters.Add(new SqlParameter("@TelefonoProveedor", SqlDbType.VarChar)); ObjScdCommand.Parameters.Add(new SqlParameter("@CelularProveedor", SqlDbType.VarChar)); ObjScdCommand.Parameters.Add(new SqlParameter("@CiudadProveedor", SqlDbType.VarChar)); ObjScdCommand.Parameters.Add(new SqlParameter("@CorreoProveedor", SqlDbType.VarChar)); ObjScdCommand.Parameters["@IdProveedor"].Value = this.Cmp_IntIdProveedor; ObjScdCommand.Parameters["@RazonSocialProveedor"].Value = this.Cmp_StrRazonSocialProveedor; ObjScdCommand.Parameters["@RucProveedor"].Value = this.Cmp_StrRucProveedor; ObjScdCommand.Parameters["@DireccionProveedor"].Value = this.Cmp_StrDireccionProveedor; ObjScdCommand.Parameters["@TelefonoProveedor"].Value = this.Cmp_StrTelefonoProveedor; ObjScdCommand.Parameters["@CelularProveedor"].Value = this.Cmp_StrCelularProveedor; ObjScdCommand.Parameters["@CiudadProveedor"].Value = this.Cmp_StrCiudadProveedor; ObjScdCommand.Parameters["@CorreoProveedor"].Value = this.Cmp_StrCorreoProveedor; ObjScdCommand.Connection = ObjConexion.Conectar(); ObjScdCommand.ExecuteNonQuery(); ObjConexion.Desconectar(ObjScdCommand.Connection); ObjConexion = null; ObjScdCommand = null; return true; } catch (Exception Ex)

TOPICOS

Ing. Gullner Ramrez Aguilar


{ return false; throw new Exception(Ex.Message); } } publicboolEliminarProveedor() { try { SqlCommandObjScdCommand = new SqlCommand(); ConexionObjConexion = new Conexion(); ObjConexion.Servidor = Cmp_StrServidor;

FAZ

ObjScdCommand.CommandType = CommandType.StoredProcedure; ObjScdCommand.CommandText = "PRU_D_Proveedor"; ObjScdCommand.Parameters.Add(new SqlParameter("@IdProveedor", SqlDbType.Int)); ObjScdCommand.Parameters["@IdProveedor"].Value = this.Cmp_IntIdProveedor; ObjScdCommand.Connection = ObjConexion.Conectar(); ObjScdCommand.ExecuteNonQuery(); ObjConexion.Desconectar(ObjScdCommand.Connection); ObjConexion = null; ObjScdCommand = null; return true; } catch (Exception Ex) { return false; throw new Exception(Ex.Message); } }

Creamos la regin Mtodos de Bsqueda


#regionMetodos de Busqueda publicDataTableBuscarProveedor() { try { SqlCommandObjScdCommand = new SqlCommand(); ConexionObjConexion = new Conexion(); ObjConexion.Servidor = Cmp_StrServidor; SqlDataAdapterObjSdaAdapter = new SqlDataAdapter(); DataTableObjDteTabla = new DataTable(); ObjScdCommand.CommandType = CommandType.StoredProcedure; ObjScdCommand.CommandText = "PRU_S_Proveedor"; ObjScdCommand.Parameters.Add(new SqlParameter("@RazonSocialProveedor", SqlDbType.VarChar)); ObjScdCommand.Parameters.Add(new SqlParameter("@RucProveedor", SqlDbType.VarChar)); ObjScdCommand.Parameters["@RazonSocialProveedor"].Value = this.Cmp_StrRazonSocialProveedor; ObjScdCommand.Parameters["@RucProveedor"].Value = this.Cmp_StrRucProveedor;

TOPICOS

Ing. Gullner Ramrez Aguilar


ObjScdCommand.Connection = ObjConexion.Conectar(); ObjScdCommand.ExecuteNonQuery(); ObjSdaAdapter.SelectCommand = ObjScdCommand; ObjSdaAdapter.Fill(ObjDteTabla); ObjConexion.Desconectar(ObjScdCommand.Connection);

FAZ

ObjConexion = null; ObjScdCommand = null; // Recuerde que debe retornar un algun objeto del tipo de dato senalado returnObjDteTabla; } catch (Exception Ex) { return null; throw new Exception(Ex.Message); } } #endregion

TOPICOS

Ing. Gullner Ramrez Aguilar

FAZ

Disear un formulario el cual deber tener la misma apariencia que la imagen.

Nota: se deja a criterio del alumno dar los nombres a cada uno de los controles, excepto a un label el cual se llamara LblCodigo y contendr el cogido de cada registro. Pre formatear el Objeto DataGridView para que cargue la consulta correctamente no olvidar que los campos de la bsqueda debern ser asignados a cada uno de los campos a mostrar. Load delFormulario
try { DgvVer.RowsDefaultCellStyle.BackColor = Color.White; DgvVer.AlternatingRowsDefaultCellStyle.BackColor = Color.LightGray; } catch (Exception Ex) { MessageBox.Show(Ex.Message); }

Crear procedimientos de limpieza de campos, bloqueo y desbloqueo


privatevoid Bloquear() { foreach (Control c in this.Controls) { if (c is TextBox) { c.Enabled = false; this.TsbNuevo.Select(); } } } private void Desbloquear() { foreach (Control c in this.Controls) { if (c is TextBox) { c.Enabled = true; this.TxtRazon.Focus(); } }

TOPICOS

Ing. Gullner Ramrez Aguilar


} private void Limpiar() { foreach (Control c in this.Controls) { if (c is TextBox) { c.Text = ""; } } LblCodigo.Text = ""; }

FAZ

Botn Nuevo
try { Limpiar(); Desbloquear(); TsbGuardar.Text = "Guardar"; } catch (Exception Ex) { MessageBox.Show(Ex.Message); }

BotnGuardar
try { ClsProveedorObjProveedor = new ClsProveedor(); ObjProveedor.Prp_StrRazonSocialProveedor = TxtRazon.Text.Trim(); ObjProveedor.Prp_StrRucProveedor = TxtRuc.Text.Trim(); ObjProveedor.Prp_StrDireccionProveedor = TxtDireccion.Text.Trim(); ObjProveedor.Prp_StrTelefonoProveedor = TxtTelefono.Text.Trim(); ObjProveedor.Prp_StrCelularProveedor = TxtCelular.Text.Trim(); ObjProveedor.Prp_StrCiudadProveedor = TxtCiudad.Text.Trim(); ObjProveedor.Prp_StrCorreoProveedor = TxtCorreo.Text.Trim(); if (TsbGuardar.Text == "Guardar") { LblCodigo.Text = ObjProveedor.InsertarProveedor().ToString(); Bloquear(); } else {| ObjProveedor.Prp_IntIdProveedor = Convert.ToInt32(LblCodigo.Text); ObjProveedor.ModificarProveedor(); Bloquear(); } ObjProveedor = null; } catch (Exception Ex) { MessageBox.Show(Ex.Message); }

Botn Eliminar
try

TOPICOS

Ing. Gullner Ramrez Aguilar


{ ClsProveedorObjProveedor = new ClsProveedor(); ObjProveedor.Prp_IntIdProveedor = Convert.ToInt32(LblCodigo.Text); ObjProveedor.EliminarProveedor(); ObjProveedor = null; Bloquear(); } catch (Exception Ex) { MessageBox.Show(Ex.Message); }

FAZ

BotnSalir
try { this.Close(); } catch (Exception Ex) { MessageBox.Show(Ex.Message); }

Evento TextChange de la Busqueda por Razon Social


try { ClsProveedorObjProveedor = new ClsProveedor(); ObjProveedor.Prp_StrRazonSocialProveedor = TxtBuscarRazon.Text.Trim(); ObjProveedor.Prp_StrRucProveedor = TxtBuscaRuc.Text.Trim(); DgvVer.AutoGenerateColumns = false; DgvVer.DataSource = ObjProveedor.BuscarProveedor(); ObjProveedor = null; } catch (Exception Ex) { MessageBox.Show(Ex.Message); }

Evento TextChange de la Busqueda por RUC


try { ClsProveedorObjProveedor = new ClsProveedor(); ObjProveedor.Prp_StrRazonSocialProveedor = TxtBuscarRazon.Text.Trim(); ObjProveedor.Prp_StrRucProveedor = TxtBuscaRuc.Text.Trim(); DgvVer.AutoGenerateColumns = false; DgvVer.DataSource = ObjProveedor.BuscarProveedor(); ObjProveedor = null; } catch (Exception Ex) { MessageBox.Show(Ex.Message); }

Evento Click delObjetoDataGridView


try {

TOPICOS

Ing. Gullner Ramrez Aguilar

FAZ

stringstrVariable; strVariable = DgvVer[0, DgvVer.CurrentRow.Index].Value.ToString(); if (strVariable == "") { MessageBox.Show("Error Debe Seleccionar Un Registro", "Sistema"); } else { TsbGuardar.Text = "Modificar"; Desbloquear(); LblCodigo.Text = DgvVer[0, DgvVer.CurrentRow.Index].Value.ToString(); TxtRazon.Text = DgvVer[1, DgvVer.CurrentRow.Index].Value.ToString(); TxtRuc.Text = DgvVer[2, DgvVer.CurrentRow.Index].Value.ToString(); TxtDireccion.Text = DgvVer[3, DgvVer.CurrentRow.Index].Value.ToString(); TxtTelefono.Text = DgvVer[4, DgvVer.CurrentRow.Index].Value.ToString(); TxtCelular.Text = DgvVer[5, DgvVer.CurrentRow.Index].Value.ToString(); TxtCiudad.Text = DgvVer[6, DgvVer.CurrentRow.Index].Value.ToString(); TxtCorreo.Text = DgvVer[7, DgvVer.CurrentRow.Index].Value.ToString(); } } catch (Exception Ex) { MessageBox.Show(Ex.Message); }

TAREA Validar: El ruc que no permita ingresar letras El celular y el telfono solo debe permitir el ingreso de nmeros y el guion Los dems a excepcin del correo solo letras El correo verifica que sea un correo valido (@hotmail, @yahoo, @gmail) Usar el ErrorProvider del .NET para otras validaciones.

TOPICOS

También podría gustarte