13
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

Delegados en c

Embed Size (px)

Citation preview

Page 1: 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

Page 2: Delegados en c

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.

Page 3: Delegados en c

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.

Page 4: Delegados en c

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)

Page 5: Delegados en c

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.

Page 6: Delegados en c

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

Page 7: Delegados en c

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.

Page 8: Delegados en c

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.

Page 9: Delegados en c

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

Page 10: Delegados en c

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.

Page 11: Delegados en c

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.

Page 12: Delegados en c

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

Page 13: Delegados en c

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