Laboratorio C#
Laboratorio C#
Laboratorio C#
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.
TOPICOS
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
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
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
TOPICOS
FAZ
TOPICOS
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
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
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); } }
TOPICOS
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
FAZ
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); }
TOPICOS
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
FAZ
BotnSalir
try { this.Close(); } catch (Exception Ex) { MessageBox.Show(Ex.Message); }
TOPICOS
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