Delegados en c
-
Upload
alfredo-martinez -
Category
Documents
-
view
46 -
download
3
Transcript of Delegados en c
DESARROLLO DE APLICACIONES CON LINQ, EF, SQL SERVER 2008 EN C#
Ing. Hobby Saavedra Rosas
TEMA 06: DELEGADOS EN C#, PARA
GESTIONAR INFORMACIÓN
ENTRE FORMULARIOS
DESARROLLO DE APLICACIONES CON LINQ, EF, SQL SERVER 2008 EN C#
Ing. Hobby Saavedra Rosas
GESTIONAR INFORMACIÓN ENTRE FORMULARIOS
USANDO DELEGADOS EN C#
1. DELEGADOS EN C#
Un delegado es un tipo que especifica un método a llamar, y opcionalmente una referencia a
otro delegado. Normalmente se utilizan, aparte de otras cosas, para implementar callbacks y
eventos.
Además, los delegados en .net permiten la ejecución asíncrona del método apuntado, y
también nos permiten obtener un arreglo de los delegados que está apuntando en cadena.
1.1. Situación Inicial: Tenemos dos formularios y deseamos pasa datos entre ellos.
Lo que necesitamos es obtener los datos del cliente del siguiente formulario.
DESARROLLO DE APLICACIONES CON LINQ, EF, SQL SERVER 2008 EN C#
Ing. Hobby Saavedra Rosas
2. LOS EVENTOS EN C#
Un evento es una acción que se inicia fuera de contexto, es manejado en uno más métodos del
programa. Por ejemplo un evento iniciado por el usuario sería el Mouse Click, pero también hay
eventos que son iniciados por otros objetos
3. IMPLEMENTACIÓN DE DELEGADOS Y EVENTOS
3.1. Usando el formulario FrmConClientes y declaramos los delegados y eventos
3.2. Ahora enviamos los datos al formulario FrmGenerarPedido, el cual necesita hacer uso de
los datos del Cliente.
DESARROLLO DE APLICACIONES CON LINQ, EF, SQL SERVER 2008 EN C#
Ing. Hobby Saavedra Rosas
3.3. Ahora desde el formulario FrmGenerarPedido, accedemos a los datos del cliente
mediante su firma(delegado)
En el botón Buscar Cliente, codificamos lo siguiente:
Luego creamos un procedimiento para poder asignar los valores del Cliente, dentro
del Formulario FrmGenerarPedido
3.4. Ejecutamos la aplicación
Como podemos observar tenemos el formulario para generar un pedido, pero necesitamos los
datos del Cliente, para ello hacemos Click en el botón Buscar Cliente, luego buscamos el
cliente y seguidamente debe aparece en el Formulario Actual( FrmGenerarPedido)
DESARROLLO DE APLICACIONES CON LINQ, EF, SQL SERVER 2008 EN C#
Ing. Hobby Saavedra Rosas
3.5. Seleccionamos el Cliente en el Formulario de búsqueda
Hacemos clic en Aceptar, y debemos observar que los datos ya fueron agregados
Ahora debemos agregar los productos, al pedido, para ello hacemos Click, en el botón buscar
Producto, realizamos la respectiva búsqueda, y lo vamos agregado al Pedido, ya dentro del
formulario de Generar pedido ingresamos la cantidad del producto, y si deseamos seguir
agregando lo podemos hacer, en caso que desea finalizar su compra, hacemos clic en Grabar,
y luego si deseamos ver el reporte hacemos click en Imprimir.
DESARROLLO DE APLICACIONES CON LINQ, EF, SQL SERVER 2008 EN C#
Ing. Hobby Saavedra Rosas
3.6. Buscamos los productos y los agregamos al pedido
Ahora observamos que los datos del producto ya lo tenemos el formulario Generar Pedido
Ahora ingresamos la cantidad y presionamos Enter, y nuestro Producto debe quedar agregado
hasta el momento en nuestro posible pedido
DESARROLLO DE APLICACIONES CON LINQ, EF, SQL SERVER 2008 EN C#
Ing. Hobby Saavedra Rosas
Seguimos agregando y luego guardamos el pedido
Luego que ya tenemos todos los productos en nuestro pedido procedemos a guardarlo.
Nos preguntar si estamos de acuerdo con los productos de nuestro pedido, de ser correcto
hacemos clic en Si, caso contrario en No, y se anulará nuestro pedido.
DESARROLLO DE APLICACIONES CON LINQ, EF, SQL SERVER 2008 EN C#
Ing. Hobby Saavedra Rosas
3.7. Si deseamos eliminar un producto del pedido, lo seleccionamos y luego hacesmos Clic en
el botón eliminar.
Codificamos el código para eliminar un producto del pedido.
Primeramente creamos un procedimiento de nombre eliminarProductoPedido y lo
llamamos desde el botón Eliminar Item.
DESARROLLO DE APLICACIONES CON LINQ, EF, SQL SERVER 2008 EN C#
Ing. Hobby Saavedra Rosas
Ejecutamos la aplicación y verificamos, que se pueda eliminar los productos del
pedido.
Ahora decidimos ya no comprar la impresora
DESARROLLO DE APLICACIONES CON LINQ, EF, SQL SERVER 2008 EN C#
Ing. Hobby Saavedra Rosas
Si hacemos clic en Si, el producto será retirado del pedido y los valores monetarios se van
actualizar.
4. Ahora cuando deseamos cerrar la aplicación, nos debe preguntar si realmente lo deseamos
hacer, o tal vez sin querer hicimos clic en el botón cerrar.
Si confirmamos que realmente deseamos salir de la aplicación es decir haciendo clic en el
botón Si, caso contrario seguimos dentro de la aplicación.
DESARROLLO DE APLICACIONES CON LINQ, EF, SQL SERVER 2008 EN C#
Ing. Hobby Saavedra Rosas
5. Codificamos en el formulario MDIPrincipal, el evento: MDIPrincipal_FormClosing
6. Procedemos a actualizar la cantidad de un determinado producto. Para ello seleccionamos de
la lista el producto y luego ingresamos la cantidad, seguidamente clic en actualizar.
Agregamos un botón que nos permita actualizar la cantidad de un producto.
Dentro del datagridview, en el evento CellClick, codificamos lo siguiente.
DESARROLLO DE APLICACIONES CON LINQ, EF, SQL SERVER 2008 EN C#
Ing. Hobby Saavedra Rosas
7. Codificamos el botón Actualizar, en su evento Click.
8. Ejecutamos la aplicación
DESARROLLO DE APLICACIONES CON LINQ, EF, SQL SERVER 2008 EN C#
Ing. Hobby Saavedra Rosas
Procedemos a actualizar la cantidad del producto.
9. Aplicar todos los conceptos al Proyecto Gestión Pedidos realizado por UD.
10. Requerimientos que debe tener su Proyecto de Unidad
10.1. Mantenimientos de todas las tablas
10.2. Consultas de todas las tablas por los menos dos campos
10.3. Movimientos compras y ventas
10.4. Reportes generales y por un determinado campo
10.5. Validación de entras y manejo de perfiles de usuario
10.6. Reportes gráficos para las ventas y compras por meses