Está en la página 1de 132

INSTITUTO POLITCNICO NACIONAL

Escuela Superior de Ingeniera Mecnica y


Elctrica
Unidad Profesional Zacatenco

Sistema de Cmputo para el Control de Reportes de Equipos


Daados

Tesis
Que para obtener el Ttulo de:

Ingeniero en Comunicaciones y Electrnica

P r e s e n t a :
Manuel Snchez Martnez

A s e s o r e s :
Ing. Catalina Patio Gallegos

M. en C. David Vzquez lvarez

Mxico,D.F. 2013
Sistema de Cmputo para el Control de Reportes de Equipos Daados

Manuel Snchez Martnez Pgina II


Sistema de Cmputo para el Control de Reportes de Equipos Daados

Agradecimientos
La presente Tesis es un esfuerzo en el cual, directa o indirectamente, participaron
varias personas leyendo, opinando, corrigiendo, criticando, tenindome paciencia, dando
nimo, acompaando en los momentos de crisis y en los momentos de felicidad. ste
trabajo escrito es la muestra de la dedicacin, lucha y esfuerzo que he realizado a lo largo
de mi carrera y en el largo camino de la vida.

Agradezco a todas las personas que han credo en m y en mis capacidades, as


mismo, agradezco a todas aquellas personas que por algn motivo tenan comentarios
negativos gracias a sus crticas ya que fueron una fuente de motivacin para poder
demostrar que soy capaz de realizar grandes cosas.

Gracias a todos mis compaeros que conoc y con los cules he convivido a lo largo
de la carrera, ya que gracias a sus opiniones y experiencias han ayudado a forjar no solo
una persona si no a un profesionista que tiene deseo de luchar y seguir adelante con
dedicacin, compromiso y responsabilidad.

Agradezco a mis grandes amigos que han estado junto a m en los momentos ms
difciles brindando su apoyo para que no me rinda nunca. Gracias a una gran persona que
ha estado conmigo siendo un fuerte pilar en el desarrollo de los estudios de mi carrera,
una compaera de vida y una gran amiga, alguien que llego a mi vida y de quin he
aprendido mucho tanto en lo personal como en lo profesional, gracias a ella he podido
crecer y mantenerme en el camino del xito. Doy las gracias a mi familia, por todo su
apoyo por sus consejos y por estar a mi lado siempre ya que si no estuvieran conmigo ste
sueo difcilmente se habra hecho realidad.

A todos ellos, muchas gracias.

Manuel Snchez Martnez

Manuel Snchez Martnez Pgina III


Sistema de Cmputo para el Control de Reportes de Equipos Daados

Tabla de Contenido

AGRADECIMIENTOS .................................................................................................................................... III

TABLA DE CONTENIDO ................................................................................................................................ IV

INTRODUCCIN .......................................................................................................................................... VI
OBJETIVO GENERAL ........................................................................................................................................... VII
OBJETIVOS ESPECFICOS ..................................................................................................................................... VII
JUSTIFICACIN ................................................................................................................................................. VIII

CAPTULO 1: ................................................................................................................................................. 9

ESTADO DEL ARTE ........................................................................................................................................ 9

1.1 HISTORIA NEC ........................................................................................................................................... 10


1.2 GRUPO DE VALORES DE NEC ......................................................................................................................... 11
1.3 CORPORACIN NEC .................................................................................................................................... 12
1.4 ACERCA DE NEC AUDIOVISUAL ...................................................................................................................... 14
1.5 SISTEMA DE SEGUIMIENTO DE REPORTES ......................................................................................................... 15
1.5.1 Sistema de Seguimiento OSTicket. .................................................................................................. 16
1.5.1 Sistema de Seguimiento PHPTicket. ............................................................................................... 16
1.5.3 Ticket de Servicio............................................................................................................................. 16
1.5.4 Orden de Servicio ............................................................................................................................ 17
1.6 PROCESO DEL CONTROL DE REPORTES DE EQUIPO DAADOS NEC MXICO S.A. DE C.V. .......................................... 18

CAPTULO 2: ............................................................................................................................................... 20

MARCO TERICO Y METODOLGICO ......................................................................................................... 20

2.1 QU ES UNA METODOLOGA DE DESARROLLO DE SOFTWARE?............................................................................ 21


2.2 BASES DE DATOS. ........................................................................................................................................ 21
2.3 MANEJADOR BASES DE DATOS....................................................................................................................... 23
2.4 LENGUAJE DE PROGRAMACIN C SHARP (C#)................................................................................................... 25
2. 5 METODOLOGA PARA DESARROLLAR SISTEMAS DE INFORMACIN BASADOS EN COMPUTADORAS (LAGS) ................... 27
2.5.1 Anlisis, Evaluacin y Diagnstico del Sistema de Informacin Actual .......................................... 28
2.5.2 Identificacin de los Elementos del Sistema Actual ........................................................................ 29
2.5.3 Tabla Sistmica ............................................................................................................................... 31
2.6 PROPUESTA GENERAL DE LA SOLUCIN............................................................................................................ 34

CAPTULO 3: ............................................................................................................................................... 35

DISEO Y DESARROLLO .............................................................................................................................. 35

3.1 DISEO PRELIMINAR .................................................................................................................................... 36


3.1.1 Diseo de las Salidas ....................................................................................................................... 36
3.1.2 Diseo de las Entradas .................................................................................................................... 37

Manuel Snchez Martnez Pgina IV


Sistema de Cmputo para el Control de Reportes de Equipos Daados

3.2 DISEO DETALLADO..................................................................................................................................... 37


3.2.1 Diccionario de Datos ....................................................................................................................... 37
3.3 DIAGRAMA ENTIDAD RELACIN ..................................................................................................................... 43
3.4 CONSTRUCCIN DE PROGRAMAS Y/O MODELOS ............................................................................................... 45
3.5 DESARROLLO DE PROCEDIMIENTOS DEL USUARIO .............................................................................................. 45
3.6 PRUEBAS Y ACEPTACIN DEL SISTEMA ............................................................................................................. 54

CAPTULO 4: ............................................................................................................................................... 55

IMPLEMENTACIN ..................................................................................................................................... 55

4.1 PREPARACIN DE LA IMPLEMENTACIN ........................................................................................................... 56


4.2 VERIFICAR CONDICIONES PARA IMPLEMENTACIN ............................................................................................. 56
4.3 PROCESO DE PROBLEMAS REPORTADOS ........................................................................................................... 58
4.4 PROCESO DE SOLICITUDES DE CAMBIO ............................................................................................................. 58
4.5 MODIFICACIONES DEL SISTEMA ...................................................................................................................... 59
4.6 IDENTIFICACIN DE NUEVAS NECESIDADES ....................................................................................................... 59

CONCLUSIONES .......................................................................................................................................... 60

RECOMENDACIONES .................................................................................................................................. 61

NDICE DE FIGURAS .................................................................................................................................... 62

NDICE DE TABLAS ...................................................................................................................................... 63

FUENTES BIBLIOGRFICAS ......................................................................................................................... 64

FUENTES ELECTRNICAS ............................................................................................................................ 65

ANEXOS ..................................................................................................................................................... 66

Men Principal ......................................................................................................................................... 66


Agregar Nuevo Reporte ........................................................................................................................... 69
Modificar Reporte .................................................................................................................................... 81
Imprimir Reporte ...................................................................................................................................... 92
Buscar Reporte Ticket .............................................................................................................................. 96
Buscar por Nmero de Serie del Equipo ................................................................................................... 98
Buscar por Modelo de Pantalla .............................................................................................................. 100
Buscar por Modelo de Proyector ........................................................................................................... 102
Buscar por Empresa ............................................................................................................................... 104
Agregar Nuevo Modelo de Pantalla al Catlogo ................................................................................... 106
Consultar Caractersticas de una Pantalla ............................................................................................. 111
Agregar Nuevo Modelo de Proyector al Catlogo ................................................................................. 114
Consultar Caractersticas de Proyector .................................................................................................. 119
Agregar Empresa al Catlogo ................................................................................................................ 122
Consultar Contacto Directo con Empresa .............................................................................................. 124
Clases y Funciones utilizadas en el Sistema ........................................................................................... 127

Manuel Snchez Martnez Pgina V


Sistema de Cmputo para el Control de Reportes de Equipos Daados

Introduccin
El propsito del siguiente trabajo de Tesis Profesional es explicar el desarrollo del
Sistema de Cmputo para el Control de Reportes de Equipos Daados, el cul es la
solucin para la problemtica de la empresa NEC de Mxico S.A. de C.V. El sistema realiza
el manejo de eventos suscitados dentro de la organizacin de una manera fcil y eficiente,
esto basndose en los sistemas de gestin de tickets (en ingls Trouble Ticket System).

La metodologa empleada para la realizacin del Sistema de Cmputo para el


Control de Reportes fue la metodologa LAGS, sta metodologa permiti trabajar en
fases e iteraciones para el desarrollo efectivo del sistema, permiti definir las
funcionalidades del sistema; as como tambin su estructura y arquitectura.

El sistema de Control de Reportes se describe como una herramienta centralizada,


la cual permite gestionar y solucionar los diversos reportes que introducen los usuarios del
sistema. ste sistema est a la disposicin del rea de Soporte Audiovisual de NEC de
Mxico S.A de C.V.

Como propsito final, la herramienta permite mejorar los procesos que el rea de
Soporte Audiovisual lleva a cabo para dar de alta los reportes de los equipos daados, con
esto se garantiza una atencin oportuna por parte de NEC de Mxico a sus clientes y as
mantener su poltica de Satisfaccin al Cliente.

Gracias a stas caractersticas y beneficios que poseer el Sistema de Cmputo


Control de Reportes se puede aseverar que ste apoyar por completo la gestin
adecuada y eficiente de los reportes del rea de Soporte Audiovisual.

Manuel Snchez Martnez Pgina VI


Sistema de Cmputo para el Control de Reportes de Equipos Daados

Objetivo General

Disear, desarrollar e implementar un Sistema encargado del control de los


reportes del rea de Soporte Audiovisual de la empresa NEC de Mxico S.A. de C.V.,
basado en los sistemas de seguimiento de tickets, el cual permite controlar y gestionar
todos los eventos suscitados.

Objetivos Especficos
Analizar el procedimiento que realiza Soporte Audiovisual para llevar a cabo
el control de reportes de los equipos daados.
Identificar los principales problemas que se presentan al registrar los
reportes de los equipos daados.
Determinar el mtodo con el cul se optimizar el procedimiento para un
mejor control de los reportes de equipos daados.
Desarrollar la Interfaz de Cmputo mediante lenguaje C#.
Evaluar el sistema de cmputo para verificar que se adecua a las
necesidades del rea de Soporte Audiovisual de NEC Mxico S. A. de C. V. y
realizar las correcciones y/o adecuaciones necesarias.

Manuel Snchez Martnez Pgina VII


Sistema de Cmputo para el Control de Reportes de Equipos Daados

Justificacin
El rea de Soporte Audiovisual de la empresa NEC de Mxico S.A. de C.V.
debido a su crecimiento en los ltimos aos a nivel comercial, se ha visto obligada a
invertir en el desarrollo de nuevas formas para mejorar sus procesos de negocios, para as
lograr mantener un control de todas sus actividades. Uno de sus problemas es el hecho de
no poder controlar todos los reportes, debido a que deben atender un gran nmero de
llamadas, lo cual no permite llevar un control de todos los sucesos que se presentan.

Luego de un breve anlisis de los requerimientos y necesidades


relacionadas con sta situacin, se logr obtener el siguiente listado de conclusiones:

Ausencia de control sobre quin realiz o atendi un reporte.


Ausencia de reportes que sirvan como indicadores para los clientes, con la
intencin de demostrar los esfuerzos realizados por el personal de
atencin.
Descontrol sobre el estado de los reportes. No existe forma de saber si un
reporte se encuentra sin atencin, es necesario saber si el reporte se
encuentra con un estado abierto o cerrado.
Dificultad para identificar las empresas que presentan con mayor
frecuencia para los reportes de equipos.
La creacin de los reportes es manual, lo que ocasiona desorganizacin.

A consecuencia de estos problemas, el rea de Soporte Audiovisual se ve en la


imperante necesidad de desarrollar algn sistema y poder resolver la situacin planteada.
Es precisamente en estos casos cuando se habla de sistemas de ayuda, especficamente de
los sistemas de seguimiento de tickets (en ingls Trouble Ticket System), los cuales
permiten establecer los procedimientos para solventar las deficiencias encontradas en el
anlisis previo.

Manuel Snchez Martnez Pgina VIII


Sistema de Cmputo para el Control de Reportes de Equipos Daados

Captulo 1:
ESTADO DEL
ARTE

Manuel Snchez Martnez Pgina 9


Sistema de Cmputo para el Control de Reportes de Equipos Daados

1.1 Historia NEC


El 17 de julio de 1899, Nippon Electric Company (nombre de NEC Corporation, a
partir de abril de 1983) fue establecido por KunihikoIwadare en asociacin con la
empresa de EE.UU. Western Electric Company (actualmente Alcatel-Lucent).
El objetivo bsico de la nueva compaa, el cual se encuentra expresado en el
lema "mejores productos, mejor servicio", era llevar a cabo la promesa de ofrecer a sus
clientes productos de clase mundial y un servicio confiable de seguimiento. La nocin
de darle seguimiento a los servicios prestador no se arraig entre las empresas
japonesas hasta medio siglo ms tarde, mientras que NEC tuvo desde el principio un
concepto que se desarroll en lo que ahora se le conoce como la satisfaccin del
cliente.
Premios nacionales en tecnologa y desarrollo de la investigacin fue posible,
gracias a la innovacin empresarial y respaldada por la mejora y reforma de sus
sistemas de personal, as como los principios de montaje de los proyectos ambientales.
Esto hace que sea posible decir que la historia de NEC ha estado marcada por una
innovacin constante desde hace ms de un centenar de aos.

Fig. 1.1 Presencia NEC en todo el Mundo

Manuel Snchez Martnez Pgina 10


Sistema de Cmputo para el Control de Reportes de Equipos Daados

1.2 Grupo de Valores de NEC


En la filosofa corporativa, se han definido los valores importantes para el Grupo
NEC, que se fundamentan en la historia de ms de 100 aos de la empresa. Esto es en
lo que se basan las conductas y actividades individuales, como una gua para servir
mejor a los clientes y contribuir a la sociedad.

Valores Las acciones impulsadas por


fundamentales valores fundamentales

[Nuestra Explorar y comprender


Motivacin] la verdadera esencia de
Pasin por la los problemas.
innovacin Cuestionar las formas
existentes y desarrollar
nuevas formas.
Unir la inteligencia y la
experiencia de todo el
mundo.

[Como una Actuar con rapidez.


persona] Trabajar con integridad
de auto-ayuda hasta la finalizacin del
reto ms all de los
lmites propios.

[Como miembro El respeto de cada


del equipo] individuo.
Colaboracin Escuchar y aprender
con la mente abierta.
Colaborar ms all de
las fronteras
organizacionales.

[Para nuestros Pensar desde el punto


clientes] de vista del usuario.
Mejores Impresionar e inspirar a
Productos, nuestros clientes.
Continuar la bsqueda
mejores
de "Mejor Global".
servicios

Fig. 1.2 Valores representativos de NEC

Manuel Snchez Martnez Pgina 11


Sistema de Cmputo para el Control de Reportes de Equipos Daados

1.3 Corporacin NEC


Es una compaa de tecnologa y comunicaciones establecida en Julio de 1899 con
oficina central en Tokio, Japn.

NEC proporciona:
Soluciones IT (tecnologas de informacin), soluciones de comunicaciones y
telecomunicaciones a empresas y al gobierno.
La compaa est dividida en tres principales ramas:

Soluciones IT.
Soluciones de Red.
Dispositivos Electrnicos.

Las soluciones IT ofrecen a sus clientes software, hardware y otros servicios


relacionados.
La rama de soluciones de Red disea y proporciona sistemas de conexin de banda
ancha, telefona mvil y sistemas de conexin inalmbricos.
La rama de Dispositivos Electrnicos incluye semiconductores, pantallas y otros
componentes electrnicos.
Hasta la fecha cuenta con 365 Oficinas alrededor del mundo (Oficinas NEC
Corporation y Filiales consolidadas). Cuenta con 156,545 Empleados.

Fig. 1.3 Oficinas Alrededor del Mundo

Manuel Snchez Martnez Pgina 12


Sistema de Cmputo para el Control de Reportes de Equipos Daados

Un aspecto importante de la empresa NEC es su lema "Empowered by


Innovation", el cual representa el implacable deseo de innovar, no solo en la vida y los
negocios de los clientes, sino tambin en la sociedad entera.

NEC de Mxico surge en el ao 1968, cuenta con oficinas en 8 estados de la


Repblica Mexicana, situando su oficina central en Mxico D.F. El ShowRoom es el lugar
en que se encuentra la demostracin de la lnea de productos de la Divisin Audiovisual,
dicho ShowRoom se encuentra ubicado en Mxico D.F. El almacn general de la lnea de
productos se encuentra en el estado de Morelos
.

Fig. 1.4 Oficinas en Mxico

NEC de Mxico cuenta con las siguientes reas:

Fig. 1.5 reas NEC de Mxico S.A. de C.V.

Manuel Snchez Martnez Pgina 13


Sistema de Cmputo para el Control de Reportes de Equipos Daados

Dentro del rea Enterprise o Soluciones de Redes Empresariales, la lnea de


productos se basa en:

Fig. 1.6 Lnea de Productos de Redes Empresariales

1.4 Acerca de NEC Audiovisual


NEC Divisin Audiovisual disea, produce y entrega al mercado una amplia
variedad de tecnologa de punta en la rama de audiovisual. Se especializan en monitores
LCD para escritorio, pantallas con tecnologa LCD y pantallas de plasma, adems de una
variada lnea de proyectores.
El negocio es impulsado por las tecnologas avanzadas, lderes en la industria,
servicio y software que son un valor agregado que ayudan a aumentar su productividad y
dejar ver el mundo digital de forma ms dinmica y atractiva.

Fig. 1.7 Lnea de Productos del rea Audiovisual.

Manuel Snchez Martnez Pgina 14


Sistema de Cmputo para el Control de Reportes de Equipos Daados

1.5 Sistema de Seguimiento de Reportes


Un sistema de seguimiento de reportes o tickets (denominado en ingls
como issue tracking system, trouble ticket system o incident ticket system) es un paquete
de software que administra y mantiene listas de incidentes. Los sistemas de este tipo son
comnmente usados en la central de llamadas de servicio al cliente de una organizacin
para crear, actualizar y resolver incidentes reportados por usuarios, o inclusive incidentes
reportados por otros empleados de la organizacin.
Un sistema de seguimiento de incidencias tambin contiene una base de datos que
contiene informacin de cada cliente, soluciones a problemas comunes y otros datos
relacionados. Un sistema de seguimiento de reportes es similar a un Sistema de
seguimiento de errores (bugtracker).
Un ticket es un archivo contenido en el sistema de seguimiento que contiene
informacin acerca del reporte realizado por el personal de soporte tcnico o terceros a
pedido de un usuario final que ha reportado un incidente. Tpicamente el ticket tiene un
nmero nico de referencia, tambin conocido como un nmero de caso, incidente o
reporte de llamada, el cual es usado para permitir al cliente o al personal de soporte
localizar, aadir o comunicar el estado del reporte.
Estos tickets tambin son llamados as debido a su origen como pequeas tarjetas
con un pequeo muro a manera de un sistema de planificacin de trabajo acumulado.
Cuando este tipo de soporte comenzaba, los operadores o personal reciba una llamada o
consulta de un usuario poda llenar una tarjeta con los detalles del usuario y un breve
resumen de su requerimiento y lo colocaba en una posicin (usualmente la ltima), en
una columna de "pendientes" para que una persona apropiada pueda determinar qu
persona deba encargarse de la consulta y la prioridad del requerimiento.
El diseo ms comn de sistema de seguimiento de tickets consiste en una base de
datos para el almacenamiento de toda la informacin. Estos datos son manejados por el
rea que recibe las llamadas de los clientes reportando un problema en algn equipo o
para recibir mantenimiento correctivo y preventivo. En esta etapa se brindan los datos
primarios del cliente ms un reporte del problema reportado. Cada vez que el usuario del
sistema efecta un cambio, el sistema de seguimiento de tickets registra la accin. Por
seguridad, un sistema de seguimiento de incidentes verificar la identidad de los usuarios
antes de permitirles el acceso al sistema, aunque cabe sealar que la identificacin de los
usuarios no es una regla indispensable, ya que en algunas ocasiones el estar ingresando
datos para verificar la identidad del usuario hace que el sistema no sea ptimo y se pierda
tiempo en estar verificando la identidad de los usuarios, por tal motivo algunas empresas
desean que sus sistema sea abierto, ya que es de uso local.

Manuel Snchez Martnez Pgina 15


Sistema de Cmputo para el Control de Reportes de Equipos Daados

1.5.1 Sistema de Seguimiento OSTicket.


El sistema de seguimiento Osticket es una aplicacin abierto (en ingls
opensource) para la gestin de solicitudes de soporte de una empresa mediante tickets en
lnea, de sta manera se agiliza los procesos y se organiza la informacin.

Adems que su entorno est enfocado al internet, trabaja con PHP y MYSQL.

Caractersticas:

Fuente libre, o sea que puede modificarlo.


Organiza todas las peticiones de soporte hechas por los usuarios.
Flujo de Correo Electrnico.
Tiene un panel de administracin y muchas funciones ms.

1.5.1 Sistema de Seguimiento PHPTicket.


El sistema de seguimiento PHPTicket es un sistema avanzado de venta de entradas,
escrito en PHP y MySQL. Incluye la gestin a travs de sesiones de usuario, una funcin de
bsqueda y varias otras funciones de gestin de tickets. Puede ser utilizado en cualquier
plataforma usando PHP y MySQL.

1.5.3 Ticket de Servicio


Un Ticket es un reporte, caso, pregunta, comentario o solicitud, al cual se le asigna
automticamente un identificador para darle seguimiento al mismo en un sistema de
soporte y/o atencin.

El ticket de servicio es un nmero de identificacin que le asignan de forma interna


para poder tener un control y un registro del reporte del equipo.

Manuel Snchez Martnez Pgina 16


Sistema de Cmputo para el Control de Reportes de Equipos Daados

1.5.4 Orden de Servicio


La orden de servicio se genera cuando el equipo ha sido devuelto del Centro de
Servicio, y el status del ticket se cambia a Cerrado (Close), los campos que presenta la
orden de servicio son los siguientes:

Fecha de Recepcin.
Nmero de Ticket.
Cliente.
Contacto directo del cliente.
Encargado de Atencin.
Tipo de Equipo.
Modelo de Pantalla.
Modelo de Proyector.
Nmero de serie del equipo.
Garanta.
Fecha de Inicio de Garanta.
Fecha de Trmino de Garanta.
Falla.
Observaciones.
Detalles del Servicio
Firma de Aceptacin de servicio

Al emplear un Sistema de Seguimiento de Tickets (System Trouble Tickets), la


empresa se asegura que no se pierda ninguna solicitud de los clientes, y que se resuelven
eficientemente. Por lo tanto es importante que ste Sistema cumpla y satisfaga las
necesidades especficas del rea de Soporte Audiovisual de la empresa NEC Mxico S.A.
de C.V.

Un aspecto importante que poseern los tickets para su seguimiento es agregar


una gama de estados (status) para tener un mejor control y seguimiento de los reportes:

Open (Abierto)
Close (Cerrado)

El trmino de Open y Close son palabras que no se pueden cambiar ya que la


empresa necesita que los estados de sus reportes posean las palabras en ingls. Al
implementar un Sistema de Seguimiento de Tickets se busca que el rea de Soporte
Audiovisual pueda mantener un registro de todos los reportes que se den de alta, poseer
un mejor seguimiento de los equipos enviados al Centro de Servicio y as poder brindar
una mejor atencin al cliente.

Manuel Snchez Martnez Pgina 17


Sistema de Cmputo para el Control de Reportes de Equipos Daados

1.6 Proceso del Control de Reportes de Equipo


Daados NEC Mxico S.A. de C.V.
El siguiente diagrama de flujo presenta el proceso que realiza la empresa NEC
Mxico S.A. de C.V. para efectuar el levantamiento de un reporte, considerando desde el
momento en el que se recibe la llama del cliente, hasta que se da solucin a su problema;
en el proceso se da un diagnstico con posible solucin del problema, en dado caso de
que no exista dicha solucin se asigna un nmero de ticket, los tickets cuentan con dos
estados: Abierto y Cerrado (Open y Close), esto con la finalidad de llevar seguimiento del
reporte, el equipo es enviado al Centro de Servicio (ASC). Una vez que el Centro de
Servicio da un diagnstico del equipo; se lleva a cabo una reparacin o incluso un
remplazo del equipo. El equipo se devuelve al rea de Soporte Audiovisual y se entrega al
Cliente. El diagrama de flujo se muestra en la pgina siguiente.

Manuel Snchez Martnez Pgina 18


Sistema de Cmputo para el Control de Reportes de Equipos Daados

Fig. 1.8 Diagrama de Flujo

Manuel Snchez Martnez Pgina 19


Sistema de Cmputo para el Control de Reportes de Equipos Daados

Captulo 2:

MARCO TERICO Y
METODOLGICO

Manuel Snchez Martnez Pgina 20


Sistema de Cmputo para el Control de Reportes de Equipos Daados

2.1 Qu es una Metodologa de Desarrollo de


Software?
El concepto de metodologa, dentro de la Ingeniera del Software es, sin duda, uno
de los ms oscuros y que ms confusin produce tanto en estudiantes como en
profesionales involucrados en procesos de desarrollo de software.

Tanto es as, que en muchos proyectos de desarrollo, la aplicacin de una


metodologa brilla por su ausencia, siendo ste un concepto casi desconocido. Adems, la
constante innovacin tecnolgica hace que cada vez sea necesaria la aplicacin de nuevas
metodologas adaptadas a los nuevos tiempos y, sin embargo, sigue figurando en los libros
de texto viejas metodologas pensadas para viejos problemas. Y no es que haya una
metodologa claramente superior a las dems. Las metodologas ms modernas
responden a problemas y necesidades ms actuales.

Afortunadamente, los tiempos van cambiando. La informtica va madurando y


tanto algunos profesionales de las tecnologas de la informacin como algunos de sus
clientes se van dando cuenta de que se hace necesario seguir unas ciertas pautas
predefinidas en el desarrollo del software de calidad: es decir, llevar un comportamiento
metdico: seguir una metodologa.

Una metodologa de desarrollo de software es un conjunto de pasos y procedimientos


que deben seguirse para desarrollar software. Una metodologa est compuesta por:

Cmo dividir un proyecto en etapas.


Qu tareas se llevan a cabo en cada etapa.
Qu restricciones deben aplicarse.
Qu tcnicas y herramientas se emplean.
Cmo se controla y gestiona un proyecto.

2.2 Bases de Datos.


Una base de datos o banco de datos es un conjunto de datos que pertenecen al
mismo contexto almacenados sistemticamente para su posterior uso. En este sentido,
una biblioteca puede considerarse una base de datos compuesta en su mayora por
documentos y textos impresos en papel e indexados para su consulta. En la actualidad, y
debido al desarrollo tecnolgico de campos como la informtica y la electrnica, la

Manuel Snchez Martnez Pgina 21


Sistema de Cmputo para el Control de Reportes de Equipos Daados

mayora de las bases de datos tienen formato electrnico, que ofrece un amplio rango de
soluciones al problema de almacenar datos.

En informtica existen los sistemas gestores de bases de datos, que permiten


almacenar y posteriormente acceder a los datos de forma rpida y estructurada. Las
propiedades de los sistemas gestores de bases de datos se estudian en informtica.

Las aplicaciones ms usuales son para la gestin de empresas e instituciones


pblicas. Tambin son ampliamente utilizadas en entornos cientficos con el objeto de
almacenar la informacin experimental.

Tipos de bases de datos

Las bases de datos pueden clasificarse de varias maneras, de acuerdo al criterio


elegido para su clasificacin:

Segn la variabilidad de los datos almacenados

Bases de datos estticas

stas son bases de datos de slo lectura, utilizadas primordialmente para


almacenar datos histricos que posteriormente se pueden utilizar para estudiar el
comportamiento de un conjunto de datos a travs del tiempo, realizar proyecciones y
tomar decisiones.

Bases de datos dinmicas

stas son bases de datos donde la informacin almacenada se modifica con el


tiempo, permitiendo operaciones como actualizacin y adicin de datos, adems de las
operaciones fundamentales de consulta. Un ejemplo de esto puede ser la base de datos
utilizada en un sistema de informacin de una tienda de abarrotes, una farmacia, etc.

Segn el contenido

Bases de datos bibliogrficas

Solo contienen un representante de la fuente primaria, que permite localizarla. Un


registro tpico de una base de datos bibliogrfica contiene informacin sobre el autor,
fecha de publicacin, editorial, ttulo, edicin, de una determinada publicacin, etc. Puede
contener un resumen o extracto de la publicacin original, pero nunca el texto completo,
porque si no se estara en presencia de una base de datos a texto completo. Como su

Manuel Snchez Martnez Pgina 22


Sistema de Cmputo para el Control de Reportes de Equipos Daados

nombre lo indica, el contenido son cifras o nmeros. Por ejemplo, una coleccin de
resultados de anlisis de laboratorio, entre otras.

Bases de datos de texto completo

Almacenan las fuentes primarias, como por ejemplo, todo el contenido de todas
las ediciones de una coleccin de revistas cientficas.

Directorios.
Un ejemplo son las guas telefnicas en formato electrnico.
Banco de imgenes, audio, video, multimedia, etc.
Bases de datos o bibliotecas de informacin Biolgica.

Son bases de datos que almacenan diferentes tipos de informacin proveniente de


las ciencias de la vida o mdicas. Se pueden considerar en varios subtipos:

Aquellas que almacenan secuencias de nucletidos o protenas.

Las bases de datos de rutas metablicas.


Bases de datos de estructura, comprende los registros de datos
experimentales sobre estructuras 3D de bio-molculas.
Bases de datos clnicas.
Bases de datos bibliogrficas (biolgicas).

2.3 Manejador Bases de Datos.


El sistema manejador de bases de datos es la porcin ms importante del software
de un sistema de base de datos. Un manejador de base de datos es una coleccin de
numerosas rutinas de software interrelacionadas, cada una de las cuales es responsable
de alguna tarea especfica.

Las funciones principales de un manejador de base de datos son:

Crear y organizar la Base de datos.

Establecer y mantener las trayectorias de acceso a la base de datos de tal forma


que los datos puedan ser consultados rpidamente.

Manejar los datos de acuerdo a las peticiones de los usuarios.

Manuel Snchez Martnez Pgina 23


Sistema de Cmputo para el Control de Reportes de Equipos Daados

Registrar el uso de las bases de datos.

Interaccin con el manejador de archivos.

Respaldo y recuperacin.

Consiste en contar con mecanismos implantados que permitan la recuperacin


fcilmente de los datos en caso de ocurrir fallas en el sistema de base de datos.

Control de concurrencia.

Consiste en controlar la interaccin entre los usuarios concurrentes para no afectar


la inconsistencia de los datos.

Seguridad e integridad.

Consiste en contar con mecanismos que permitan el control de la consistencia de


los datos evitando que estos se vean perjudicados por cambios no autorizados o previstos.

El sistema manejador de Base de Datos est compuesto por:

El gestor de la base de datos

Se trata de un conjunto de programas no visibles al usuario final que se encargan


de la privacidad, la integridad, la seguridad de los datos y la interaccin con el sistema
operativo. Proporciona una interfaz entre los datos, los programas que los manejan y los
usuarios finales. Cualquier operacin que el usuario hace contra la base de datos est
controlada por el gestor. El gestor almacena una descripcin de datos en lo que llamamos
diccionario de datos, as como los usuarios permitidos y los permisos. Tiene que haber un
usuario administrador encargado de centralizar todas estas tareas.

Diccionario de datos

Es una base de datos donde se guardan todas las propiedades de la base de datos,
descripcin de la estructura, relaciones entre los datos, etc.

El diccionario debe contener:

La descripcin externa, conceptual e interna de la base de datos.


Las restricciones sobre los datos.
El acceso a los datos.

Manuel Snchez Martnez Pgina 24


Sistema de Cmputo para el Control de Reportes de Equipos Daados

Las descripciones de las cuentas de usuario.


Los permisos de los usuarios.
Los esquemas externos de cada programa.

El administrador de la base de datos

Es una persona o grupo de personas responsables del control del sistema gestor de
base de datos.

Las principales tareas de un administrador son:

La definicin del esquema lgico y fsico de la base de datos.


La definicin de las vistas de usuario.
La asignacin y edicin de permisos para los usuarios.
Mantenimiento y seguimiento de la seguridad en la base de datos.
Mantenimiento general del sistema gestor de base de datos.

2.4 Lenguaje de Programacin C Sharp (C#)


El lenguaje de programacin C# es un lenguaje orientado a objetos que permite a
los desarrolladores crear una amplia gama de aplicaciones slidas y seguras que se
ejecutan en .NET Framework. Puede utilizar este lenguaje para crear aplicaciones cliente
para Windows tradicionales, servicios Web XML, componentes distribuidos, aplicaciones
cliente-servidor, aplicaciones de base de datos, y muchas tareas ms. Microsoft Visual C#
2010 proporciona un editor de cdigo avanzado, diseadores de interfaz de usuario
prcticos, un depurador integrado y muchas otras herramientas para facilitar un rpido
desarrollo de la aplicacin basado en la versin 2.0 del lenguaje C# y en .NET Framework.
La sintaxis de C# puede ser reconocida inmediatamente por cualquier persona
familiarizada con C, C++ o Java. Los desarrolladores que conocen cualquiera de estos
lenguajes pueden empezar a trabajar de forma productiva en C# en un plazo muy breve.

Como lenguaje orientado a objetos, C# admite los conceptos de encapsulamiento,


herencia y polimorfismo. Todas las variables y mtodos, incluido el mtodo principal
(main) que es el punto de entrada de la aplicacin, se encapsulan dentro de definiciones
de clase. Una clase puede heredar directamente de una clase primaria, pero puede
implementar cualquier nmero de interfaces. Adems C# facilita el desarrollo de
componentes de software a travs de varias construcciones de lenguaje innovadoras,
entre las que se incluyen:

Manuel Snchez Martnez Pgina 25


Sistema de Cmputo para el Control de Reportes de Equipos Daados

Firmas de mtodos encapsulados denominadas delegados, que permiten


notificaciones de eventos con seguridad de tipos.
Propiedades, que actan como descriptores de acceso para variables
miembro privadas.
Comentarios en lnea de documentacin XML.

Arquitectura de la plataforma .NET Framework

Los programas de C# se ejecutan en .NET Framework, un componente que forma


parte de Windows y que incluye un sistema de ejecucin virtual. El cdigo fuente escrito
en C# se compila en un lenguaje intermedio (IL). El cdigo de lenguaje intermedio, junto
con recursos tales como mapas de bits y cadenas, se almacena en disco en un archivo
ejecutable denominado ensamblado, cuya extensin es .exe o .dll generalmente. Un
ensamblado contiene un manifiesto que ofrece informacin sobre los tipos, la versin, la
referencia cultural y los requisitos de seguridad del ensamblado.

Manuel Snchez Martnez Pgina 26


Sistema de Cmputo para el Control de Reportes de Equipos Daados

2. 5 Metodologa para Desarrollar Sistemas de Informacin Basados en


Computadoras (LAGS)
METODOLOGA LAGS

FASE 3 FASE 4 FASE 5


FASE 1 FASE 2
CONSTRUCCIN IMPLEMENTACIN OPERACIN
ANLISIS DISEO
Y
MANTTO
2.1 Revisin de la 4.1
1.1 Conocimiento 3.1 Construccin de
Propuesta de Preparacin de la
del medio Programas y/o
Implementacin 5.1
ambiente Anlisis modelos
Proceso de problemas
reportados

3.2 4.2
1.2 2.2
Desarrollo de Verificar Condiciones
Anlisis y Diseo Preliminar 5.2
procedimientos de para la
Diagnstico del Proceso de solicitudes
usuario Implementacin
Sistema Actual de cambios

2.3
3.3
Diseo Detallado 5.3
1.3 Pruebas y
Modificaciones
Propuesta General Aceptacin del
al Sistema
de Solucin sistema

5.4
Revisin y Evaluacin
del Comportamiento

5.5
Identificacin de nuevas
Fig. 1.2 Metodologa LAGS necesidades

Manuel Snchez Martnez Pgina 27


Sistema de Cmputo para el Control de Reportes de Equipos Daados

2.5.1 Anlisis, Evaluacin y Diagnstico del Sistema de


Informacin Actual
Qu datos o informacin se genera?

Los datos que se generan son campos en los cuales se tiene un registro del tipo de
equipo que entra a soporte tcnico a mantenimiento, o en su defecto que ingresa debido
algn tipo de problema en su funcionamiento, se obtienen datos tales como :

Nmero de Ticket.
Fecha de reporte.
Status del Ticket.
Cliente.
Contacto Directo con el Cliente.
Tipo de Equipo que se reporta.
Modelo del Equipo.
Nmero de Serie del Equipo.
Diagnstico.
Falla.
Periodo de Garanta.
Fecha de Inicio de la Garanta.
Fecha de Trmino de la Garanta.
Forma de Recepcin de reporte (Telfono o Correo Electrnico).
Observaciones.

Con qu frecuencia se inician las operaciones o procesos?

La frecuencia con la cual se generan las operaciones o procesos para dar de alta el
reporte flucta demasiado, sin embargo la empresa NEC de Mxico S.A. de C.V. tiene un
registro en el cual se presenta que en promedio se reciben al da de 10 a 20 reportes de
equipo daado, equipo que se recibe para mantenimiento correctivo y/o preventivo.

Cmo debe presentarse la informacin?

La informacin se debe de presentar en forma clara, debe de existir un formulario


comprensible y con los campos requeridos por parte del cliente para que pueda ser
llenado con facilidad y el proceso pueda ser eficiente, al momento de concluir todo el
proceso de recibir el equipo, dar de alta el reporte y posteriormente entregar el equipo al
cliente que solicito ayuda y atencin por parte del rea de Audiovisual es necesario que se
tenga un reporte para fines estadsticos.

Manuel Snchez Martnez Pgina 28


Sistema de Cmputo para el Control de Reportes de Equipos Daados

2.5.2 Identificacin de los Elementos del Sistema Actual


Para los Procesos:

Qu Procesos por separado etapas o funciones conforman la Actividad actual?

Los procesos que conforman la actividad que se analiza, son las rdenes de servicio
que necesita un cliente, son procesos por separado ya que son servicios que se efectan
en diferente horario y fecha, y cada cliente necesita algn tipo de servicio en especfico.

Qu inicia la actividad?

La actividad se inicia cada que se recibe una llamada por parte del cliente o en su
defecto se recibe un correo electrnico por parte del cliente, y as se obtienen los campos
necesarios para generar el reporte.

Qu demoras ocurren o pueden ocurrir?

En ocasiones el reporte se da alta sin embargo puede ser que no se encuentre


disponible un Ingeniero que pueda atender de inmediato el reporte por lo tanto dicho
reporte puede ser atendido en unas horas o en ocasiones en unos das dependiendo de la
actividad y la carga de trabajo con la cual se encuentren los Ingenieros a cargo de atender
las solicitudes de servicio.

Cunto dura la actividad?

La actividad de dar de alta el reporte dura el tiempo que necesite la persona a


cargo de atender la llamada o el correo electrnico y poder generar el reporte, sin
embargo el tiempo en el cul se genera la orden de servicio puede fluctuar dependiendo
del tiempo que se tarde el equipo en el Centro de Servicio Autorizado por NEC de Mxico
S.A de C.V (CENSYC).

Para los datos

Que datos se introducen al sistema y cul es su origen?

Los datos que se introducen al sistema son los datos del cliente que solicita el
servicio de mantenimiento , y de igual manera es importante tener los datos del equipo
que necesita de un servicio de mantenimiento. El origen de los datos son via telfono o va
correo electrnico.

Manuel Snchez Martnez Pgina 29


Sistema de Cmputo para el Control de Reportes de Equipos Daados

Qu datos se almacenan en el sistema como parte de las actividad del mismo?

Los datos del sistema sern las entradas o registros que contendr el formulario
para generar un reporte y los datos que entregue el CENSYC a NEC de Mxico.

Quin utiliza la informacin producida por el sistema?

La informacin que se encuentra en el sistema ser utilizada por los Ingenieros que
se encuentra a cargo del rea de Soprte Audiovisual de NEC de Mxico S.A. de C.V.

Para qu la utiliza?

La informacin la utilizan los usuarios para tener conocimiento de la situacin


actual de un equipo que haya entrado a algn servicio de mantenimiento o para poder
tener el control estadstico del tipo de fallas mas comnes generadas por un equipo.

Qu otros datos se utilizan?

Se tiene informacin adicional que presentar el Centro de Servicio Autorizado por


NEC de Mxico el CENSYC.

Manuel Snchez Martnez Pgina 30


Sistema de Cmputo para el Control de Reportes de Equipos Daados

2.5.3 Tabla Sistmica


SISTEMA ENTRADA PROCESOS SALIDA TIEMPOS VOLMENES DATOS CONTROLES
Proyectores Modelos Si se lanza Modelo Cada que Indefinido ID. Modelo del
de los algn nuevo de los se genera vara Tipo de equipo. equipo.
diferentes producto se proyector un modelo dependiendo Modelo del equipo. Luminosidad.
tipos de debe de es. nuevo. de la cantidad Luminosidad (Lmenes
proyector registrar el de modelos ANSI).
es. nuevo nuevos que
modelo. se lancen al
mercado.
Pantallas Modelo de Si se tiene Modelo En el Indefinido ya ID. Modelo de la
los un nuevo de las momento que depende Tipo de Pantalla. pantalla.
diferentes producto en pantallas que se del tiempo en Modelo de la Pantalla.
tipos de la gama de genera un el cual se Pulgadas de la pantalla.
pantallas. pantallas se nuevo lance algn
debe de modelo de nuevo
registrar. pantalla. producto al
mercado.
Reportes Informaci Al llenar el Reporte Al Indefinido ya Nmero de Ticket. Nmero de
n del formulario para su momento que depende Fecha de Recepcin. Ticket.
reporte en para seguimien en el que de la cantidad Empresa. Empresa.
el que se capturar los to. se recibe de reportes Contacto de la Status.
encuentra datos. una que se Empresa. Tipo de
n detalles llamada reciban Atencin. Equipo.
de algn telefnica diariamente. Tipo de Equipo. Modelo
equipo o algn Modelo Proyector. Proyector.
que correo Modelo Pantalla. Modelo
presente electrnic Nmero de Serie. Pantalla.
algn o para la
Periodo Garanta. Nmero de
problema. atencin
Inicio Garanta. Serie.

Manuel Snchez Martnez Pgina 31


Sistema de Cmputo para el Control de Reportes de Equipos Daados

de algn Trmino Garanta.


equipo Falla.
por parte Diagnstico.
del Observaciones.
cliente. Status.

Equipo Tipo de Al llenar el Informaci Tipo de Indefinido ya ID. Equipo.


equipo formulario n para el equipo que depende Equipo.
que se especifica reporte. que se de la cantidad
ingresa. el tipo de ingresa al de reportes
equipo que reporte. que se
se est reciban
manejando. diariamente.
Recepcin Forma en Al llenar el Informaci Forma en Indefinido ya ID. Recepcin.
la cual se formulario n para el la cual se que depende Recepcin.
recibe la se especifica reporte. recibi el de la cantidad
solicitud la forma en reporte. de reportes
de la cual se que se
atencin recibi la reciban
para el solicitud de diariamente.
equipo. atencin al
cliente.
Status Estado en Al llenar el Informaci Estado en Indefinido ya ID. Status.
el cul se formulario n para el el que se que depende Status.
encuentra se especifica reporte. encuentra de la cantidad
el reporte. el estado en el reporte. de reportes
el que se que se
encuentra el reciban
reporte. diariamente.
Empleados Informaci Antes de dar Acceso a Cada que Indefinido ya ID. ID.
n de los de alta un los se genera que depende Nombre. Contrasea.
empleados reporte o reportes. un reporte de la cantidad Apellido Paterno.

Manuel Snchez Martnez Pgina 32


Sistema de Cmputo para el Control de Reportes de Equipos Daados

que modificarlo es de reportes Apellido Materno.


ingresarn se debe de necesario que se Puesto.
al sistema. identificar el identificar reciban Contrasea.
personal. se, as diariamente.
mismo, si
hay un
nuevo
empleado
se da de
alta.
Empresas Informaci Al llenar el Informaci Cada que Indefinido ya ID. Empresa.
n de las formulario n para el se genera que depende Empresa. Contacto.
empresas. se especifica reporte. un reporte de la cantidad Contacto. Correo
la empresa es de reportes Correo Electrnico. Electrnico.
que solicita necesario que se Telfono. Telfono.
el servicio. identificar reciban
se, as diariamente.
mismo, si
hay una
nueva
empresa
se da de
alta.

Fig. 1.2 Tabla Sistmica

Manuel Snchez Martnez Pgina 33


Sistema de Cmputo para el Control de Reportes de Equipos Daados

2.6 Propuesta General de la Solucin


Viendo los datos anteriormente descritos, se propone disear un sistema con una
interfaz grfica atractiva para el usuario y sobre todo que sea de un fcil entendimiento
para su uso.

El usuario que se encuentre utilizando el sistema debe de tener una idea clara de
los registros que se utilizaran en el sistema y los cuales sern la base para poder crear la
base de datos, el sistema debe tener medidas de seguridad, ya que, debido a la
informacin que se maneja algunos campos del sistema estarn restringidos para evitar
que cualquier persona que se encuentre utilizando el sistema pueda modificar la
informacin, por tal motivo solo las personas autorizadas sern los nicos usuarios con los
permisos necesarios para dar de alta reportes en su debido caso poder modificar algn
tipo de informacin.

Los datos obtenidos al dar de alta los reportes podrn ser consultados
posteriormente para su seguimiento, y se contar con secciones en las cuales se podr
registrar un nuevo producto ya sea un proyectos o una pantalla con la finalidad de tener
actualizada la base de datos y con esto dar una excelente atencin por parte del rea de
Soporte Audiovisual.

Manuel Snchez Martnez Pgina 34


Sistema de Cmputo para el Control de Reportes de Equipos Daados

Captulo 3:
DISEO Y
DESARROLLO

Manuel Snchez Martnez Pgina 35


Sistema de Cmputo para el Control de Reportes de Equipos Daados

3.1 Diseo Preliminar


Para entender el funcionamiento del sistema, se presenta el Diagrama General de
del Sistema para poder identificar y presentar las entradas y salidas del mismo.

Diagrama General del Sistema.


Entradas.
Salidas.

Solicitud de Servicio. Sistema de Orden de Servicio.


Control de
Datos Empresas. Reportes de Consultas de
Seguimiento.
Equipos Daados.
Datos de Usuarios. Consulta de Equipos.

3.1.1 Diseo de las Salidas


Es muy comn que para los usuarios, la caracterstica ms importante de un
Sistema, es la salida que produce. Si la salida no es de calidad, pueden pensar que todo el
sistema no es necesario, bueno o adecuado y por lo tanto, eviten la implementacin de
dicho sistema.

Para poder presentar de una forma adecuada las salidas ante el usuario se deben
de responder las siguientes preguntas, las cuales indican que el diseo del sistema se
encuentra en buena direccin.

Quin recibir la salida?

La salida servir para que el personal del rea de Soporte Audiovisual tenga un
control sobre los reportes de los equipos daados que reciben, con esto se desea tener un
sistema eficiente para la atencin del cliente por parte del rea Audiovisual.

Cul es su uso planeado?

El uso planeado de la informacin es de carcter informativo y tambin de carcter


estadstico y logstico para el control adecuado de los reportes. Existirn campos

Manuel Snchez Martnez Pgina 36


Sistema de Cmputo para el Control de Reportes de Equipos Daados

exclusivos para personal autorizado ya que el manejo de dicha informacin es delicada


por consiguiente existir informacin de consulta e informacin clasificada.

Cundo y con qu frecuencia se necesitan las salidas?

El tiempo y la frecuencia con la cual se necesiten las salidas dependern de la


frecuencia con la cual los reportes se clasifiquen con estado (status) cerrado para poder
entregar una orden de servicio al cliente que solicit algn tipo de mantenimiento
preventivo o correctivo.

Por cules medios?

El medio por el cual se mostrar y se consultar la salida de la informacin ser


nicamente de carcter local.

3.1.2 Diseo de las Entradas


El diseo de la entrada ser al momento que el personal que reciba una peticin
para Soporte Tcnico, en este caso existir dos tipos de entradas mediante interfaz
grfica. Existir un tipo de entrada para usuario comn el cual consistir nicamente en la
consulta de la base de datos para poder revisar el estado (status) de algn reporte, y un
tipo de entrada con autorizacin para poder modificar algn reporte o dar de alta alguna
solicitud de mantenimiento preventivo y/o correctivo.

3.2 Diseo Detallado

3.2.1 Diccionario de Datos


El Diccionario de Datos es una lista y descripcin detallada de todos los elementos
de almacenamiento de informacin, identificados en el conjunto de los diagramas de flujo
de datos que describen a un sistema

El diccionario de datos define los trminos asociados con las estructuras de datos,
que se emplean en el desarrollo y empleo de sistemas de informacin.

Los datos que se almacenarn en la base de datos sern los siguientes:

Manuel Snchez Martnez Pgina 37


Sistema de Cmputo para el Control de Reportes de Equipos Daados

Tabla Reportes. Resolucin de la Pantalla.


Dimensin del display LCD.
Nmero de Ticket.
Fecha de Reporte. Tabla de Usuarios (Empleados).
Recepcin del Reporte.
ID.
Empresa (Cliente).
Nombre.
Contacto directo con el Cliente.
Apellido Paterno.
Atencin.
Apellido Materno.
Tipo de Equipo.
Puesto.
Modelo de Pantalla.
Contrasea.
Modelo de Proyector.
Nmero de Serie del Equipo. Tabla de Empresas.
Periodo de Garanta.
Fecha de Inicio de la Garanta. ID.
Fecha de Trmino de la Garanta. Empresa.
Falla. Contacto.
Diagnstico. Correo.
Observaciones. Telfono.
Status del Ticket. Tabla de Recepcin
Tabla Modelo Proyectores. ID.
ID. Recepcin.
Tipo de Proyector. Tabla de Tipo Equipo
Modelo del Proyector.
Lmenes. ID.
Equipo.
Tabla Modelo Pantallas.
Tabla de Estado del Reporte (Status).
ID.
Tipo de Pantalla. ID.
Modelo del Pantalla. Status.

Manuel Snchez Martnez Pgina 38


Sistema de Cmputo para el Control de Reportes de Equipos Daados

NOMBRE DESCRIPCIN ALIAS TIPO LONGITUD VALORES


Ticket Nmero de Ticket. Ticket Int(Auto 11 Nmeros (0 9)
Increment)(PK)
FechaReporte Fecha de Recepcin del Reporte. FechaReporte VarChar 20 Caracteres (A Z) y
Nmeros.
Recepcin Forma en que se recibe el Reporte. Recepcin VarChar 30 Caracteres (A Z)
Empresa Nombre de la Empresa (Cliente). Empresa VarChar Sin lmite. Caracteres (A Z)
Contacto Nombre del contacto directo con la Contacto VarChar Sin lmite. Caracteres (A Z)
Empresa (Cliente)
Atencin Nombre de la persona que recibe el Atencin VarChar Sin lmite. Caracteres (A Z)
reporte.
Equipo Tipo de equipo por el cual se da de alta un Equipo VarChar 20 Caracteres (A Z)
reporte.
Modelo Modelo del Equipo que se da de alta para Modelo VarChar 15 Caracteres (A Z y
el reporte. Nmeros
Serie Nmero de Serie del equipo para el cul se Serie VarChar 30 Caracteres (A Z) y
genera el reporte. Nmeros
PeriodoGarantia Periodo de duracin de la Garanta el PeriodoGar VarChar 10 Caracteres (A Z) y
Equipo. Nmeros.
InicioGarantia Fecha de Inicio de la Garanta del Equipo. InicioGar VarChar 30 Caracteres (A Z) y
Nmeros.
FinGarantia Fecha de trmino de la Garanta del FinGar VarChar 30 Caracteres (A Z) y
Equipo. Nmeros.
Falla Tipo de Falla que presenta el Equipo. Falla VarChar Sin lmite. Caracteres (A Z)
Diagnostico Primer Diagnstico que recibe el Equipo. Diagnostico VarChar Sin lmite. Caracteres (A Z)
Observacin Observaciones que recibe del equipo. Observacin VarChar Sin Lmite Caracteres (A Z)
Status Estado en el que se encuentra el Reporte. Status VarChar 6 Caracteres (A Z)

Manuel Snchez Martnez Pgina 39


Sistema de Cmputo para el Control de Reportes de Equipos Daados

NOMBRE DESCRIPCIN ALIAS TIPO LONGITUD VALORES


ID Nmero de ID Int(Auto Increment) 4 Nmeros (0 - 9)
identificacin dentro (PK)
de la base de datos.
Proyector Tipo de Equipo. Proyector VarChar 15 Caracteres (A Z)
Modelo Modelo del ModeloPR VarChar 15 Caracteres (A Z) y
Proyector. Nmeros.
Lmenes Intensidad de Lmenes Int 8 Nmeros (0 9)
proyeccin de la
lmpara del
Proyector.

NOMBRE DESCRIPCIN ALIAS TIPO LONGITUD VALORES


ID Nmero de ID Int(Auto Increment) 4 Nmeros (0 - 9)
identificacin dentro (PK)
de la base de datos.
Pantalla Tipo de Equipo. pantalla VarChar 15 Caracteres (A Z)
Modelo Modelo de la modeloPA VarChar 15 Caracteres (A Z) y
Pantalla. Nmeros.
Resolucin Resolucin Nativa de resolucin Int 8 Nmeros (0 9)
la Pantalla.
Display Medida del display LCD VarChar 8 Caracteres y Nmeros
LCD de la pantalla.

Manuel Snchez Martnez Pgina 40


Sistema de Cmputo para el Control de Reportes de Equipos Daados

NOMBRE DESCRIPCIN ALIAS TIPO LONGITUD VALORES


ID Nmero de ID Int(Auto Increment) 4 Nmeros (0 - 9)
identificacin dentro (PK)
de la base de datos.
Nombre Nombre(s) del nombre VarChar 30 Caracteres (A Z)
Empleado.
Apellido Paterno Apellido Paterno del apellido_paterno VarChar 30 Caracteres (A Z)
Empleado.
Apellido Materno Apellido Materno del Resolucin VarChar 30 Caracteres (A Z)
Empleado.
Puesto Puesto que puesto VarChar 30 Caracteres (A Z)
desempea dentro de
la empresa.
Contrasea Contrasea para el pass VarChar Sin Lmite. Caracteres y Nmeros
acceso al sistema.

NOMBRE DESCRIPCIN ALIAS TIPO LONGITUD VALORES


ID Nmero de ID Int(Auto Increment) 4 Nmeros (0 - 9)
identificacin dentro (PK)
de la base de datos.
Empresa Nombre de la empresa VarChar Sin Lmite Caracteres (A Z) y
Empresa. Nmeros.
Contacto Contacto directo con contacto VarChar 50 Caracteres (A Z)
la empresa.
Correo Direccin de Correo correo VarChar 8 Caracteres y Nmeros
electrnico del
contacto directo con
la empresa.
Telfono Telfono de la telefono Int 20 Nmeros
empresa.

Manuel Snchez Martnez Pgina 41


Sistema de Cmputo para el Control de Reportes de Equipos Daados

NOMBRE DESCRIPCIN ALIAS TIPO LONGITUD VALORES


ID Nmero de ID Int(Auto Increment) 4 Nmeros (0 - 9)
identificacin dentro (PK)
de la base de datos.
Recepcin Forma de recepcin recepcion VarChar 15 Caracteres (A Z)
del reporte.

NOMBRE DESCRIPCIN ALIAS TIPO LONGITUD VALORES


ID Nmero de ID Int(Auto Increment) 4 Nmeros (0 - 9)
identificacin dentro (PK)
de la base de datos.
Equipo Tipo de Equipo. equipo VarChar 15 Caracteres (A Z)

NOMBRE DESCRIPCIN ALIAS TIPO LONGITUD VALORES


ID Nmero de ID Int(Auto Increment) 4 Nmeros (0 - 9)
identificacin dentro (PK)
de la base de datos.
Status Estado del reporte. status VarChar 8 Caracteres (A Z)

Fig. 1.3 Diccionario de Datos

Manuel Snchez Martnez Pgina 42


Sistema de Cmputo para el Control de Reportes de Equipos Daados

3.3 Diagrama Entidad Relacin


El diagrama entidad relacin es una representacin grfica de la estructura lgica
general de una base de datos, y se integran mediante los siguientes smbolos:

Rectngulos, representan conjunto de entidades o clases.


Elipses, representan atributos.
Rombos, representan conjuntos de relaciones o asociaciones.
Lneas, se utilizan para la conexin de atributos a los conjunto de entidades, y los
conjuntos de entidades a los conjuntos de relaciones.

El diagrama entidad relacin que se construy para el sistema, establece las relaciones
que tienen las tablas para poder dar de alta un reporte. Las relaciones que integran el
diagrama entidad relacin son las siguientes:

Acceso.
Empresa.
Contacto.
Estado.
Forma de recepcin.
Tipo de Equipo.
Modelo Proyector.
Modelo Pantalla.
Estado.

La relacin que existe entre las tablas establece un correcto funcionamiento de la


base de datos con el sistema. Para poder realizar un reporte es necesario que primero se
identifique el usuario mediante la tabla de Empleados, esto con la finalidad de tener
seguridad en el sistema. La tabla reporte depende a su vez de las tablas: status (estado),
recepcin, equipo, empresas, pantalla, proyector, empleados. El siguiente esquema
grfico presenta la relacin entre las tablas de la base de datos.

Manuel Snchez Martnez Pgina 43


Sistema de Cmputo para el Control de Reportes de Equipos Daados

Fig. 1.4 Diagrama Entidad Relacin

Manuel Snchez Martnez Pgina 44


Sistema de Cmputo para el Control de Reportes de Equipos Daados

3.4 Construccin de Programas y/o Modelos


El sistema est desarrollado completamente en lenguaje C# auxilindose de la
herramienta Visual Studio 2010.

Un aspecto fundamental del sistema es la conexin con la base de datos la cual


ser una base de datos SQL, en ella se almacenar la informacin de los reportes
generados y se tendr una tabla en la cual se encontrar una base de todos los distintos
modelos de proyectores y pantallas con los cuales cuenta la empresa.

El sistema deber ser eficiente y contar con la informacin detallada y actualizada


de los modelos de equipos con los que cuenta la empresa, as como, una consulta
buscando por empresa, modelo del equipo, tipo de equipo, es decir, por proyector o por
pantalla.

3.5 Desarrollo de Procedimientos del Usuario


El sistema estar diseado para cualquier usuario, ya que el diseo de la interfaz
deber ser amigable para el usuario; para que pueda comprender de una forma rpida e
intuitiva el funcionamiento del sistema, por tal motivo, el diseo del sistema de control de
reportes se efectuar de una forma comprensible para cualquier usuario.

El sistema contar con un men de seis secciones mostrando un contenido claro y


detallado sin ningn tipo de confusin en su exploracin. Los formularios para dar de alta
un reporte o en su debido caso dar de alta algn nuevo modelo de equipo deben de ser
formularios fciles de entender y con una accesibilidad correcta para reducir el tiempo en
el que se registra dicho evento.

La consulta de la base de datos debe de contener informacin especfica pero


sobre todo la informacin debe de estar bien organizada con la finalidad de que el usuario
pueda comprender la informacin que est consultando, y pueda dar una atencin
inmediata.

El sistema como anteriormente se mencion est diseado para cualquier tipo de


usuario, permitiendo una navegacin dentro del sistema sencilla, optima y mostrando la
informacin que el usuario necesita, con esto se busca que el usuario al momento de estar
usando el sistema se encuentre con los caractersticas especficas y la informacin que se
necesitan.

Manuel Snchez Martnez Pgina 45


Sistema de Cmputo para el Control de Reportes de Equipos Daados

La pantalla de presentacin denominada en ingls (Splash Screen) es una pgina de


inicio para proporcionar una presentacin de sistema. Al iniciar el programa se ejecuta
una pantalla en la que se muestra informacin del sistema e indica al usuario que el
programa se est ejecutando. La pantalla de presentacin es la que se presenta a
continuacin:

Fig. 2.1 Pantalla de Inicio del Sistema

Manuel Snchez Martnez Pgina 46


Sistema de Cmputo para el Control de Reportes de Equipos Daados

Una vez que se inicia el programa y la pantalla de bienvenida se termin de


ejecutar, el usuario se encuentra en la pantalla principal del sistema. En sta pantalla el
usuario empieza a interactuar con el sistema. En la pantalla se muestra el men con el que
cuenta el usuario para realizar sus procesos.

Fig. 2.2 Pantalla Principal del Sistema

Fig. 2.3 Men o Barra de Herramientas del Sistema

Manuel Snchez Martnez Pgina 47


Sistema de Cmputo para el Control de Reportes de Equipos Daados

La primer parte del men se encuentra la seccin de Reportes, en la cual el usuario


puede dar de alta un reporte o incluso puede modificar un reporte existente. Aqu el
usuario para poder dar de alta un reporte es necesario que se identifique como empleado
para poder tener acceso a la seccin Reporte -> Nuevo. Al modificar un reporte se
presentar cuando se tenga que actualizar informacin de un reporte existente.

Fig. 2.4 Men Reportes y sus opciones

Fig. 2.5 Ampliacin del men Reportes y sus opciones

Manuel Snchez Martnez Pgina 48


Sistema de Cmputo para el Control de Reportes de Equipos Daados

Fig. 2.6 Formulario para dar de Alta un Reporte

La seccin consulta no es necesario que se identifique como usuario ya que en sta


parte del sistema ser nicamente para poder realizar bsquedas de los reportes,
estableciendo distintos mtodos de bsqueda.

Manuel Snchez Martnez Pgina 49


Sistema de Cmputo para el Control de Reportes de Equipos Daados

Fig. 2.7 Men consulta y sus opciones

Fig. 2.8 Ampliacin men consulta y sus opciones

La seccin Proyector presenta las opciones de Nuevo y Consultar. En sta parte del
sistema es para poder ingresar nuevo modelos de proyectores en el caso que sea
necesario actualizar la base de datos de los modelos. La seccin Consultar permite revisar
las caractersticas del modelo de proyector que se desee conocer.

Manuel Snchez Martnez Pgina 50


Sistema de Cmputo para el Control de Reportes de Equipos Daados

Fig. 2.9 Men Proyector y sus opciones

Fig. 2.10 Ampliacin men Proyector y sus opciones

Manuel Snchez Martnez Pgina 51


Sistema de Cmputo para el Control de Reportes de Equipos Daados

Fig. 2.11 Caractersticas de Proyector

La seccin Pantalla presenta las opciones de Nuevo y Consultar. En sta parte del
sistema es para poder ingresar nuevo modelos de pantallas en el caso que sea necesario
actualizar la base de datos de los modelos de pantallas. La seccin Consultar permite
revisar las caractersticas del modelo de pantalla que se desee conocer.

Fig. 2.10 Formulario para agregar un Proyector

Fig. 2.12 Men Pantalla y sus opciones

Manuel Snchez Martnez Pgina 52


Sistema de Cmputo para el Control de Reportes de Equipos Daados

Fig. 2.13 Ampliacin men Pantalla y sus opciones

Fig. 2.14 Caractersticas de Pantalla

Manuel Snchez Martnez Pgina 53


Sistema de Cmputo para el Control de Reportes de Equipos Daados

3.6 Pruebas y Aceptacin del Sistema


El sistema fue probado en diversos equipos de cmputo para comprobar su
correcto funcionamiento, para realizar esto fue necesario instalar el sistema utilizando
computadoras con diferentes caractersticas.

Esto se realiz con la finalidad de comprobar que el sistema sea estable en


cualquier computadora, las pruebas fueron realizadas en equipos de cmputo modernos
con procesadores potentes as como en computadoras con procesadores antiguos con
caractersticas que podran limitar el correcto funcionamiento del sistema.

Algunos procesadores con los cuales fue probado el sistema fueron en


computadoras con procesadores Pentium IV, Atom Inside, Intel Core Duo.

Manuel Snchez Martnez Pgina 54


Sistema de Cmputo para el Control de Reportes de Equipos Daados

Captulo 4:

IMPLEMENTACIN

Manuel Snchez Martnez Pgina 55


Sistema de Cmputo para el Control de Reportes de Equipos Daados

4.1 Preparacin de la Implementacin


Implementar es la realizacin de una especificacin tcnica o algoritmos como un
programa, componente de software, u otro sistema de cmputo. Muchas
implementaciones son dadas segn a una especificacin o un estndar.
En este caso se pretende implementar un sistema de control de reportes
trabajando localmente con informacin que se puede encontrar en la base de datos del
sistema, se pretende llamar la atencin del usuario mediante un sistema atractivo, con
una interfaz grfica comprensible y muy llamativa.

4.2 Verificar Condiciones para Implementacin


Antes de implementar el sistema, es necesario revisar algunas normas para poder
saber si el sistema puede ser utilizado por la empresa NEC de Mxico. Este tipo de normas
que se debe de realizar son las siguientes:

Tener los permisos por parte de NEC para la utilizacin de las imgenes
presentadas en el sistema.
Solicitar los permisos por parte de NEC para la implementacin del sistema.
Verificar la seguridad de la informacin mantenindola de carcter privado para la
empresa.

Sistemas Operativos en los que puede ser ejecutado el Sistema:

Windows XP (x86) Todas las Ediciones.


Windows Vista (x86) Todas las Ediciones.
Windows 7 (x86).

Requisitos de Hardware:

Procesador a 1.6GHz o Superior

512 MB memoria RAM en Sistemas Operativos de 32 Bits.


512 MB para ejecutar en mquina virtual.
1 GB disponible en disco duro.
5400 RPM de disco duro.

Manuel Snchez Martnez Pgina 56


Sistema de Cmputo para el Control de Reportes de Equipos Daados

Este sistema se ha ido perfeccionando de acuerdo a las adecuaciones necesarias


que han solicitado los encargados del manejo del control de los reportes, la empresa ha
reducido sus costos y sus tiempos. El costo del Sistema para el Control de Reportes es el
siguiente:

Considerando un salario mensual de acuerdo a lo establecido, en los


salarios mnimos de acuerdo a cada profesin de la Ley Federal del Trabajo
se observa que el salario que se percibe es de: $ 12,000 M.N.
Si no existiera un salario se considerara un costo de $ 150 M.N. por hora de
trabajo invertido.
El tiempo que llevo realizar el sistema fue de 6 meses considerando el
tiempo que llevo realizar el anlisis y la investigacin en la empresa, as
como, el tiempo que llevo programar el sistema.
La licencia de Microsoft Visual Studio Professional 2010 con MSDN incluye:

Software y servicios para uso en el rea de produccin.


Herramienta principal para desarrollo/prueba Visual Studio Professional 2010
Visual Studio Team Foundation Server 2010
Visual Studio Team Explorer Everywhere 2010
Visual Studio LightSwitch

Software para desarrollo y pruebas


Windows, Windows Server
Microsoft SQL Server
Kits de herramientas, kits de desarrollo de software,
kits de desarrollo de controladores

Ventajas Adicionales
Incidentes de soporte tcnico
Soporte tcnico prioritario en los foros de MSDN
Microsoft E-Learningcolecciones de cursos
(normalmente de 20 horas cada uno; por ao
calendario)
MSDN Magazine
Boletn de MSDN Flash
MSDN Online Concierge
Ofertas especiales de Microsoft y asociados
Fig. 2.1 Caractersticas Visual Studio 2010

El costo de del Microsoft Visual Studio es de: $15,358.35 M.N.

Manuel Snchez Martnez Pgina 57


Sistema de Cmputo para el Control de Reportes de Equipos Daados

Por consiguiente el costo total del Sistema para el Control de Reportes es

Costo del Sistema para el Control de Reportes de Equipo Daado


Salario Mnimo $ 12,000 M.N. Tiempo: 6 Meses 6 * 12,000 $ 72,000 M.N.
Mensual
Licencia $ 15,385.35 M.N. Tiempo: 1 Ao $ 15,385.35
M.N.
Total: $ 87,385.35
Fig. 2.2 Costo del Sistema por Salario Mnimo

Costo del Sistema para el Control de Reportes de Equipo Daado


Cobro por Hora de $ 150 M.N Tiempo: 4 Hrs diarias * 5 das *4 480 Hrs * $ 72,000 M.N.
Trabajo Semanas * 6 Meses 150
Licencia $ 15,385.35 M.N. Tiempo: 1 Ao $ 15,385.35 M.N.
Total: $ 87,385.35
Fig. 2.3 Costo del Sistema por Horas de Trabajo

4.3 Proceso de Problemas Reportados


Los problemas que reporten los usuarios al utilizar el sistema de control de
reportes se analizarn al momento que se reciba esa queja, se verificar que
efectivamente existe el problema que el usuario ha reportado, si es as entonces se
evaluar y se proceder a corregir el problema, en dado caso de que el usuario haya
reportado un problema y dicho evento no sea cierto, se notificar que se ha revisado el
problema que report, y se le invitar al usuario a que acceda nuevamente al sistema para
que verifique que no existe problema alguno.

Se tendr una bitcora, una base de datos con los problemas que los usuarios han
reportado para que as se tenga un control estadstico de cmo est funcionando el
sistema y posteriormente analizar y evaluar, si es necesario realizar una correccin en el
diseo del sistema, y la urgencia con la cual se debe realizar el cambio, as como, se
evaluar la falla ms comn para corregir rpidamente ese problema.

4.4 Proceso de Solicitudes de Cambio


Una vez que los usuarios han utilizado el sistema de control de reportes y han
realizado sus comentarios, queja y sugerencias, se considerarn todas esas peticiones que
realizan los usuarios para mejorar el ambiente del sistema.

Manuel Snchez Martnez Pgina 58


Sistema de Cmputo para el Control de Reportes de Equipos Daados

Estas peticiones se tomarn en cuenta y se cambiar el diseo del sistema de


control de reportes de acuerdo a lo sugerido por los usuarios y con esto se pretende que
el usuario est satisfecho y sobre todo pueda trabajar de una forma ms eficiente.

4.5 Modificaciones del Sistema


Las modificaciones del sistema que los clientes buscan se realizarn en diversos
lapsos de tiempo, primero se revisar las quejas ms comunes y se corregir de una
manera oportuna dicho problema.

Las modificaciones que los clientes hacen llegar se realizarn peridicamente ya


que primero se necesita realizar una evaluacin del nuevo diseo que le propuso el
usuario, ya sea cambiar secciones del men o incluso agregar ms secciones o campos en
las bases de datos, todo esto se debe de analizar y evaluar minuciosamente para que el
sistema tenga todas las caractersticas que el usuario desea.

4.6 Identificacin de Nuevas Necesidades


Ya que se han realizado las modificaciones necesarias que solicit el usuario, el
sistema no se deja olvidado debe de tener un mantenimiento constante, se tendr
comunicacin continua con el usuario para poder mejorar el sistema de acuerdo a las
futuras necesidades que se presenten en el rea Audiovisual de NEC de Mxico S.A. de
C.V.

La observacin por parte del administrador del sistema y sobre todo de las
personas que estarn en el constante uso del sistema deber mantener contacto con el
diseador del sistema para presentar sus observaciones y dar un mantenimiento
constante al sistema y as asegurar su ptimo funcionamiento.

Manuel Snchez Martnez Pgina 59


Sistema de Cmputo para el Control de Reportes de Equipos Daados

Conclusiones
El sistema de control de reportes se mantendr en un periodo de prueba, pero se
ha observado que el proceso para poder dar de alta un reporte y mantener el control y el
seguimiento del mismo, ha mejorado y la atencin que otorga el rea de Soporte
Audiovisual a sus clientes ha sido ms eficiente.

Antes de que el sistema estuviera implementado se poda observar que exista un


problema al administrar los reportes, ya que no exista un control de los mismos y en
ocasiones era complicado saber si ya se haba dado una atencin a cierto reporte, o
simplemente no se tena un control sobre los reportes que se encontraban con el estado
de abierto (Open). Anteriormente el proceso que el rea segua para dar de alta un
reporte era poco eficiente ya que se deba realizar de forma manual utilizando diversos
programas lo cual haca el proceso largo y lento.

Con el sistema actualmente implementado se observa que el proceso es eficiente,


ya que no es necesario abrir diversos programas para dar de alta un reporte, esto hace
que se mantenga un orden en el proceso y sobre todo un control en los reportes
realizados.

Como conclusiones del desarrollo del Sistema de Cmputo para el Control de


Reportes de Equipos Daados para la Empresa NEC de Mxico S.A. de C.V. en el rea
Audiovisual se pueden listar las siguientes:

Se desarroll una herramienta capaz de manipular, controlar y gestionar los


reportes del rea Audiovisual.
Se evit el uso de diferentes programas centralizando todo el proceso en el
Sistema de Control de Reportes.
La informacin se mantiene de una forma ms controlada y organizada.
Se integr el Sistema de Control de Reportes de Equipos Daados a las
actividades diarias de la empresa.

Manuel Snchez Martnez Pgina 60


Sistema de Cmputo para el Control de Reportes de Equipos Daados

Recomendaciones
El trabajo que aqu se presenta ofrece oportunidades amplias para su
perfeccionamiento y profundizacin, pero difcilmente para ser tomado como otro posible
tema de tesis, esto debido a que ya la base y estructura del sistema estn completamente
desarrolladas, lo cual indica que la profundizacin puede ser vista a niveles de nuevos
reportes, actualizacin de algn campo que requiera el reporte, nueva relacin entre las
tablas de la base de datos, automatizacin de tareas.

A largo plazo se planea el desarrollo de nuevas tareas y procesos, tambin existe la


posibilidad de extender el sistema al resto de las reas de la empresa. ste caso en
particular, el Sistema debe ser implementado en el rea de Soporte Audiovisual ya que
constantemente deben de estar atendiendo peticiones y solventando eventos en tiempos
prestablecidos, manipulando toda una serie de datos o elementos los cuales permiten
simplificar el buen desempeo de sus actividades.

Manuel Snchez Martnez Pgina 61


Sistema de Cmputo para el Control de Reportes de Equipos Daados

ndice de Figuras

FIG. 1.1 PRESENCIA NEC EN TODO EL MUNDO .......................................................................................... 10

FIG. 1.2 VALORES REPRESENTATIVOS DE NEC ........................................................................................... 11

FIG. 1.3 OFICINAS ALREDEDOR DEL MUNDO ............................................................................................. 12

FIG. 1.4 OFICINAS EN MXICO ................................................................................................................... 13

FIG. 1.5 REAS NEC DE MXICO S.A. DE C.V. ............................................................................................. 13

FIG. 1.6 LNEA DE PRODUCTOS DE REDES EMPRESARIALES ....................................................................... 14

FIG. 1.7 LNEA DE PRODUCTOS DEL REA AUDIOVISUAL........................................................................... 14

FIG. 1.8 DIAGRAMA DE FLUJO ................................................................................................................... 19

FIG. 2.1 PANTALLA DE INICIO DEL SISTEMA................................................................................................ 46

FIG. 2.2 PANTALLA PRINCIPAL DEL SISTEMA .............................................................................................. 47

FIG. 2.3 MEN O BARRA DE HERRAMIENTAS DEL SISTEMA ....................................................................... 47

FIG. 2.4 MEN REPORTES Y SUS OPCIONES ............................................................................................... 48

FIG. 2.5 AMPLIACIN DEL MEN REPORTES Y SUS OPCIONES ................................................................... 48

FIG. 2.6 FORMULARIO PARA DAR DE ALTA UN REPORTE ........................................................................... 49

FIG. 2.7 MEN CONSULTA Y SUS OPCIONES ............................................................................................... 50

FIG. 2.8 AMPLIACIN MEN CONSULTA Y SUS OPCIONES ......................................................................... 50

FIG. 2.9 MEN PROYECTOR Y SUS OPCIONES ............................................................................................. 51

FIG. 2.10 AMPLIACIN MEN PROYECTOR Y SUS OPCIONES ..................................................................... 51

FIG. 2.11 CARACTERSTICAS DE PROYECTOR .............................................................................................. 52

FIG. 2.12 MEN PANTALLA Y SUS OPCIONES ............................................................................................. 52

FIG. 2.10 FORMULARIO PARA AGREGAR UN PROYECTOR .......................................................................... 52

FIG. 2.13 AMPLIACIN MEN PANTALLA Y SUS OPCIONES ........................................................................ 53

FIG. 2.14 CARACTERSTICAS DE PANTALLA ................................................................................................. 53

Manuel Snchez Martnez Pgina 62


Sistema de Cmputo para el Control de Reportes de Equipos Daados

ndice de Tablas
FIG. 1.2 METODOLOGA LAGS ................................................................................................................... 27

FIG. 1.2 TABLA SISTMICA ......................................................................................................................... 33

FIG. 1.3 DICCIONARIO DE DATOS ............................................................................................................... 42

FIG. 1.4 DIAGRAMA ENTIDAD RELACIN ................................................................................................... 44

FIG. 2.1 CARACTERSTICAS VISUAL STUDIO 2010 ....................................................................................... 57

FIG. 2.2 COSTO DEL SISTEMA POR SALARIO MNIMO ................................................................................. 58

FIG. 2.3 COSTO DEL SISTEMA POR HORAS DE TRABAJO ............................................................................. 58

Manuel Snchez Martnez Pgina 63


Sistema de Cmputo para el Control de Reportes de Equipos Daados

Fuentes Bibliogrficas

Ian Sommerville, Ingeniera Del Software, Pearson Educacin, 2005.

F. Alonso Amo y Loc Martnez Normand, Introduccin a la Ingeniera del software, Delta
Publicaciones, 2005.

Marco Besteiro y Miguel Rodrguez, Controles de Validacin, Libre, 2010.

Jett Ferguson, La biblia de C#, Anaya Multimedia, 2003.

Carlos Muoz Raso, Cmo elaborar una investigacin de tesis, Prentice Hall, 1998.

Nacho Cabanes, Introduccin a la programacin con C#, Libre, 2006.

Yolanda Cerezo Lpez, Rafael Caballero Roldn, Olga Pealba Rodrguez, Iniciacin a la
programacin en C#, 2006.

Pablo Lugo, Roderick Rangel, Sistema de Incidencias MSIS de Mega Soft Computacin C.A.
basado en Help Desk y sistemas de ticketing (Issue tracking system o trouble ticketing).
Tesis, Universidad Catlica Andrs Bello, 2007.

Manuel Snchez Martnez Pgina 64


Sistema de Cmputo para el Control de Reportes de Equipos Daados

Fuentes Electrnicas

http://mygnet.net/manuales/csharp/creacion_de_reportes_en_visual_c_sharp.754

http://msdn.microsoft.com/es-es/library/bb629268(v=vs.90).aspx

http://alarcos.inf-cr.uclm.es/doc/ISOFTWAREI/Tema04.pdf

http://geeks.ms/blogs/lfranco/archive/2010/11/26/howto-crear-una-pantalla-de-inicio-splash-
screen.aspx

http://windowsclient.net/blogs/linkecubeko/archive/2009/05/01/crear-un-instalador-para-
windowsapplication-en-visual-studio-paso-a-paso.aspx

http://msdn.microsoft.com/es-es/library/bb629268(v=vs.90).aspx

http://giovannidotnet.wordpress.com/2011/04/15/creacin-de-reportes-con-crystal-report-con-
visual-studio-2010-en-windows-form/

http://www.onglasses.net/Default.aspx?id=1115

Manuel Snchez Martnez Pgina 65


Sistema de Cmputo para el Control de Reportes de Equipos Daados

Anexos
Cdigo Fuente utilizado en el Sistema para el Control de Reportes de Equipo Daado de la
Empresa NEC de Mxico S.A. de C.V.

Men Principal
/* ====================================================================
* Proyecto: Sistema de Control de Reportes
* Escuela Superior de Ingeniera Mecnica y Elctrica
* Unidad Profesional Zacatenco
* Ingeniera en Comunicaciones y Electrnica
* Especialidad Computacin
* Desarrollado por Manuel Snchez Martnez
* ==================================================================== */
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;

namespace NEC_Windows_Form
{
public partial class Principal : Form
{
public Principal()
{
InitializeComponent();
this.Load += new EventHandler(Principal_Load);
}

private void Principal_Load(object sender, EventArgs e)


{
showSplashScreen();
}
private void showSplashScreen()
{
using (fSplashScreen fsplash = new fSplashScreen())
{
if (fsplash.ShowDialog() ==
System.Windows.Forms.DialogResult.Cancel)
{
this.Close();
}
else
{
this.WindowState = FormWindowState.Maximized;
}
}
}

Manuel Snchez Martnez Pgina 66


Sistema de Cmputo para el Control de Reportes de Equipos Daados

private void salirDelSistemaToolStripMenuItem_Click(object sender, EventArgs


e)
{
//Salir del Sistema
this.Close();
}

private void acercaDeToolStripMenuItem_Click(object sender, EventArgs e)


{
//Informacion del Sistema "Acerca de"
Acerca_de Info = new Acerca_de();
Info.Show(this);
}

private void nuevoToolStripMenuItem_Click(object sender, EventArgs e)


{
//Agregar Nuevo Reporte
Agregar NuevoAgregar = new Agregar(); //Instanciar elemento
NuevoAgregar.Show(this); // Mostrar objeto instanciado, mtodo show
acompaado de This
}

private void modificarToolStripMenuItem_Click(object sender, EventArgs e)


{
//Modificar Reporte Existente
Modificar NuevoModificar = new Modificar(); //Instanciar elemento
NuevoModificar.Show(this); // Mostrar objeto instanciado, mtodo show
acompaado de This
}

private void Principal_Load_1(object sender, EventArgs e)


{

private void empresaToolStripMenuItem_Click(object sender, EventArgs e)


{
//Buscar Empresa
Buscar_Empresa Buscar = new Buscar_Empresa();
Buscar.Show(this);
}

private void modeloDelEquipoToolStripMenuItem_Click(object sender, EventArgs


e)
{
//Buscar Reporte Modelo Proyector
Buscar_Modelo Buscar = new Buscar_Modelo();
Buscar.Show(this);
}

private void nmeroDeTicketToolStripMenuItem_Click(object sender, EventArgs


e)
{
//Buscar Ticket
Buscar_Ticket Buscar = new Buscar_Ticket();
Buscar.Show(this);
}

Manuel Snchez Martnez Pgina 67


Sistema de Cmputo para el Control de Reportes de Equipos Daados

private void tipoDeEquipoToolStripMenuItem_Click(object sender, EventArgs e)


{
//Buscar Tipo Equipo
Buscar_Equipo Buscar = new Buscar_Equipo();
Buscar.Show(this);
}

private void nuevoToolStripMenuItem1_Click(object sender, EventArgs e)


{
//Agregar nuevo modelo de proyector
Proyector_Nuevo Proyector_Nuevo = new Proyector_Nuevo();
Proyector_Nuevo.Show(this);
}

private void consultarToolStripMenuItem_Click(object sender, EventArgs e)


{
//Buscar un Proyector
Proyector_Consulta Proyector_Consulta = new Proyector_Consulta();
Proyector_Consulta.Show(this);
}

private void nuevoToolStripMenuItem2_Click(object sender, EventArgs e)


{
//Agregar nuevo modelo de proyector
Pantalla_Nuevo Pantalla_Nuevos = new Pantalla_Nuevo();
Pantalla_Nuevos.Show(this);
}

private void consultarToolStripMenuItem1_Click(object sender, EventArgs e)


{
//Buscar un Proyector
Pantalla_Consulta Pantalla_Consultar = new Pantalla_Consulta();
Pantalla_Consultar.Show(this);
}

private void modeloDePantallaToolStripMenuItem_Click(object sender,


EventArgs e)
{
//Buscar Reporte Modelo de Pantalla
Buscar_Modelo_Pantalla Buscar = new Buscar_Modelo_Pantalla();
Buscar.Show(this);
}

private void statusToolStripMenuItem_Click(object sender, EventArgs e)


{
//Buscar Status
Busca_Status BuscarSta = new Busca_Status();
BuscarSta.Show(this);
}

private void nmeroDeSerieToolStripMenuItem_Click(object sender, EventArgs


e)
{
//Buscar Serie
Buscar_Serie BuscarSe = new Buscar_Serie();
BuscarSe.Show(this);
}

Manuel Snchez Martnez Pgina 68


Sistema de Cmputo para el Control de Reportes de Equipos Daados

private void nuevoToolStripMenuItem3_Click(object sender, EventArgs e)


{
//Nuevo empleado
empleado_nuevo nuevoem = new empleado_nuevo();
nuevoem.Show(this);
}

private void actualizarToolStripMenuItem_Click(object sender, EventArgs e)


{
//Nuevo empleado
empleado_modificar modiem = new empleado_modificar();
modiem.Show(this);
}

private void nuevoToolStripMenuItem4_Click(object sender, EventArgs e)


{
Empresa_nuevo emnue = new Empresa_nuevo();
emnue.Show(this);
}

private void consultarToolStripMenuItem2_Click(object sender, EventArgs e)


{
Empresa_consulta emcon = new Empresa_consulta();
emcon.Show(this);
}

private void imprimirToolStripMenuItem_Click(object sender, EventArgs e)


{
Imprimir_Reporte imp = new Imprimir_Reporte();
imp.Show(this);
}
}
}

Agregar Nuevo Reporte


/* ====================================================================
* Proyecto: Sistema de Control de Reportes
* Escuela Superior de Ingeniera Mecnica y Elctrica
* Unidad Profesional Zacatenco
* Ingeniera en Comunicaciones y Electrnica
* Especialidad Computacin
* Desarrollado por Manuel Snchez Martnez
* ==================================================================== */
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 System.Data.Sql;
using System.Data.SqlTypes;

Manuel Snchez Martnez Pgina 69


Sistema de Cmputo para el Control de Reportes de Equipos Daados

using System.Configuration;

namespace NEC_Windows_Form
{
public partial class Agregar : Form
{
public Agregar()
{
InitializeComponent();
}

private void Agregar_Load(object sender, EventArgs e)


{
TBEmpleado.Focus();

//Funciones iniciales
Interface_Inicial();

//cargar los datos para el autocomplete del textbox Proyector


TBModeloP.AutoCompleteCustomSource = AutoCompleClass.Autocomplete();
TBModeloP.AutoCompleteMode = AutoCompleteMode.Suggest;
TBModeloP.AutoCompleteSource = AutoCompleteSource.CustomSource;

//cargar los datos para el autocomplete del textbox Pantalla


TBModeloPAN.AutoCompleteCustomSource =
AutoCompleClassPantalla.Autocomplete();
TBModeloPAN.AutoCompleteMode = AutoCompleteMode.Suggest;
TBModeloPAN.AutoCompleteSource = AutoCompleteSource.CustomSource;

//cargar los datos para el autocomplete del textbox Recepcion


TBRecepcion.AutoCompleteCustomSource =
AutoCompleClassRecepcion.Autocomplete();
TBRecepcion.AutoCompleteMode = AutoCompleteMode.Suggest;
TBRecepcion.AutoCompleteSource = AutoCompleteSource.CustomSource;

//cargar los datos para el autocomplete del textbox Equipo


TBEquipo.AutoCompleteCustomSource =
AutoCompleClassEquipo.Autocomplete();
TBEquipo.AutoCompleteMode = AutoCompleteMode.Suggest;
TBEquipo.AutoCompleteSource = AutoCompleteSource.CustomSource;

//cargar los datos para el autocomplete del textbox Status


TBStatus.AutoCompleteCustomSource =
AutoCompleClassStatus.Autocomplete();
TBStatus.AutoCompleteMode = AutoCompleteMode.Suggest;
TBStatus.AutoCompleteSource = AutoCompleteSource.CustomSource;

//cargar los datos para el autocomplete del textbox Empresa


TBEmpresa.AutoCompleteCustomSource =
AutoCompleClassEmpresas.Autocomplete();
TBEmpresa.AutoCompleteMode = AutoCompleteMode.Suggest;
TBEmpresa.AutoCompleteSource = AutoCompleteSource.CustomSource;

//cargar los datos para el autocomplete del textbox Contacto


TBContacto.AutoCompleteCustomSource =
AutoCompleClassContacto.Autocomplete();
TBContacto.AutoCompleteMode = AutoCompleteMode.Suggest;
TBContacto.AutoCompleteSource = AutoCompleteSource.CustomSource;

Manuel Snchez Martnez Pgina 70


Sistema de Cmputo para el Control de Reportes de Equipos Daados

//cargar los datos para el autocomplete del textbox Atencin


TBAtencion.AutoCompleteCustomSource =
AutoCompleClassAtencion.Autocomplete();
TBAtencion.AutoCompleteMode = AutoCompleteMode.Suggest;
TBAtencion.AutoCompleteSource = AutoCompleteSource.CustomSource;

private void BTNCancelar_Click(object sender, EventArgs e)


{
this.Close();
}

private void Interface_Inicial()


{
TBEmpleado.Focus();
LBEmpleado.Enabled = true;
TBEmpleado.Enabled = true;
LBContra.Enabled = true;
TBContra.Enabled = true;
BTNCancelar.Enabled = true;
BTNGuardar.Enabled = true;
BTNEntrar.Enabled = true;
LBTicket.Enabled = false;
TBTicket.Enabled = false;
LBFecha.Enabled = false;
DFecha.Enabled = false;
LBRecepcion.Enabled = false;
TBRecepcion.Enabled = false;
LBEmpresa.Enabled = false;
TBEmpresa.Enabled = false;
LBContacto.Enabled = false;
TBContacto.Enabled = false;
LBAtencion.Enabled = false;
TBAtencion.Enabled = false;
LBEquipo.Enabled = false;
TBEquipo.Enabled = false;
LBProyector.Enabled = false;
TBModeloP.Enabled = false;
LBPantalla.Enabled = false;
TBModeloPAN.Enabled = false;
LBSerie.Enabled = false;
TBSerie.Enabled = false;
LBGarantia.Enabled = false;
TBGarantia.Enabled = false;
LBIniGaran.Enabled = false;
DInicioGarantia.Enabled = false;
LBTermiGara.Enabled = false;
DTerminoGarantia.Enabled = false;
LBFalla.Enabled = false;
TBFalla.Enabled = false;
LBDiagnostico.Enabled = false;
TBDiagnostico.Enabled = false;
LBObservaciones.Enabled = false;
TBObservaciones.Enabled = false;
LBStatus.Enabled = false;
TBStatus.Enabled = false;

Manuel Snchez Martnez Pgina 71


Sistema de Cmputo para el Control de Reportes de Equipos Daados

BTNGuardar.Enabled = false;
TBEmpleado.Focus();
}

private void BTNGuardar_Click(object sender, EventArgs e)


{
SqlConnection SqlDataSource1 = new SqlConnection();
SqlDataSource1.ConnectionString = "Data
Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Data\\Tesis.mdf;Integrated
Security=True;User Instance=True";

reporte oreporte = new reporte(SqlDataSource1.ConnectionString);

if (oreporte.AgregaReporte(DFecha.Text, TBRecepcion.Text,
TBEmpresa.Text, TBContacto.Text, TBAtencion.Text, TBEquipo.Text, TBModeloP.Text,
TBModeloPAN.Text, TBSerie.Text, TBGarantia.Text, DInicioGarantia.Text,
DTerminoGarantia.Text, TBFalla.Text, TBDiagnostico.Text, TBObservaciones.Text,
TBStatus.Text))
{
MessageBox.Show("Reporte agregado
correctamente","Agregado",MessageBoxButtons.OK);
}
else
{
MessageBox.Show("Error al agregar el reporte " +
oreporte.mensaje,"Error",MessageBoxButtons.OK,MessageBoxIcon.Error);
}
Limpiar_Formulario(); //Limpia el formulario
//Interface_Inicial(); //Prepara la interfaz del formulario inicial*/
}

private void Limpiar_Formulario()


{
TBAtencion.Clear();
TBContacto.Clear();
TBDiagnostico.Clear();
TBEmpresa.Clear();
TBEquipo.Clear();
TBFalla.Clear();
TBGarantia.Clear();
TBModeloP.Clear();
TBModeloPAN.Clear();
TBObservaciones.Clear();
TBRecepcion.Clear();
TBSerie.Clear();
TBStatus.Clear();
TBTicket.Clear();
}

private void Interface_Datos()


{
LBEmpleado.Enabled = false;
TBEmpleado.Enabled = false;
LBContra.Enabled = false;
TBContra.Enabled = false;
BTNCancelar.Enabled = true;
BTNEntrar.Enabled = false;

Manuel Snchez Martnez Pgina 72


Sistema de Cmputo para el Control de Reportes de Equipos Daados

TBRecepcion.Focus();
LBTicket.Enabled = true;
TBTicket.Enabled = true;
LBFecha.Enabled = true;
DFecha.Enabled = true;
LBRecepcion.Enabled = true;
TBRecepcion.Enabled = true;
LBEmpresa.Enabled = true;
TBEmpresa.Enabled = true;
LBContacto.Enabled = true;
TBContacto.Enabled = true;
LBAtencion.Enabled = true;
TBAtencion.Enabled = true;
LBEquipo.Enabled = true;
TBEquipo.Enabled = true;
LBProyector.Enabled = true;
TBModeloP.Enabled = true;
LBPantalla.Enabled = true;
TBModeloPAN.Enabled = true;
LBSerie.Enabled = true;
TBSerie.Enabled = true;
LBGarantia.Enabled = true;
TBGarantia.Enabled = true;
LBIniGaran.Enabled = true;
DInicioGarantia.Enabled = true;
LBTermiGara.Enabled = true;
DTerminoGarantia.Enabled = true;
LBFalla.Enabled = true;
TBFalla.Enabled = true;
LBDiagnostico.Enabled = true;
TBDiagnostico.Enabled = true;
LBObservaciones.Enabled = true;
TBObservaciones.Enabled = true;
LBStatus.Enabled = true;
TBStatus.Enabled = true;
BTNGuardar.Enabled = true;
TBRecepcion.Focus();
}

public static class AutoCompleClass


{
//mtodo para cargar los datos de la base de datos
public static DataTable Datos()
{
DataTable dt = new DataTable();

SqlConnection SqlDataSource1 = new SqlConnection();


SqlDataSource1.ConnectionString = "Data
Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Data\\Tesis.mdf;Integrated
Security=True;User Instance=True";

reporte oreporte = new reporte(SqlDataSource1.ConnectionString);


string consulta = "SELECT * FROM proyector"; //consulta a la tabla
proyector

SqlCommand comando = new SqlCommand(consulta, SqlDataSource1);

SqlDataAdapter adap = new SqlDataAdapter(comando);

Manuel Snchez Martnez Pgina 73


Sistema de Cmputo para el Control de Reportes de Equipos Daados

adap.Fill(dt);
return dt;
}

//mtodo para cargar la coleccin de datos para el autocomplete


public static AutoCompleteStringCollection Autocomplete()
{
DataTable dt = Datos();

AutoCompleteStringCollection coleccin = new


AutoCompleteStringCollection();
//recorrer y cargar los tems para el autocompletado
foreach (DataRow row in dt.Rows)
{
coleccion.Add(Convert.ToString(row["modelo"]));
}

return coleccion;
}
}

public static class AutoCompleClassPantalla


{
//mtodo para cargar los datos de la base de datos
public static DataTable Datos()
{
DataTable dt = new DataTable();

SqlConnection SqlDataSource1 = new SqlConnection();


SqlDataSource1.ConnectionString = "Data
Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Data\\Tesis.mdf;Integrated
Security=True;User Instance=True";

reporte oreporte = new reporte(SqlDataSource1.ConnectionString);


string consulta = "SELECT * FROM pantalla"; //consulta a la tabla
proyector

SqlCommand comando = new SqlCommand(consulta, SqlDataSource1);

SqlDataAdapter adap = new SqlDataAdapter(comando);

adap.Fill(dt);
return dt;
}

//mtodo para cargar la coleccin de datos para el autocomplete


public static AutoCompleteStringCollection Autocomplete()
{
DataTable dt = Datos();

AutoCompleteStringCollection coleccin = new


AutoCompleteStringCollection();
//recorrer y cargar los tems para el autocompletado
foreach (DataRow row in dt.Rows)
{
coleccion.Add(Convert.ToString(row["modelo"]));
}

Manuel Snchez Martnez Pgina 74


Sistema de Cmputo para el Control de Reportes de Equipos Daados

return coleccion;
}
}

public static class AutoCompleClassRecepcion


{
//mtodo para cargar los datos de la base de datos
public static DataTable Datos()
{
DataTable dt = new DataTable();

SqlConnection SqlDataSource1 = new SqlConnection();


SqlDataSource1.ConnectionString = "Data
Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Data\\Tesis.mdf;Integrated
Security=True;User Instance=True";

reporte oreporte = new reporte(SqlDataSource1.ConnectionString);


string consulta = "SELECT * FROM recepcion"; //consulta a la tabla
proyector

SqlCommand comando = new SqlCommand(consulta, SqlDataSource1);

SqlDataAdapter adap = new SqlDataAdapter(comando);

adap.Fill(dt);
return dt;
}

//mtodo para cargar la coleccin de datos para el autocomplete


public static AutoCompleteStringCollection Autocomplete()
{
DataTable dt = Datos();

AutoCompleteStringCollection coleccin = new


AutoCompleteStringCollection();
//recorrer y cargar los tems para el autocompletado
foreach (DataRow row in dt.Rows)
{
coleccion.Add(Convert.ToString(row["recepcion"]));
}

return coleccion;
}
}

public static class AutoCompleClassEquipo


{
//mtodo para cargar los datos de la base de datos
public static DataTable Datos()
{
DataTable dt = new DataTable();

SqlConnection SqlDataSource1 = new SqlConnection();


SqlDataSource1.ConnectionString = "Data
Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Data\\Tesis.mdf;Integrated
Security=True;User Instance=True";

Manuel Snchez Martnez Pgina 75


Sistema de Cmputo para el Control de Reportes de Equipos Daados

reporte oreporte = new reporte(SqlDataSource1.ConnectionString);


string consulta = "SELECT * FROM equipo"; //consulta a la tabla
proyector

SqlCommand comando = new SqlCommand(consulta, SqlDataSource1);

SqlDataAdapter adap = new SqlDataAdapter(comando);

adap.Fill(dt);
return dt;
}

//mtodo para cargar la coleccin de datos para el autocomplete


public static AutoCompleteStringCollection Autocomplete()
{
DataTable dt = Datos();

AutoCompleteStringCollection coleccin = new


AutoCompleteStringCollection();
//recorrer y cargar los tems para el autocompletado
foreach (DataRow row in dt.Rows)
{
coleccion.Add(Convert.ToString(row["equipo"]));
}

return coleccion;
}
}

public static class AutoCompleClassStatus


{
//mtodo para cargar los datos de la base de datos
public static DataTable Datos()
{
DataTable dt = new DataTable();

SqlConnection SqlDataSource1 = new SqlConnection();


SqlDataSource1.ConnectionString = "Data
Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Data\\Tesis.mdf;Integrated
Security=True;User Instance=True";

reporte oreporte = new reporte(SqlDataSource1.ConnectionString);


string consulta = "SELECT * FROM status"; //consulta a la tabla
proyector

SqlCommand comando = new SqlCommand(consulta, SqlDataSource1);

SqlDataAdapter adap = new SqlDataAdapter(comando);

adap.Fill(dt);
return dt;
}

//mtodo para cargar la coleccin de datos para el autocomplete


public static AutoCompleteStringCollection Autocomplete()
{
DataTable dt = Datos();

Manuel Snchez Martnez Pgina 76


Sistema de Cmputo para el Control de Reportes de Equipos Daados

AutoCompleteStringCollection coleccin = new


AutoCompleteStringCollection();
//recorrer y cargar los tems para el autocompletado
foreach (DataRow row in dt.Rows)
{
coleccion.Add(Convert.ToString(row["status"]));
}

return coleccion;
}
}

public static class AutoCompleClassEmpresas


{
//mtodo para cargar los datos de la base de datos
public static DataTable Datos()
{
DataTable dt = new DataTable();

SqlConnection SqlDataSource1 = new SqlConnection();


SqlDataSource1.ConnectionString = "Data
Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Data\\Tesis.mdf;Integrated
Security=True;User Instance=True";

reporte oreporte = new reporte(SqlDataSource1.ConnectionString);


string consulta = "SELECT * FROM empresas"; //consulta a la tabla
proyector

SqlCommand comando = new SqlCommand(consulta, SqlDataSource1);

SqlDataAdapter adap = new SqlDataAdapter(comando);

adap.Fill(dt);
return dt;
}

//mtodo para cargar la coleccin de datos para el autocomplete


public static AutoCompleteStringCollection Autocomplete()
{
DataTable dt = Datos();

AutoCompleteStringCollection coleccin = new


AutoCompleteStringCollection();
//recorrer y cargar los tems para el autocompletado
foreach (DataRow row in dt.Rows)
{
coleccion.Add(Convert.ToString(row["empresa"]));
}

return coleccion;
}
}

public static class AutoCompleClassContacto


{
//mtodo para cargar los datos de la base de datos
public static DataTable Datos()
{

Manuel Snchez Martnez Pgina 77


Sistema de Cmputo para el Control de Reportes de Equipos Daados

DataTable dt = new DataTable();

SqlConnection SqlDataSource1 = new SqlConnection();


SqlDataSource1.ConnectionString = "Data
Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Data\\Tesis.mdf;Integrated
Security=True;User Instance=True";

reporte oreporte = new reporte(SqlDataSource1.ConnectionString);


string consulta = "SELECT * FROM empresas"; //consulta a la tabla
proyector

SqlCommand comando = new SqlCommand(consulta, SqlDataSource1);

SqlDataAdapter adap = new SqlDataAdapter(comando);

adap.Fill(dt);
return dt;
}

//mtodo para cargar la coleccin de datos para el autocomplete


public static AutoCompleteStringCollection Autocomplete()
{
DataTable dt = Datos();

AutoCompleteStringCollection coleccin = new


AutoCompleteStringCollection();
//recorrer y cargar los tems para el autocompletado
foreach (DataRow row in dt.Rows)
{
coleccion.Add(Convert.ToString(row["contacto"]));
}

return coleccion;
}
}

public static class AutoCompleClassAtencion


{
//mtodo para cargar los datos de la base de datos
public static DataTable Datos()
{
DataTable dt = new DataTable();

SqlConnection SqlDataSource1 = new SqlConnection();


SqlDataSource1.ConnectionString = "Data
Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Data\\Tesis.mdf;Integrated
Security=True;User Instance=True";

reporte oreporte = new reporte(SqlDataSource1.ConnectionString);


string consulta = "SELECT * FROM reporte"; //consulta a la tabla
proyector

SqlCommand comando = new SqlCommand(consulta, SqlDataSource1);

SqlDataAdapter adap = new SqlDataAdapter(comando);

adap.Fill(dt);
return dt;

Manuel Snchez Martnez Pgina 78


Sistema de Cmputo para el Control de Reportes de Equipos Daados

//mtodo para cargar la coleccin de datos para el autocomplete


public static AutoCompleteStringCollection Autocomplete()
{
DataTable dt = Datos();

AutoCompleteStringCollection coleccin = new


AutoCompleteStringCollection();
//recorrer y cargar los tems para el autocompletado
foreach (DataRow row in dt.Rows)
{
coleccion.Add(Convert.ToString(row["atencion"]));
}

return coleccion;
}
}
private bool BuscarReporte(string ticket)
{
//CONEXION
SqlConnection conexion = new SqlConnection();
conexion.ConnectionString = "Data
Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Data\\Tesis.mdf;Integrated
Security=True;User Instance=True";

//Cadena SQL
String CadenaSQL = "SELECT MAX(ticket)+1 AS ticket FROM reporte";

//Adaptador
SqlDataAdapter Adaptador = new SqlDataAdapter(CadenaSQL, conexion);

//Data Set
DataSet ds = new DataSet();

//Llenar el Data Set


conexion.Open();
Adaptador.Fill(ds);
conexion.Close();

//Contar Registros
if (ds.Tables[0].Rows.Count == 0)
{
ds.Dispose();
return false; //Registro no encontrado
}
else
{
//Cargar los campos en Text Box
TBTicket.Text = ds.Tables[0].Rows[0]["ticket"].ToString();
ds.Dispose();//cierra el data set y libera los recursos de memoria
que ocupa

return true; //Registro Existe


}

Manuel Snchez Martnez Pgina 79


Sistema de Cmputo para el Control de Reportes de Equipos Daados

private void BTNEntrar_Click(object sender, EventArgs e)


{
SqlConnection cn = new SqlConnection();
cn.ConnectionString="Data
Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Data\\Tesis.mdf;Integrated
Security=True;User Instance=True";

try
{
if (BuscarReporte(TBTicket.Text) == true)
{
//MessageBox.Show("Reporte Encontrado ", "Mensaje");
}
else
{
MessageBox.Show("Reporte NO Encontrado ",
"Mensaje",MessageBoxButtons.OK,MessageBoxIcon.Error);
TBTicket.Focus();
}
SqlCommand cmd = new SqlCommand("SELECT ID,pass FROM empleados WHERE
ID='" + TBEmpleado.Text + "' AND pass='" + TBContra.Text + "' ",cn);

cn.Open();
cmd.ExecuteNonQuery();
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(ds,"empleados");

DataRow dro;
dro = ds.Tables["empleados"].Rows[0];

if((TBEmpleado.Text == dro["ID"].ToString()) || (TBContra.Text ==


dro["pass"].ToString()))
{
MessageBox.Show("Bienvenido, puedes dar de alta un
reporte","Mensaje",MessageBoxButtons.OK,MessageBoxIcon.Information);
Interface_Datos();
}

}
catch
{
MessageBox.Show("Los datos son incorrectos. Ingreselos nuevamente.",
"Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
Interface_Inicial();
}
finally
{
cn.Close();
}
}
}
}

Manuel Snchez Martnez Pgina 80


Sistema de Cmputo para el Control de Reportes de Equipos Daados

Modificar Reporte
/* ====================================================================
* Proyecto: Sistema de Control de Reportes
* Escuela Superior de Ingeniera Mecnica y Elctrica
* Unidad Profesional Zacatenco
* Ingeniera en Comunicaciones y Electrnica
* Especialidad Computacin
* Desarrollado por Manuel Snchez Martnez
* ==================================================================== */
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 System.Data.Sql;

namespace NEC_Windows_Form
{
public partial class Modificar : Form
{
public Modificar()
{
InitializeComponent();
}

private void Modificar_Load(object sender, EventArgs e)


{
Interface_Inicial();
//cargar los datos para el autocomplete del textbox Proyector
TBModeloP.AutoCompleteCustomSource = AutoCompleClass.Autocomplete();
TBModeloP.AutoCompleteMode = AutoCompleteMode.Suggest;
TBModeloP.AutoCompleteSource = AutoCompleteSource.CustomSource;

//cargar los datos para el autocomplete del textbox Pantalla


TBModeloPAN.AutoCompleteCustomSource =
AutoCompleClassPantalla.Autocomplete();
TBModeloPAN.AutoCompleteMode = AutoCompleteMode.Suggest;
TBModeloPAN.AutoCompleteSource = AutoCompleteSource.CustomSource;

//cargar los datos para el autocomplete del textbox Recepcion


TBRecepcion.AutoCompleteCustomSource =
AutoCompleClassRecepcion.Autocomplete();
TBRecepcion.AutoCompleteMode = AutoCompleteMode.Suggest;
TBRecepcion.AutoCompleteSource = AutoCompleteSource.CustomSource;

//cargar los datos para el autocomplete del textbox Equipo


TBEquipo.AutoCompleteCustomSource =
AutoCompleClassEquipo.Autocomplete();
TBEquipo.AutoCompleteMode = AutoCompleteMode.Suggest;
TBEquipo.AutoCompleteSource = AutoCompleteSource.CustomSource;

//cargar los datos para el autocomplete del textbox Status

Manuel Snchez Martnez Pgina 81


Sistema de Cmputo para el Control de Reportes de Equipos Daados

TBStatus.AutoCompleteCustomSource =
AutoCompleClassStatus.Autocomplete();
TBStatus.AutoCompleteMode = AutoCompleteMode.Suggest;
TBStatus.AutoCompleteSource = AutoCompleteSource.CustomSource;
}

private void BTNCANCELAR_Click_1(object sender, EventArgs e)


{
this.Close();
}

private void Interface_Inicial()


{
TBEmpleado.Focus();
LBEmpleado.Enabled = true;
TBEmpleado.Enabled = true;
LBContra.Enabled = true;
TBContra.Enabled = true;
BTNCANCELAR.Enabled = true;
BTNGuardar.Enabled = false;
BTNEntrar.Enabled = true;
LBBUSCATICKET.Enabled = false;
TBTICKET.Enabled = false;
BTNBUSCAR.Enabled = false;
LBTicket.Enabled = false;
TBNoTicket.Enabled = false;
LBFecha.Enabled = false;
DFecha.Enabled = false;
LBRecepcion.Enabled = false;
TBRecepcion.Enabled = false;
LBEmpresa.Enabled = false;
TBEmpresa.Enabled = false;
LBContacto.Enabled = false;
TBContacto.Enabled = false;
LBAtencion.Enabled = false;
TBAtencion.Enabled = false;
LBEquipo.Enabled = false;
TBEquipo.Enabled = false;
LBProyector.Enabled = false;
TBModeloP.Enabled = false;
LBPantalla.Enabled = false;
TBModeloPAN.Enabled = false;
LBSerie.Enabled = false;
TBSerie.Enabled = false;
LBGarantia.Enabled = false;
TBGarantia.Enabled = false;
LBInicioGarantia.Enabled = false;
DInicioGarantia.Enabled = false;
LBTerminoGarantia.Enabled = false;
DTerminoGarantia.Enabled = false;
LBFalla.Enabled = false;
TBFalla.Enabled = false;
LBDiagnostico.Enabled = false;
TBDiagnostico.Enabled = false;
LBObservaciones.Enabled = false;
TBObservaciones.Enabled = false;
LBStatus.Enabled = false;
TBStatus.Enabled = false;

Manuel Snchez Martnez Pgina 82


Sistema de Cmputo para el Control de Reportes de Equipos Daados

TBEmpleado.Focus();
}

private void Interface_Datos()


{
LBEmpleado.Enabled = false;
TBEmpleado.Enabled = false;
LBContra.Enabled = false;
TBContra.Enabled = false;
BTNCANCELAR.Enabled = true;
BTNEntrar.Enabled = false;
LBBUSCATICKET.Enabled = true;
TBTICKET.Enabled = true;
BTNBUSCAR.Enabled = true;
LBTicket.Enabled = true;
TBNoTicket.Enabled = true;
LBFecha.Enabled = false;
DFecha.Enabled = false;
LBRecepcion.Enabled = true;
TBRecepcion.Enabled = true;
LBEmpresa.Enabled = true;
TBEmpresa.Enabled = true;
LBContacto.Enabled = true;
TBContacto.Enabled = true;
LBAtencion.Enabled = true;
TBAtencion.Enabled = true;
LBEquipo.Enabled = true;
TBEquipo.Enabled = true;
LBProyector.Enabled = true;
TBModeloP.Enabled = true;
LBPantalla.Enabled = true;
TBModeloPAN.Enabled = true;
LBSerie.Enabled = true;
TBSerie.Enabled = true;
LBGarantia.Enabled = true;
TBGarantia.Enabled = true;
LBInicioGarantia.Enabled = true;
DInicioGarantia.Enabled = true;
LBTerminoGarantia.Enabled = true;
DTerminoGarantia.Enabled = true;
LBFalla.Enabled = true;
TBFalla.Enabled = true;
LBDiagnostico.Enabled = true;
TBDiagnostico.Enabled = true;
LBObservaciones.Enabled = true;
TBObservaciones.Enabled = true;
LBStatus.Enabled = true;
TBStatus.Enabled = true;
BTNGuardar.Enabled = true;
TBRecepcion.Focus();
}

private void Interface_Datos_Dos()


{
LBEmpleado.Enabled = false;
TBEmpleado.Enabled = false;
LBContra.Enabled = false;
TBContra.Enabled = false;

Manuel Snchez Martnez Pgina 83


Sistema de Cmputo para el Control de Reportes de Equipos Daados

BTNCANCELAR.Enabled = true;
BTNGuardar.Enabled = false;
BTNEntrar.Enabled = false;
LBBUSCATICKET.Enabled = true;
TBTICKET.Enabled = true;
BTNBUSCAR.Enabled = true;
LBTicket.Enabled = false;
TBNoTicket.Enabled = false;
LBFecha.Enabled = false;
DFecha.Enabled = false;
LBRecepcion.Enabled = false;
TBRecepcion.Enabled = false;
LBEmpresa.Enabled = false;
TBEmpresa.Enabled = false;
LBContacto.Enabled = false;
TBContacto.Enabled = false;
LBAtencion.Enabled = false;
TBAtencion.Enabled = false;
LBEquipo.Enabled = false;
TBEquipo.Enabled = false;
LBProyector.Enabled = false;
TBModeloP.Enabled = false;
LBPantalla.Enabled = false;
TBModeloPAN.Enabled = false;
LBSerie.Enabled = false;
TBSerie.Enabled = false;
LBGarantia.Enabled = false;
TBGarantia.Enabled = false;
LBInicioGarantia.Enabled = false;
DInicioGarantia.Enabled = false;
LBTerminoGarantia.Enabled = false;
DTerminoGarantia.Enabled = false;
LBFalla.Enabled = false;
TBFalla.Enabled = false;
LBDiagnostico.Enabled = false;
TBDiagnostico.Enabled = false;
LBObservaciones.Enabled = false;
TBObservaciones.Enabled = false;
LBStatus.Enabled = false;
TBStatus.Enabled = false;
TBTICKET.Focus();

private void Limpiar_Formulario()


{
TBAtencion.Clear();
TBContacto.Clear();
TBDiagnostico.Clear();
TBEmpresa.Clear();
TBEquipo.Clear();
TBFalla.Clear();
TBGarantia.Clear();
TBModeloP.Clear();
TBModeloPAN.Clear();
TBObservaciones.Clear();
TBRecepcion.Clear();
TBSerie.Clear();

Manuel Snchez Martnez Pgina 84


Sistema de Cmputo para el Control de Reportes de Equipos Daados

TBStatus.Clear();
TBNoTicket.Clear();

private void BTNBUSCAR_Click(object sender, EventArgs e)


{
if (BuscarReporte(TBTICKET.Text) == true)
{
MessageBox.Show("Reporte Encontrado ", "Mensaje");
Interface_Datos();
}
else
{
MessageBox.Show("Reporte NO Encontrado ", "Mensaje");
TBTICKET.Focus();
}

private bool BuscarReporte(string ticket)


{
//CONEXION
SqlConnection conexion = new SqlConnection();
conexion.ConnectionString = "Data
Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Data\\Tesis.mdf;Integrated
Security=True;User Instance=True";

//Cadena SQL
String CadenaSQL = "SELECT * FROM reporte WHERE ticket='" + ticket+"'";

//Adaptador
SqlDataAdapter Adaptador = new SqlDataAdapter(CadenaSQL, conexion);

//Data Set
DataSet ds = new DataSet();

//Llenar el Data Set


conexion.Open();
Adaptador.Fill(ds);
conexion.Close();

//Contar Registros
if (ds.Tables[0].Rows.Count == 0)
{
ds.Dispose();
return false; //Registro no encontrado
}
else
{
//Cargar los campos en Text Box
TBNoTicket.Text = ds.Tables[0].Rows[0]["ticket"].ToString();
DFecha.Text = ds.Tables[0].Rows[0]["fecha_reporte"].ToString();
TBRecepcion.Text =
ds.Tables[0].Rows[0]["forma_recepcion"].ToString();
TBEmpresa.Text = ds.Tables[0].Rows[0]["empresa"].ToString();
TBContacto.Text = ds.Tables[0].Rows[0]["contacto"].ToString();
TBAtencion.Text = ds.Tables[0].Rows[0]["atencion"].ToString();

Manuel Snchez Martnez Pgina 85


Sistema de Cmputo para el Control de Reportes de Equipos Daados

TBEquipo.Text = ds.Tables[0].Rows[0]["tipo_equipo"].ToString();
TBModeloP.Text =
ds.Tables[0].Rows[0]["modelo_proyector"].ToString();
TBModeloPAN.Text
=ds.Tables[0].Rows[0]["modelo_pantalla"].ToString();
TBSerie.Text = ds.Tables[0].Rows[0]["serie_equipo"].ToString();
TBGarantia.Text = ds.Tables[0].Rows[0]["garantia"].ToString();
DInicioGarantia.Text =
ds.Tables[0].Rows[0]["inicio_garantia"].ToString();
DTerminoGarantia.Text =
ds.Tables[0].Rows[0]["termino_garantia"].ToString();
TBFalla.Text = ds.Tables[0].Rows[0]["falla"].ToString();
TBDiagnostico.Text = ds.Tables[0].Rows[0]["diagnostico"].ToString();
TBObservaciones.Text =
ds.Tables[0].Rows[0]["observaciones"].ToString();
TBStatus.Text = ds.Tables[0].Rows[0]["status"].ToString();

ds.Dispose();//cierra el data set y libera los recursos de memoria


que ocupa
return true; //Registro Existe
}

private bool ModificarReporte(string fecha_reporte, string forma_recepcion,


string empresa, string contacto, string atencion, string tipo_equipo, string
modelo_Proyector, string modelo_Pantalla, string serie_equipo, string garantia,
string inicio_garantia, string termino_garantia, string falla, string diagnostico,
string observaciones, string status)
{
//CONEXION
SqlConnection Conexion = new SqlConnection();
Conexion.ConnectionString = "Data
Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Data\\Tesis.mdf;Integrated
Security=True;User Instance=True";

//Cadena SQL
String CadenaSQL = "UPDATE reporte SET ";
CadenaSQL = CadenaSQL + "fecha_reporte = '" + fecha_reporte + "',";
CadenaSQL = CadenaSQL + "forma_recepcion = '" + forma_recepcion +
"',";
CadenaSQL = CadenaSQL + "empresa = '" + empresa + "',";
CadenaSQL = CadenaSQL + "contacto = '" + contacto + "',";
CadenaSQL = CadenaSQL + "atencion = '" + atencion + "',";
CadenaSQL = CadenaSQL + "tipo_equipo = '" + tipo_equipo + "',";
CadenaSQL = CadenaSQL + "modelo_Proyector = '" + modelo_Proyector +
"',";
CadenaSQL = CadenaSQL + "modelo_Pantalla = '" + modelo_Pantalla +
"',";
CadenaSQL = CadenaSQL + "serie_equipo = '" + serie_equipo + "',";
CadenaSQL = CadenaSQL + "garantia = '" + garantia + "',";
CadenaSQL = CadenaSQL + "inicio_garantia = '" + inicio_garantia +
"',";
CadenaSQL = CadenaSQL + "termino_garantia = '" + termino_garantia +
"',";
CadenaSQL = CadenaSQL + "falla = '" + falla + "',";
CadenaSQL = CadenaSQL + "diagnostico = '" + diagnostico + "',";
CadenaSQL = CadenaSQL + "observaciones = '" + observaciones + "',";

Manuel Snchez Martnez Pgina 86


Sistema de Cmputo para el Control de Reportes de Equipos Daados

CadenaSQL = CadenaSQL + "status = '" + status + "'";


CadenaSQL = CadenaSQL + "WHERE ticket = " + TBTICKET.Text;

//Comando SQL
SqlCommand Comando = Conexion.CreateCommand();
Comando.CommandText = CadenaSQL;

//Ejecutar la accin consulta


Conexion.Open();
Comando.ExecuteNonQuery();
Conexion.Close();
return true;
}

public static class AutoCompleClass


{
//mtodo para cargar los datos de la base de datos
public static DataTable Datos()
{
DataTable dt = new DataTable();

SqlConnection SqlDataSource1 = new SqlConnection();


SqlDataSource1.ConnectionString = "Data
Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Data\\Tesis.mdf;Integrated
Security=True;User Instance=True";

reporte oreporte = new reporte(SqlDataSource1.ConnectionString);


string consulta = "SELECT * FROM proyector"; //consulta a la tabla
proyector

SqlCommand comando = new SqlCommand(consulta, SqlDataSource1);

SqlDataAdapter adap = new SqlDataAdapter(comando);

adap.Fill(dt);
return dt;
}

//mtodo para cargar la coleccin de datos para el autocomplete


public static AutoCompleteStringCollection Autocomplete()
{
DataTable dt = Datos();

AutoCompleteStringCollection coleccin = new


AutoCompleteStringCollection();
//recorrer y cargar los tems para el autocompletado
foreach (DataRow row in dt.Rows)
{
coleccion.Add(Convert.ToString(row["modelo"]));
}

return coleccion;
}
}

public static class AutoCompleClassPantalla


{
//mtodo para cargar los datos de la base de datos

Manuel Snchez Martnez Pgina 87


Sistema de Cmputo para el Control de Reportes de Equipos Daados

public static DataTable Datos()


{
DataTable dt = new DataTable();

SqlConnection SqlDataSource1 = new SqlConnection();


SqlDataSource1.ConnectionString = "Data
Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Data\\Tesis.mdf;Integrated
Security=True;User Instance=True";

reporte oreporte = new reporte(SqlDataSource1.ConnectionString);


string consulta = "SELECT * FROM pantalla"; //consulta a la tabla
proyector

SqlCommand comando = new SqlCommand(consulta, SqlDataSource1);

SqlDataAdapter adap = new SqlDataAdapter(comando);

adap.Fill(dt);
return dt;
}

//mtodo para cargar la coleccin de datos para el autocomplete


public static AutoCompleteStringCollection Autocomplete()
{
DataTable dt = Datos();

AutoCompleteStringCollection coleccin = new


AutoCompleteStringCollection();
//recorrer y cargar los tems para el autocompletado
foreach (DataRow row in dt.Rows)
{
coleccion.Add(Convert.ToString(row["modelo"]));
}

return coleccion;
}
}

public static class AutoCompleClassRecepcion


{
//mtodo para cargar los datos de la base de datos
public static DataTable Datos()
{
DataTable dt = new DataTable();

SqlConnection SqlDataSource1 = new SqlConnection();


SqlDataSource1.ConnectionString = "Data
Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Data\\Tesis.mdf;Integrated
Security=True;User Instance=True";

reporte oreporte = new reporte(SqlDataSource1.ConnectionString);


string consulta = "SELECT * FROM recepcion"; //consulta a la tabla
proyector

SqlCommand comando = new SqlCommand(consulta, SqlDataSource1);

SqlDataAdapter adap = new SqlDataAdapter(comando);

Manuel Snchez Martnez Pgina 88


Sistema de Cmputo para el Control de Reportes de Equipos Daados

adap.Fill(dt);
return dt;
}

//mtodo para cargar la coleccin de datos para el autocomplete


public static AutoCompleteStringCollection Autocomplete()
{
DataTable dt = Datos();

AutoCompleteStringCollection coleccin = new


AutoCompleteStringCollection();
//recorrer y cargar los tems para el autocompletado
foreach (DataRow row in dt.Rows)
{
coleccion.Add(Convert.ToString(row["recepcion"]));
}

return coleccion;
}
}

public static class AutoCompleClassEquipo


{
//mtodo para cargar los datos de la base de datos
public static DataTable Datos()
{
DataTable dt = new DataTable();

SqlConnection SqlDataSource1 = new SqlConnection();


SqlDataSource1.ConnectionString = "Data
Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Data\\Tesis.mdf;Integrated
Security=True;User Instance=True";

reporte oreporte = new reporte(SqlDataSource1.ConnectionString);


string consulta = "SELECT * FROM equipo"; //consulta a la tabla
proyector

SqlCommand comando = new SqlCommand(consulta, SqlDataSource1);

SqlDataAdapter adap = new SqlDataAdapter(comando);

adap.Fill(dt);
return dt;
}

//mtodo para cargar la coleccin de datos para el autocomplete


public static AutoCompleteStringCollection Autocomplete()
{
DataTable dt = Datos();

AutoCompleteStringCollection coleccin = new


AutoCompleteStringCollection();
//recorrer y cargar los tems para el autocompletado
foreach (DataRow row in dt.Rows)
{
coleccion.Add(Convert.ToString(row["equipo"]));
}

Manuel Snchez Martnez Pgina 89


Sistema de Cmputo para el Control de Reportes de Equipos Daados

return coleccion;
}
}

public static class AutoCompleClassStatus


{
//mtodo para cargar los datos de la base de datos
public static DataTable Datos()
{
DataTable dt = new DataTable();

SqlConnection SqlDataSource1 = new SqlConnection();


SqlDataSource1.ConnectionString = "Data
Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Data\\Tesis.mdf;Integrated
Security=True;User Instance=True";

reporte oreporte = new reporte(SqlDataSource1.ConnectionString);


string consulta = "SELECT * FROM status"; //consulta a la tabla
proyector

SqlCommand comando = new SqlCommand(consulta, SqlDataSource1);

SqlDataAdapter adap = new SqlDataAdapter(comando);

adap.Fill(dt);
return dt;
}

//mtodo para cargar la coleccin de datos para el autocomplete


public static AutoCompleteStringCollection Autocomplete()
{
DataTable dt = Datos();

AutoCompleteStringCollection coleccin = new


AutoCompleteStringCollection();
//recorrer y cargar los tems para el autocompletado
foreach (DataRow row in dt.Rows)
{
coleccion.Add(Convert.ToString(row["status"]));
}

return coleccion;
}
}

private void BTNGuardar_Click_1(object sender, EventArgs e)


{
ModificarReporte(DFecha.Text, TBRecepcion.Text, TBEmpresa.Text,
TBContacto.Text, TBAtencion.Text, TBEquipo.Text, TBModeloP.Text, TBModeloPAN.Text,
TBSerie.Text, TBGarantia.Text, DInicioGarantia.Text, DTerminoGarantia.Text,
TBFalla.Text, TBDiagnostico.Text, TBObservaciones.Text, TBStatus.Text);
MessageBox.Show("El reporte ha sido actualizado con xito.", "Aviso",
MessageBoxButtons.OK);
Limpiar_Formulario();
Interface_Inicial();

Manuel Snchez Martnez Pgina 90


Sistema de Cmputo para el Control de Reportes de Equipos Daados

private void BTNEntrar_Click(object sender, EventArgs e)


{
SqlConnection cn = new SqlConnection();
cn.ConnectionString = "Data
Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Data\\Tesis.mdf;Integrated
Security=True;User Instance=True";

try
{
SqlCommand cmd = new SqlCommand("SELECT ID,pass FROM empleados WHERE
ID='" + TBEmpleado.Text + "' AND pass='" + TBContra.Text + "' ", cn);

cn.Open();
cmd.ExecuteNonQuery();
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(ds, "empleados");

DataRow dro;
dro = ds.Tables["empleados"].Rows[0];

if ((TBEmpleado.Text == dro["ID"].ToString()) || (TBContra.Text ==


dro["pass"].ToString()))
{
MessageBox.Show("Bienvenido, puedes actualizar un reporte",
"Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Information);
Interface_Datos_Dos();
}
}
catch
{
MessageBox.Show("Los datos son incorrectos. Ingreselos nuevamente.",
"Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
Interface_Inicial();
}
finally
{
cn.Close();
}
}
}
}

Manuel Snchez Martnez Pgina 91


Sistema de Cmputo para el Control de Reportes de Equipos Daados

Imprimir Reporte
/* ====================================================================
* Proyecto: Sistema de Control de Reportes
* Escuela Superior de Ingeniera Mecnica y Elctrica
* Unidad Profesional Zacatenco
* Ingeniera en Comunicaciones y Electrnica
* Especialidad Computacin
* Desarrollado por Manuel Snchez Martnez
* ==================================================================== */
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 System.Data.Sql;
using System.Data.SqlTypes;
using System.IO;
using Microsoft.Office.Interop.Word;
using Microsoft.Office.Interop;
using Word = Microsoft.Office.Interop.Word;

namespace NEC_Windows_Form
{
public partial class Imprimir_Reporte : Form
{
public Imprimir_Reporte()
{
InitializeComponent();

private void Imprimir_Reporte_Load(object sender, EventArgs e)


{
// TODO: esta lnea de cdigo carga datos en la tabla
'tesisDataSet1.reporte' Puede moverla o quitarla segn sea necesario.
this.reporteTableAdapter.Fill(this.tesisDataSet1.reporte);
TBBuscar.Focus();
}

private void Limpiar_Formulario()


{
TBNoTicket.Clear();
TBRecepcion.Clear();
TBEmpresa.Clear();
TBContacto.Clear();
TBAtencion.Clear();
TBEquipo.Clear();
TBModeloP.Clear();
TBModeloPAN.Clear();
TBSerie.Clear();
TBGarantia.Clear();
TBFalla.Clear();

Manuel Snchez Martnez Pgina 92


Sistema de Cmputo para el Control de Reportes de Equipos Daados

TBDiagnostico.Clear();
TBObservaciones.Clear();
TBStatus.Clear();

private void BTNBuscar_Click(object sender, EventArgs e)


{
//Si encuentra el reporte genera un documento en Word en base a una
plantilla para poder imprimir el archivo
if (BuscarReporte(TBBuscar.Text) == true)
{

MessageBox.Show("Reporte Encontrado ",


"Mensaje",MessageBoxButtons.OK,MessageBoxIcon.Asterisk);
try
{
Word.Application MSWord = new Word.Application();
Word.Document documento = new Word.Document();
MessageBox.Show(@"Se guardar en C:\Reportes\Ticket_#" +
TBBuscar.Text, "Aviso", MessageBoxButtons.OK,MessageBoxIcon.Information); //El
reporte se guardar en la ubicacin predefinida en formato Word
Directory.CreateDirectory(@"C:\Reportes\Ticket_#" +
TBBuscar.Text);

File.Copy(@"C:\Documentos\ordenServicio.docx",
@"C:\Reportes\Ticket_#" + TBBuscar.Text + @"\Ticket_#" + TBBuscar.Text +
".docx");//Se copia el archivo que es una plantilla predefinida en formato Word y al
copiar se llena con los datos solicitados
documento = MSWord.Documents.Open(@"C:\Reportes\Ticket_#" +
TBBuscar.Text + @"\Ticket_#" + TBBuscar.Text + ".docx");
//Se llena el documento Word utilizando las marcas puestas en la plantilla con los
datos cargados desde la base de datos
documento.Bookmarks["FechaActual"].Range.Text =
FechaActual.Text;
documento.Bookmarks["fecha_reporte"].Range.Text = DFecha.Text;
documento.Bookmarks["ticket"].Range.Text = TBNoTicket.Text;
documento.Bookmarks["empresa"].Range.Text = TBEmpresa.Text;
documento.Bookmarks["contacto"].Range.Text = TBContacto.Text;
documento.Bookmarks["correo"].Range.Text = TBCorreo.Text;
documento.Bookmarks["tipo_equipo"].Range.Text =
FechaActual.Text;
documento.Bookmarks["modelo_pantalla"].Range.Text =
TBModeloPAN.Text;
documento.Bookmarks["modelo_proyector"].Range.Text =
TBModeloP.Text;
documento.Bookmarks["serie_equipo"].Range.Text = TBSerie.Text;
documento.Bookmarks["garantia"].Range.Text = TBGarantia.Text;
documento.Bookmarks["inicio_garantia"].Range.Text =
DInicioGarantia.Text;
documento.Bookmarks["termino_garantia"].Range.Text =
DTerminoGarantia.Text;

documento.Save();
MSWord.Visible = true;
MessageBox.Show(@"Reporte Guardado en C:\Reportes\Ticket_#" +
TBBuscar.Text,"Aviso",MessageBoxButtons.OK,MessageBoxIcon.Information);
Limpiar_Formulario();

Manuel Snchez Martnez Pgina 93


Sistema de Cmputo para el Control de Reportes de Equipos Daados

}
catch (Exception Exc)
{
MessageBox.Show(@"El reporte ya se encuentra guardado, revise la
carpeta
C:\Reportes\Ticket_#","Advertencia",MessageBoxButtons.OK,MessageBoxIcon.Error);
Limpiar_Formulario();
}
}

else
{
MessageBox.Show("Reporte NO Encontrado ", "Mensaje");
TBBuscar.Focus();
}
}

private bool BuscarReporte(string ticket)


{
//CONEXION
SqlConnection conexion = new SqlConnection();
conexion.ConnectionString = "Data
Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Data\\Tesis.mdf;Integrated
Security=True;User Instance=True";

//Cadena SQL
String CadenaSQL = "SELECT * FROM reporte WHERE ticket='" + ticket +
"'";
String CadenaSQL2 = "SELECT * FROM empresas";

//Adaptador
SqlDataAdapter Adaptador = new SqlDataAdapter(CadenaSQL, conexion);
SqlDataAdapter Adaptador2 = new SqlDataAdapter(CadenaSQL2, conexion);

//Data Set
DataSet ds = new DataSet();
DataSet ds2 = new DataSet();

//Llenar el Data Set


conexion.Open();
Adaptador.Fill(ds);
Adaptador2.Fill(ds2);
conexion.Close();

//Contar Registros
if (ds.Tables[0].Rows.Count == 0 || ds2.Tables[0].Rows.Count == 0)
{
ds.Dispose();
ds2.Dispose();
return false; //Registro no encontrado
}

else
{
//Cargar los campos en Text Box
TBNoTicket.Text = ds.Tables[0].Rows[0]["ticket"].ToString();
DFecha.Text = ds.Tables[0].Rows[0]["fecha_reporte"].ToString();

Manuel Snchez Martnez Pgina 94


Sistema de Cmputo para el Control de Reportes de Equipos Daados

TBRecepcion.Text =
ds.Tables[0].Rows[0]["forma_recepcion"].ToString();
TBEmpresa.Text = ds.Tables[0].Rows[0]["empresa"].ToString();
TBContacto.Text = ds.Tables[0].Rows[0]["contacto"].ToString();
TBAtencion.Text = ds.Tables[0].Rows[0]["atencion"].ToString();
TBEquipo.Text = ds.Tables[0].Rows[0]["tipo_equipo"].ToString();
TBModeloP.Text =
ds.Tables[0].Rows[0]["modelo_proyector"].ToString();
TBModeloPAN.Text =
ds.Tables[0].Rows[0]["modelo_pantalla"].ToString();
TBSerie.Text = ds.Tables[0].Rows[0]["serie_equipo"].ToString();
TBGarantia.Text = ds.Tables[0].Rows[0]["garantia"].ToString();
DInicioGarantia.Text =
ds.Tables[0].Rows[0]["inicio_garantia"].ToString();
DTerminoGarantia.Text =
ds.Tables[0].Rows[0]["termino_garantia"].ToString();
TBFalla.Text = ds.Tables[0].Rows[0]["falla"].ToString();
TBDiagnostico.Text = ds.Tables[0].Rows[0]["diagnostico"].ToString();
TBObservaciones.Text =
ds.Tables[0].Rows[0]["observaciones"].ToString();
TBStatus.Text = ds.Tables[0].Rows[0]["status"].ToString();

TBCorreo.Text = ds2.Tables[0].Rows[0]["correo"].ToString();

ds.Dispose();//cierra el data set y libera los recursos de memoria


que ocupa
ds2.Dispose();//cierra el data set y libera los recursos de memoria
que ocupa

return true; //Registro Existe


}

private void BTNCANCELAR_Click(object sender, EventArgs e)


{
this.Close();
}
}
}

Manuel Snchez Martnez Pgina 95


Sistema de Cmputo para el Control de Reportes de Equipos Daados

Buscar Reporte Ticket


/* ====================================================================
* Proyecto: Sistema de Control de Reportes
* Escuela Superior de Ingeniera Mecnica y Elctrica
* Unidad Profesional Zacatenco
* Ingeniera en Comunicaciones y Electrnica
* Especialidad Computacin
* Desarrollado por Manuel Snchez Martnez
* ==================================================================== */
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 System.Data.Sql;
namespace NEC_Windows_Form
{
public partial class Buscar_Ticket : Form
{
public Buscar_Ticket()
{
InitializeComponent();
}

private void BTNBUSCARTICKET_Click(object sender, EventArgs e)


{
TBUSCATICKET.Enabled = true;
string buscaEm = "";
//TBUSCATICKET.ReadOnly = true;
buscaEm = string.Format("SELECT
ticket,empresa,tipo_equipo,modelo_Proyector,modelo_Pantalla,falla FROM reporte WHERE
ticket = '{0}'", TBUSCATICKET.Text.Trim());

string CONECTAR = "Data


Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Data\\Tesis.mdf;Integrated
Security=True;User Instance=True";

SqlConnection myConnect = new SqlConnection(CONECTAR);


SqlDataAdapter myDataAdapter = new SqlDataAdapter(buscaEm, myConnect);
DataTable myTable;
myTable = new DataTable();
myDataAdapter.Fill(myTable);
DataTicket.DataSource = myTable;
TBUSCATICKET.Enabled = true;
}

private void BTNSalir_Click(object sender, EventArgs e)


{
this.Close();
}

private void Buscar_Ticket_Load(object sender, EventArgs e)

Manuel Snchez Martnez Pgina 96


Sistema de Cmputo para el Control de Reportes de Equipos Daados

{
TBUSCATICKET.Focus();
//cargar los datos para el autocomplete del textbox Proyector
TBUSCATICKET.AutoCompleteCustomSource = AutoCompleClass.Autocomplete();
TBUSCATICKET.AutoCompleteMode = AutoCompleteMode.Suggest;
TBUSCATICKET.AutoCompleteSource = AutoCompleteSource.CustomSource;
}

public static class AutoCompleClass


{
//mtodo para cargar los datos de la base de datos
public static DataTable Datos()
{
DataTable dt = new DataTable();

SqlConnection SqlDataSource1 = new SqlConnection();


SqlDataSource1.ConnectionString = "Data
Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Data\\Tesis.mdf;Integrated
Security=True;User Instance=True";

reporte oreporte = new reporte(SqlDataSource1.ConnectionString);


string consulta = "SELECT * FROM reporte"; //consulta a la tabla
proyector

SqlCommand comando = new SqlCommand(consulta, SqlDataSource1);

SqlDataAdapter adap = new SqlDataAdapter(comando);

adap.Fill(dt);
return dt;
}

//mtodo para cargar la coleccin de datos para el autocomplete


public static AutoCompleteStringCollection Autocomplete()
{
DataTable dt = Datos();

AutoCompleteStringCollection coleccin = new


AutoCompleteStringCollection();
//recorrer y cargar los tems para el autocompletado
foreach (DataRow row in dt.Rows)
{
coleccion.Add(Convert.ToString(row["ticket"]));
}
return coleccin;
}
}
}
}

Manuel Snchez Martnez Pgina 97


Sistema de Cmputo para el Control de Reportes de Equipos Daados

Buscar por Nmero de Serie del Equipo


/* ====================================================================
* Proyecto: Sistema de Control de Reportes
* Escuela Superior de Ingeniera Mecnica y Elctrica
* Unidad Profesional Zacatenco
* Ingeniera en Comunicaciones y Electrnica
* Especialidad Computacin
* Desarrollado por Manuel Snchez Martnez
* ==================================================================== */
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 System.Data.Sql;
namespace NEC_Windows_Form
{
public partial class Buscar_Serie : Form
{
public Buscar_Serie()
{
InitializeComponent();
}
private void Buscar_Serie_Load(object sender, EventArgs e)
{
Interface_Inicial();
//cargar los datos para el autocomplete del textbox Status
TBBUSCASTATUS.AutoCompleteCustomSource =
AutoCompleClassStatus.Autocomplete();
TBBUSCASTATUS.AutoCompleteMode = AutoCompleteMode.Suggest;
TBBUSCASTATUS.AutoCompleteSource = AutoCompleteSource.CustomSource;
}
private void Interface_Inicial()
{
LBEMPRESA.Enabled = true;
TBBUSCASTATUS.Enabled = true;
BTNBUSCARSTATUS.Enabled = true;
BTNSalir.Enabled = true;
TBBUSCASTATUS.Focus();
}

private void BTNBUSCARSTATUS_Click(object sender, EventArgs e)


{
string buscaEm = "";
//TBBUSCASTATUS.ReadOnly = true;
buscaEm = string.Format("SELECT
serie_equipo,status,empresa,ticket,fecha_reporte,tipo_equipo,modelo_Proyector,modelo
_Pantalla,contacto,atencion FROM reporte WHERE serie_equipo = '{0}'",
TBBUSCASTATUS.Text.Trim());
string CONECTAR = "Data
Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Data\\Tesis.mdf;Integrated
Security=True;User Instance=True";

Manuel Snchez Martnez Pgina 98


Sistema de Cmputo para el Control de Reportes de Equipos Daados

SqlConnection myConnect = new SqlConnection(CONECTAR);


SqlDataAdapter myDataAdapter = new SqlDataAdapter(buscaEm, myConnect);
myConnect.Open();
DataTable myTable;
myTable = new DataTable();
myDataAdapter.Fill(myTable);
DataEmpresa.DataSource = myTable;
myConnect.Close();
Interface_Inicial();
}
public static class AutoCompleClassStatus
{
//mtodo para cargar los datos de la base de datos
public static DataTable Datos()
{
DataTable dt = new DataTable();

SqlConnection SqlDataSource1 = new SqlConnection();


SqlDataSource1.ConnectionString = "Data
Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Data\\Tesis.mdf;Integrated
Security=True;User Instance=True";

reporte oreporte = new reporte(SqlDataSource1.ConnectionString);


string consulta = "SELECT * FROM reporte"; //consulta a la tabla
proyector

SqlCommand comando = new SqlCommand(consulta, SqlDataSource1);

SqlDataAdapter adap = new SqlDataAdapter(comando);

adap.Fill(dt);
return dt;
}

//mtodo para cargar la coleccin de datos para el autocomplete


public static AutoCompleteStringCollection Autocomplete()
{
DataTable dt = Datos();

AutoCompleteStringCollection coleccin = new


AutoCompleteStringCollection();
//recorrer y cargar los tems para el autocompletado
foreach (DataRow row in dt.Rows)
{
coleccion.Add(Convert.ToString(row["serie_equipo"]));
}
return coleccion;
}
}

private void BTNSalir_Click(object sender, EventArgs e)


{
this.Close();
}
}
}

Manuel Snchez Martnez Pgina 99


Sistema de Cmputo para el Control de Reportes de Equipos Daados

Buscar por Modelo de Pantalla


/* ====================================================================
* Proyecto: Sistema de Control de Reportes
* Escuela Superior de Ingeniera Mecnica y Elctrica
* Unidad Profesional Zacatenco
* Ingeniera en Comunicaciones y Electrnica
* Especialidad Computacin
* Desarrollado por Manuel Snchez Martnez
* ==================================================================== */
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 System.Data.Sql;
namespace NEC_Windows_Form
{
public partial class Buscar_Modelo_Pantalla : Form
{
public Buscar_Modelo_Pantalla()
{
InitializeComponent();
}

private void Buscar_Modelo_Pantalla_Load(object sender, EventArgs e)


{
//cargar los datos para el autocomplete del textbox Pantalla
TBModelo.AutoCompleteCustomSource =
AutoCompleClassPantalla.Autocomplete();
TBModelo.AutoCompleteMode = AutoCompleteMode.Suggest;
TBModelo.AutoCompleteSource = AutoCompleteSource.CustomSource;
}

private void BTNSalir_Click(object sender, EventArgs e)


{
this.Close();
}

private void BTNBuscar_Click(object sender, EventArgs e)


{
TBModelo.Enabled = true;
string buscaM = "";
//TBModelo.ReadOnly = true;
buscaM = string.Format("SELECT modelo_Pantalla,empresa,tipo_equipo,falla
FROM reporte WHERE modelo_Pantalla = '{0}'", TBModelo.Text.Trim());

string CONECTAR = "Data


Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Data\\Tesis.mdf;Integrated
Security=True;User Instance=True";

SqlConnection myConnect = new SqlConnection(CONECTAR);


SqlDataAdapter myDataAdapter = new SqlDataAdapter(buscaM, myConnect);

Manuel Snchez Martnez Pgina 100


Sistema de Cmputo para el Control de Reportes de Equipos Daados

DataTable myTable;
myTable = new DataTable();
myDataAdapter.Fill(myTable);
DataModelo.DataSource = myTable;
TBModelo.Enabled = true;
}

public static class AutoCompleClassPantalla


{
//mtodo para cargar los datos de la base de datos
public static DataTable Datos()
{
DataTable dt = new DataTable();

SqlConnection SqlDataSource1 = new SqlConnection();


SqlDataSource1.ConnectionString = "Data
Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Data\\Tesis.mdf;Integrated
Security=True;User Instance=True";

reporte oreporte = new reporte(SqlDataSource1.ConnectionString);


string consulta = "SELECT * FROM pantalla"; //consulta a la tabla
pantalla

SqlCommand comando = new SqlCommand(consulta, SqlDataSource1);

SqlDataAdapter adap = new SqlDataAdapter(comando);

adap.Fill(dt);
return dt;
}

//mtodo para cargar la coleccin de datos para el autocomplete


public static AutoCompleteStringCollection Autocomplete()
{
DataTable dt = Datos();

AutoCompleteStringCollection coleccin = new


AutoCompleteStringCollection();
//recorrer y cargar los tems para el autocompletado
foreach (DataRow row in dt.Rows)
{
coleccion.Add(Convert.ToString(row["modelo"]));
}
return coleccin;
}
}
}
}

Manuel Snchez Martnez Pgina 101


Sistema de Cmputo para el Control de Reportes de Equipos Daados

Buscar por Modelo de Proyector


/* ====================================================================
* Proyecto: Sistema de Control de Reportes
* Escuela Superior de Ingeniera Mecnica y Elctrica
* Unidad Profesional Zacatenco
* Ingeniera en Comunicaciones y Electrnica
* Especialidad Computacin
* Desarrollado por Manuel Snchez Martnez
* ==================================================================== */
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 System.Data.Sql;
namespace NEC_Windows_Form
{
public partial class Buscar_Modelo : Form
{
public Buscar_Modelo()
{
InitializeComponent();
}

private void Buscar_Modelo_Load(object sender, EventArgs e)


{
//cargar los datos para el autocomplete del textbox Proyector
TBModelo.AutoCompleteCustomSource = AutoCompleClass.Autocomplete();
TBModelo.AutoCompleteMode = AutoCompleteMode.Suggest;
TBModelo.AutoCompleteSource = AutoCompleteSource.CustomSource;
}

private void BTNBUSCARMODELO_Click(object sender, EventArgs e)


{
TBModelo.Enabled = true;
string buscaM = "";
//TBModelo.ReadOnly = true;
buscaM = string.Format("SELECT
modelo_Proyector,empresa,tipo_equipo,falla FROM reporte WHERE modelo_Proyector =
'{0}'", TBModelo.Text.Trim());

string CONECTAR = "Data


Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Data\\Tesis.mdf;Integrated
Security=True;User Instance=True";

SqlConnection myConnect = new SqlConnection(CONECTAR);


SqlDataAdapter myDataAdapter = new SqlDataAdapter(buscaM, myConnect);
DataTable myTable;
myTable = new DataTable();
myDataAdapter.Fill(myTable);
DataModelo.DataSource = myTable;
TBModelo.Enabled = true;

Manuel Snchez Martnez Pgina 102


Sistema de Cmputo para el Control de Reportes de Equipos Daados

private void BTNSalir_Click(object sender, EventArgs e)


{
this.Close();
}

public static class AutoCompleClass


{
//mtodo para cargar los datos de la base de datos
public static DataTable Datos()
{
DataTable dt = new DataTable();

SqlConnection SqlDataSource1 = new SqlConnection();


SqlDataSource1.ConnectionString = "Data
Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Data\\Tesis.mdf;Integrated
Security=True;User Instance=True";

reporte oreporte = new reporte(SqlDataSource1.ConnectionString);


string consulta = "SELECT * FROM proyector"; //consulta a la tabla
proyector

SqlCommand comando = new SqlCommand(consulta, SqlDataSource1);

SqlDataAdapter adap = new SqlDataAdapter(comando);

adap.Fill(dt);
return dt;
}

//mtodo para cargar la coleccin de datos para el autocomplete


public static AutoCompleteStringCollection Autocomplete()
{
DataTable dt = Datos();

AutoCompleteStringCollection coleccin = new


AutoCompleteStringCollection();
//recorrer y cargar los tems para el autocompletado
foreach (DataRow row in dt.Rows)
{
coleccion.Add(Convert.ToString(row["modelo"]));
}
return coleccin;
}
}
}
}

Manuel Snchez Martnez Pgina 103


Sistema de Cmputo para el Control de Reportes de Equipos Daados

Buscar por Empresa


/* ====================================================================
* Proyecto: Sistema de Control de Reportes
* Escuela Superior de Ingeniera Mecnica y Elctrica
* Unidad Profesional Zacatenco
* Ingeniera en Comunicaciones y Electrnica
* Especialidad Computacin
* Desarrollado por Manuel Snchez Martnez
* ==================================================================== */
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 System.Data.Sql;
namespace NEC_Windows_Form
{
public partial class Buscar_Empresa : Form
{
public Buscar_Empresa()
{
InitializeComponent();
}
private void Buscar_Empresa_Load(object sender, EventArgs e)
{
Interface_Inicial();

//cargar los datos para el autocomplete del textbox Proyector


TBBUSCAEMPRESA.AutoCompleteCustomSource =
AutoCompleClass.Autocomplete();
TBBUSCAEMPRESA.AutoCompleteMode = AutoCompleteMode.Suggest;
TBBUSCAEMPRESA.AutoCompleteSource = AutoCompleteSource.CustomSource;
}

private void Interface_Inicial()


{
LBEMPRESA.Enabled = true;
TBBUSCAEMPRESA.Enabled = true;
BTNBUSCAREMPRESA.Enabled = true;
BTNSalir.Enabled = true;
TBBUSCAEMPRESA.Focus();
}

private void BTNBUSCAREMPRESA_Click(object sender, EventArgs e)


{
string buscaEm = "";
//TBBUSCAEMPRESA.ReadOnly = true;
buscaEm = string.Format("SELECT
empresa,ticket,fecha_reporte,tipo_equipo,modelo_Proyector,modelo_Pantalla,status,con
tacto,atencion FROM reporte WHERE empresa = '{0}'", TBBUSCAEMPRESA.Text.Trim());

Manuel Snchez Martnez Pgina 104


Sistema de Cmputo para el Control de Reportes de Equipos Daados

string CONECTAR = "Data


Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Data\\Tesis.mdf;Integrated
Security=True;User Instance=True";
SqlConnection myConnect = new SqlConnection(CONECTAR);
SqlDataAdapter myDataAdapter = new SqlDataAdapter(buscaEm, myConnect);
myConnect.Open();
DataTable myTable;
myTable = new DataTable();
myDataAdapter.Fill(myTable);
DataEmpresa.DataSource = myTable;
myConnect.Close();
Interface_Inicial();
}

private void BTNSalir_Click(object sender, EventArgs e)


{
this.Close();
}

public static class AutoCompleClass


{
//mtodo para cargar los datos de la base de datos
public static DataTable Datos()
{
DataTable dt = new DataTable();

SqlConnection SqlDataSource1 = new SqlConnection();


SqlDataSource1.ConnectionString = "Data
Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Data\\Tesis.mdf;Integrated
Security=True;User Instance=True";

reporte oreporte = new reporte(SqlDataSource1.ConnectionString);


string consulta = "SELECT * FROM reporte"; //consulta a la tabla
reporte
SqlCommand comando = new SqlCommand(consulta, SqlDataSource1);
SqlDataAdapter adap = new SqlDataAdapter(comando);
adap.Fill(dt);
return dt;
}

//mtodo para cargar la coleccin de datos para el autocomplete


public static AutoCompleteStringCollection Autocomplete()
{
DataTable dt = Datos();

AutoCompleteStringCollection coleccin = new


AutoCompleteStringCollection();
//recorrer y cargar los tems para el autocompletado
foreach (DataRow row in dt.Rows)
{
coleccion.Add(Convert.ToString(row["empresa"]));
}
return coleccin;
}
}
}
}

Manuel Snchez Martnez Pgina 105


Sistema de Cmputo para el Control de Reportes de Equipos Daados

Agregar Nuevo Modelo de Pantalla al Catlogo


/* ====================================================================
* Proyecto: Sistema de Control de Reportes
* Escuela Superior de Ingeniera Mecnica y Elctrica
* Unidad Profesional Zacatenco
* Ingeniera en Comunicaciones y Electrnica
* Especialidad Computacin
* Desarrollado por Manuel Snchez Martnez
* ==================================================================== */
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 System.Data.Sql;
using System.Data.SqlTypes;
using System.Configuration;
namespace NEC_Windows_Form
{
public partial class Pantalla_Nuevo : Form
{
public Pantalla_Nuevo()
{
InitializeComponent();
}

private void Pantalla_Nuevo_Load(object sender, EventArgs e)


{
//cargar los datos para el autocomplete del textbox Proyector
TBTipo.AutoCompleteCustomSource = AutoCompleClassTipo.Autocomplete();
TBTipo.AutoCompleteMode = AutoCompleteMode.Suggest;
TBTipo.AutoCompleteSource = AutoCompleteSource.CustomSource;

//cargar los datos para el autocomplete del textbox Proyector


TBModelo.AutoCompleteCustomSource =
AutoCompleClassModelo.Autocomplete();
TBModelo.AutoCompleteMode = AutoCompleteMode.Suggest;
TBModelo.AutoCompleteSource = AutoCompleteSource.CustomSource;

//cargar los datos para el autocomplete del textbox Proyector


TBResoluciuon.AutoCompleteCustomSource =
AutoCompleClassResolucion.Autocomplete();
TBResoluciuon.AutoCompleteMode = AutoCompleteMode.Suggest;
TBResoluciuon.AutoCompleteSource = AutoCompleteSource.CustomSource;

//cargar los datos para el autocomplete del textbox Proyector


TBDisplay.AutoCompleteCustomSource =
AutoCompleClassDimension.Autocomplete();
TBDisplay.AutoCompleteMode = AutoCompleteMode.Suggest;
TBDisplay.AutoCompleteSource = AutoCompleteSource.CustomSource;
if (BuscarReporte(ID.Text) == true)
{

Manuel Snchez Martnez Pgina 106


Sistema de Cmputo para el Control de Reportes de Equipos Daados

//MessageBox.Show("Reporte Encontrado ", "Mensaje");


}
else
{
MessageBox.Show("Reporte NO Encontrado ", "Mensaje");
ID.Focus();
}
}
private void BTNGuardar_Click(object sender, EventArgs e)
{
SqlConnection SqlDataSource1 = new SqlConnection();
SqlDataSource1.ConnectionString = "Data
Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Data\\Tesis.mdf;Integrated
Security=True;User Instance=True";

reporte oreporte = new reporte(SqlDataSource1.ConnectionString);

if (oreporte.AgregaPantalla(TBTipo.Text, TBModelo.Text,
TBResoluciuon.Text, TBDisplay.Text))
{
MessageBox.Show("Nuevo modelo de Pantalla agregado
correctamente","Agregado",MessageBoxButtons.OK,MessageBoxIcon.Information);
}
else
{
MessageBox.Show("Error al agregar el reporte " +
oreporte.mensaje,"Error");
}
Limpiar_Formulario(); //Limpia el formulario
//Interface_Inicial(); //Prepara la interfaz del formulario inicial*/
}

private void Limpiar_Formulario()


{
TBTipo.Clear();
TBModelo.Clear();
TBResoluciuon.Clear();
TBDisplay.Clear();
}

private void BTNCancelar_Click(object sender, EventArgs e)


{
this.Close();
}

private bool BuscarReporte(string ticket)


{
//CONEXION
SqlConnection conexion = new SqlConnection();
conexion.ConnectionString = "Data
Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Data\\Tesis.mdf;Integrated
Security=True;User Instance=True";

//Cadena SQL
String CadenaSQL = "SELECT MAX(ID)+1 AS ID FROM pantalla";

//Adaptador
SqlDataAdapter Adaptador = new SqlDataAdapter(CadenaSQL, conexion);

Manuel Snchez Martnez Pgina 107


Sistema de Cmputo para el Control de Reportes de Equipos Daados

//Data Set
DataSet ds = new DataSet();

//Llenar el Data Set


conexion.Open();
Adaptador.Fill(ds);
conexion.Close();

//Contar Registros
if (ds.Tables[0].Rows.Count == 0)
{
ds.Dispose();
return false; //Registro no encontrado
}
else
{
//Cargar los campos en Text Box
ID.Text = ds.Tables[0].Rows[0]["ID"].ToString();
ds.Dispose();//cierra el data set y libera los recursos de memoria
que ocupa

return true; //Registro Existe


}
}

public static class AutoCompleClassTipo


{
//mtodo para cargar los datos de la base de datos
public static DataTable Datos()
{
DataTable dt = new DataTable();

SqlConnection SqlDataSource1 = new SqlConnection();


SqlDataSource1.ConnectionString = "Data
Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Data\\Tesis.mdf;Integrated
Security=True;User Instance=True";

reporte oreporte = new reporte(SqlDataSource1.ConnectionString);


string consulta = "SELECT * FROM pantalla"; //consulta a la tabla
pantalla

SqlCommand comando = new SqlCommand(consulta, SqlDataSource1);

SqlDataAdapter adap = new SqlDataAdapter(comando);

adap.Fill(dt);
return dt;
}

//mtodo para cargar la coleccin de datos para el autocomplete


public static AutoCompleteStringCollection Autocomplete()
{
DataTable dt = Datos();

AutoCompleteStringCollection coleccin = new


AutoCompleteStringCollection();
//recorrer y cargar los tems para el autocompletado

Manuel Snchez Martnez Pgina 108


Sistema de Cmputo para el Control de Reportes de Equipos Daados

foreach (DataRow row in dt.Rows)


{
coleccion.Add(Convert.ToString(row["tipo"]));
}

return coleccion;
}
}

public static class AutoCompleClassModelo


{
//mtodo para cargar los datos de la base de datos
public static DataTable Datos()
{
DataTable dt = new DataTable();

SqlConnection SqlDataSource1 = new SqlConnection();


SqlDataSource1.ConnectionString = "Data
Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Data\\Tesis.mdf;Integrated
Security=True;User Instance=True";

reporte oreporte = new reporte(SqlDataSource1.ConnectionString);


string consulta = "SELECT * FROM pantalla"; //consulta a la tabla
pantalla

SqlCommand comando = new SqlCommand(consulta, SqlDataSource1);

SqlDataAdapter adap = new SqlDataAdapter(comando);

adap.Fill(dt);
return dt;
}

//mtodo para cargar la coleccin de datos para el autocomplete


public static AutoCompleteStringCollection Autocomplete()
{
DataTable dt = Datos();

AutoCompleteStringCollection coleccin = new


AutoCompleteStringCollection();
//recorrer y cargar los tems para el autocompletado
foreach (DataRow row in dt.Rows)
{
coleccion.Add(Convert.ToString(row["modelo"]));
}

return coleccion;
}
}

public static class AutoCompleClassResolucion


{
//mtodo para cargar los datos de la base de datos
public static DataTable Datos()
{
DataTable dt = new DataTable();

SqlConnection SqlDataSource1 = new SqlConnection();

Manuel Snchez Martnez Pgina 109


Sistema de Cmputo para el Control de Reportes de Equipos Daados

SqlDataSource1.ConnectionString = "Data
Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Data\\Tesis.mdf;Integrated
Security=True;User Instance=True";

reporte oreporte = new reporte(SqlDataSource1.ConnectionString);


string consulta = "SELECT * FROM pantalla"; //consulta a la tabla
pantalla

SqlCommand comando = new SqlCommand(consulta, SqlDataSource1);

SqlDataAdapter adap = new SqlDataAdapter(comando);

adap.Fill(dt);
return dt;
}

//mtodo para cargar la coleccin de datos para el autocomplete


public static AutoCompleteStringCollection Autocomplete()
{
DataTable dt = Datos();

AutoCompleteStringCollection coleccin = new


AutoCompleteStringCollection();
//recorrer y cargar los tems para el autocompletado
foreach (DataRow row in dt.Rows)
{
coleccion.Add(Convert.ToString(row["resolucion"]));
}

return coleccion;
}
}

public static class AutoCompleClassDimension


{
//mtodo para cargar los datos de la base de datos
public static DataTable Datos()
{
DataTable dt = new DataTable();

SqlConnection SqlDataSource1 = new SqlConnection();


SqlDataSource1.ConnectionString = "Data
Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Data\\Tesis.mdf;Integrated
Security=True;User Instance=True";

reporte oreporte = new reporte(SqlDataSource1.ConnectionString);


string consulta = "SELECT * FROM pantalla"; //consulta a la tabla
pantalla
SqlCommand comando = new SqlCommand(consulta, SqlDataSource1);

SqlDataAdapter adap = new SqlDataAdapter(comando);

adap.Fill(dt);
return dt;
}

//mtodo para cargar la coleccin de datos para el autocomplete


public static AutoCompleteStringCollection Autocomplete()

Manuel Snchez Martnez Pgina 110


Sistema de Cmputo para el Control de Reportes de Equipos Daados

{
DataTable dt = Datos();

AutoCompleteStringCollection coleccin = new


AutoCompleteStringCollection();
//recorrer y cargar los tems para el autocompletado
foreach (DataRow row in dt.Rows)
{
coleccion.Add(Convert.ToString(row["dimension"]));
}
return coleccin;
}
}
}
}

Consultar Caractersticas de una Pantalla


/* ====================================================================
* Proyecto: Sistema de Control de Reportes
* Escuela Superior de Ingeniera Mecnica y Elctrica
* Unidad Profesional Zacatenco
* Ingeniera en Comunicaciones y Electrnica
* Especialidad Computacin
* Desarrollado por Manuel Snchez Martnez
* ==================================================================== */
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 System.Data.Sql;
namespace NEC_Windows_Form
{
public partial class Pantalla_Consulta : Form
{
public Pantalla_Consulta()
{
InitializeComponent();
}
private void Pantalla_Consulta_Load(object sender, EventArgs e)
{
Interface_Inicial();
//cargar los datos para el autocomplete del textbox Proyector
TBBuscar.AutoCompleteCustomSource = AutoCompleClass.Autocomplete();
TBBuscar.AutoCompleteMode = AutoCompleteMode.Suggest;
TBBuscar.AutoCompleteSource = AutoCompleteSource.CustomSource;
}

private void BTNBuscar_Click(object sender, EventArgs e)


{
if (BuscarPantalla(TBBuscar.Text) == true)
{

Manuel Snchez Martnez Pgina 111


Sistema de Cmputo para el Control de Reportes de Equipos Daados

//MessageBox.Show("Reporte Encontrado ", "Mensaje");Mensaje opcional


mostrara en mensaje en la pantalla al encontrar el reporte
Interface_Datos();
}
else
{
MessageBox.Show("El modelo que se busc NO se encuentra en la Base
de Datos ", "Advertencia");
Interface_Inicial();
TBBuscar.Focus();
}
}

private bool BuscarPantalla(string modelo)


{
//CONEXION
SqlConnection conexion = new SqlConnection();
conexion.ConnectionString = "Data
Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Data\\Tesis.mdf;Integrated
Security=True;User Instance=True";

//Cadena SQL
String CadenaSQL = "SELECT * FROM pantalla WHERE modelo='" + modelo +
"'";
//Adaptador
SqlDataAdapter Adaptador = new SqlDataAdapter(CadenaSQL, conexion);

//Data Set
DataSet ds = new DataSet();

//Llenar el Data Set


conexion.Open();
Adaptador.Fill(ds);
conexion.Close();

//Contar Registros
if (ds.Tables[0].Rows.Count == 0)
{
ds.Dispose();
return false; //Registro no encontrado
}
else
{
//Cargar los campos en Text Box
IDTB.Text = ds.Tables[0].Rows[0]["ID"].ToString();
TBTipo.Text = ds.Tables[0].Rows[0]["tipo"].ToString();
TBModelo.Text = ds.Tables[0].Rows[0]["modelo"].ToString();
TBResolucion.Text = ds.Tables[0].Rows[0]["resolucion"].ToString();
TBDisplay.Text = ds.Tables[0].Rows[0]["dimension"].ToString();

ds.Dispose();//cierra el data set y libera los recursos de memoria


que ocupa
return true; //Registro Existe
}
}

private void Interface_Inicial()


{

Manuel Snchez Martnez Pgina 112


Sistema de Cmputo para el Control de Reportes de Equipos Daados

LBBuscarModelo.Enabled = true;
TBBuscar.Enabled = true;
BTNBuscar.Enabled = true;

IDLabel.Enabled = false;
IDTB.Enabled = false;
LBDisplay.Enabled = false;
LBProyector.Enabled = false;
LBResolucion.Enabled = false;
LBTipo.Enabled = false;
TBDisplay.Enabled = false;
TBModelo.Enabled = false;
TBResolucion.Enabled = false;
TBTipo.Enabled = false;
TBBuscar.Focus();
}

private void Interface_Datos()


{
LBBuscarModelo.Enabled = true;
TBBuscar.Enabled = true;
BTNBuscar.Enabled = true;

IDLabel.Enabled = true;
IDTB.Enabled = true;
LBDisplay.Enabled = true;
LBProyector.Enabled = true;
LBResolucion.Enabled = true;
LBTipo.Enabled = true;
TBDisplay.Enabled = true;
TBModelo.Enabled = true;
TBResolucion.Enabled = true;
TBTipo.Enabled = true;
}

public static class AutoCompleClass


{
//mtodo para cargar los datos de la base de datos
public static DataTable Datos()
{
DataTable dt = new DataTable();

SqlConnection SqlDataSource1 = new SqlConnection();


SqlDataSource1.ConnectionString = "Data
Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Data\\Tesis.mdf;Integrated
Security=True;User Instance=True";

reporte oreporte = new reporte(SqlDataSource1.ConnectionString);


string consulta = "SELECT * FROM pantalla"; //consulta a la tabla
pantalla

SqlCommand comando = new SqlCommand(consulta, SqlDataSource1);

SqlDataAdapter adap = new SqlDataAdapter(comando);

adap.Fill(dt);
return dt;
}

Manuel Snchez Martnez Pgina 113


Sistema de Cmputo para el Control de Reportes de Equipos Daados

//mtodo para cargar la coleccin de datos para el autocomplete


public static AutoCompleteStringCollection Autocomplete()
{
DataTable dt = Datos();

AutoCompleteStringCollection coleccin = new


AutoCompleteStringCollection();
//recorrer y cargar los tems para el autocompletado
foreach (DataRow row in dt.Rows)
{
coleccion.Add(Convert.ToString(row["modelo"]));
}
return coleccion;
}
}

private void BTNCancelar_Click(object sender, EventArgs e)


{
this.Close();
}
}
}

Agregar Nuevo Modelo de Proyector al Catlogo


/* ====================================================================
* Proyecto: Sistema de Control de Reportes
* Escuela Superior de Ingeniera Mecnica y Elctrica
* Unidad Profesional Zacatenco
* Ingeniera en Comunicaciones y Electrnica
* Especialidad Computacin
* Desarrollado por Manuel Snchez Martnez
* ==================================================================== */
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 System.Data.Sql;
using System.Data.SqlTypes;
using System.Configuration;
namespace NEC_Windows_Form
{
public partial class Proyector_Nuevo : Form
{
public Proyector_Nuevo()
{
InitializeComponent();
}
private void Proyector_Nuevo_Load(object sender, EventArgs e)
{
//cargar los datos para el autocomplete del textbox Proyector

Manuel Snchez Martnez Pgina 114


Sistema de Cmputo para el Control de Reportes de Equipos Daados

TBTipo.AutoCompleteCustomSource = AutoCompleClassTipo.Autocomplete();
TBTipo.AutoCompleteMode = AutoCompleteMode.Suggest;
TBTipo.AutoCompleteSource = AutoCompleteSource.CustomSource;

//cargar los datos para el autocomplete del textbox Proyector


TBModelo.AutoCompleteCustomSource =
AutoCompleClassModelo.Autocomplete();
TBModelo.AutoCompleteMode = AutoCompleteMode.Suggest;
TBModelo.AutoCompleteSource = AutoCompleteSource.CustomSource;

//cargar los datos para el autocomplete del textbox Proyector


TBLumenes.AutoCompleteCustomSource =
AutoCompleClassLumenes.Autocomplete();
TBLumenes.AutoCompleteMode = AutoCompleteMode.Suggest;
TBLumenes.AutoCompleteSource = AutoCompleteSource.CustomSource;

if (BuscarReporte(ID.Text) == true)
{
// MessageBox.Show("Reporte Encontrado ", "Mensaje");
}
else
{
MessageBox.Show("Reporte NO Encontrado ", "Mensaje");
ID.Focus();
}
}
private void BTNCancelar_Click(object sender, EventArgs e)
{
this.Close();
}

private void BTNGuardar_Click(object sender, EventArgs e)


{
SqlConnection SqlDataSource1 = new SqlConnection();
SqlDataSource1.ConnectionString = "Data
Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Data\\Tesis.mdf;Integrated
Security=True;User Instance=True";

reporte oreporte = new reporte(SqlDataSource1.ConnectionString);

if (oreporte.AgregaProyector(TBTipo.Text, TBModelo.Text,
TBLumenes.Text))
{
MessageBox.Show("Nuevo Modelo de Proyector agregado correctamente",
"Agregado",MessageBoxButtons.OK,MessageBoxIcon.Information);
}
else
{
MessageBox.Show("Error al agregar el reporte " + oreporte.mensaje,
"Error",MessageBoxButtons.OK,MessageBoxIcon.Error);
}
Limpiar_Formulario(); //Limpia el formulario
}

private void Limpiar_Formulario()


{
TBTipo.Clear();
TBModelo.Clear();

Manuel Snchez Martnez Pgina 115


Sistema de Cmputo para el Control de Reportes de Equipos Daados

TBLumenes.Clear();
}
private bool BuscarReporte(string ticket)
{
//CONEXION
SqlConnection conexion = new SqlConnection();
conexion.ConnectionString = "Data
Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Data\\Tesis.mdf;Integrated
Security=True;User Instance=True";

//Cadena SQL
String CadenaSQL = "SELECT MAX(ID)+1 AS ID FROM proyector";

//Adaptador
SqlDataAdapter Adaptador = new SqlDataAdapter(CadenaSQL, conexion);

//Data Set
DataSet ds = new DataSet();

//Llenar el Data Set


conexion.Open();
Adaptador.Fill(ds);
conexion.Close();

//Contar Registros
if (ds.Tables[0].Rows.Count == 0)
{
ds.Dispose();
return false; //Registro no encontrado
}
else
{
//Cargar los campos en Text Box
ID.Text = ds.Tables[0].Rows[0]["ID"].ToString();
ds.Dispose();//cierra el data set y libera los recursos de memoria
que ocupa

return true; //Registro Existe


}

}
public static class AutoCompleClassTipo
{
//mtodo para cargar los datos de la base de datos
public static DataTable Datos()
{
DataTable dt = new DataTable();

SqlConnection SqlDataSource1 = new SqlConnection();


SqlDataSource1.ConnectionString = "Data
Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Data\\Tesis.mdf;Integrated
Security=True;User Instance=True";

reporte oreporte = new reporte(SqlDataSource1.ConnectionString);


string consulta = "SELECT * FROM proyector"; //consulta a la tabla
proyector

SqlCommand comando = new SqlCommand(consulta, SqlDataSource1);

Manuel Snchez Martnez Pgina 116


Sistema de Cmputo para el Control de Reportes de Equipos Daados

SqlDataAdapter adap = new SqlDataAdapter(comando);

adap.Fill(dt);
return dt;
}

//mtodo para cargar la coleccin de datos para el autocomplete


public static AutoCompleteStringCollection Autocomplete()
{
DataTable dt = Datos();

AutoCompleteStringCollection coleccin = new


AutoCompleteStringCollection();
//recorrer y cargar los tems para el autocompletado
foreach (DataRow row in dt.Rows)
{
coleccion.Add(Convert.ToString(row["Tipo"]));
}

return coleccion;
}
}
public static class AutoCompleClassModelo
{
//mtodo para cargar los datos de la base de datos
public static DataTable Datos()
{
DataTable dt = new DataTable();

SqlConnection SqlDataSource1 = new SqlConnection();


SqlDataSource1.ConnectionString = "Data
Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Data\\Tesis.mdf;Integrated
Security=True;User Instance=True";

reporte oreporte = new reporte(SqlDataSource1.ConnectionString);


string consulta = "SELECT * FROM proyector"; //consulta a la tabla
proyector

SqlCommand comando = new SqlCommand(consulta, SqlDataSource1);

SqlDataAdapter adap = new SqlDataAdapter(comando);

adap.Fill(dt);
return dt;
}

//mtodo para cargar la coleccin de datos para el autocomplete


public static AutoCompleteStringCollection Autocomplete()
{
DataTable dt = Datos();

AutoCompleteStringCollection coleccin = new


AutoCompleteStringCollection();
//recorrer y cargar los tems para el autocompletado
foreach (DataRow row in dt.Rows)
{
coleccion.Add(Convert.ToString(row["Modelo"]));

Manuel Snchez Martnez Pgina 117


Sistema de Cmputo para el Control de Reportes de Equipos Daados

return coleccion;
}
}
public static class AutoCompleClassLumenes
{
//mtodo para cargar los datos de la base de datos
public static DataTable Datos()
{
DataTable dt = new DataTable();

SqlConnection SqlDataSource1 = new SqlConnection();


SqlDataSource1.ConnectionString = "Data
Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Data\\Tesis.mdf;Integrated
Security=True;User Instance=True";

reporte oreporte = new reporte(SqlDataSource1.ConnectionString);


string consulta = "SELECT * FROM proyector"; //consulta a la tabla
proyector

SqlCommand comando = new SqlCommand(consulta, SqlDataSource1);

SqlDataAdapter adap = new SqlDataAdapter(comando);

adap.Fill(dt);
return dt;
}

//mtodo para cargar la coleccin de datos para el autocomplete


public static AutoCompleteStringCollection Autocomplete()
{
DataTable dt = Datos();

AutoCompleteStringCollection coleccin = new


AutoCompleteStringCollection();
//recorrer y cargar los tems para el autocompletado
foreach (DataRow row in dt.Rows)
{
coleccion.Add(Convert.ToString(row["Lumenes"]));
}

return coleccin;
}
}
}
}

Manuel Snchez Martnez Pgina 118


Sistema de Cmputo para el Control de Reportes de Equipos Daados

Consultar Caractersticas de Proyector


/* ====================================================================
* Proyecto: Sistema de Control de Reportes
* Escuela Superior de Ingeniera Mecnica y Elctrica
* Unidad Profesional Zacatenco
* Ingeniera en Comunicaciones y Electrnica
* Especialidad Computacin
* Desarrollado por Manuel Snchez Martnez
* ==================================================================== */
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 System.Data.Sql;
using System.Data.SqlTypes;
using System.Data.OleDb;
using System.Data.Common;
namespace NEC_Windows_Form
{
public partial class Proyector_Consulta : Form
{
public Proyector_Consulta()
{
InitializeComponent();
}

private void Proyector_Consulta_Load(object sender, EventArgs e)


{
Interface_Inicial();

//cargar los datos para el autocomplete del textbox Proyector


TBBusca.AutoCompleteCustomSource = AutoCompleClass.Autocomplete();
TBBusca.AutoCompleteMode = AutoCompleteMode.Suggest;
TBBusca.AutoCompleteSource = AutoCompleteSource.CustomSource;
}
private void BTNCancelar_Click(object sender, EventArgs e)
{
this.Close();
}

private void Interface_Inicial()


{
LBBuscarModelo.Enabled = true;
TBBusca.Enabled = true;
BTNBuscar.Enabled = true;
IDLabel.Enabled = false;
TBID.Enabled = false;
LBLumenes.Enabled = false;
LBProyector.Enabled = false;
LBTipo.Enabled = false;
TBLumenes.Enabled = false;

Manuel Snchez Martnez Pgina 119


Sistema de Cmputo para el Control de Reportes de Equipos Daados

TBModelo.Enabled = false;
TBTipo.Enabled = false;
TBBusca.Focus();
}

private void Interface_Datos()


{
LBBuscarModelo.Enabled = true;
TBBusca.Enabled = true;
BTNBuscar.Enabled = true;
IDLabel.Enabled = true;
TBID.Enabled = true;
LBLumenes.Enabled = true;
LBProyector.Enabled = true;
LBTipo.Enabled = true;
TBLumenes.Enabled = true;
TBModelo.Enabled = true;
TBTipo.Enabled = true;
}

private void BTNBuscar_Click(object sender, EventArgs e)


{

if (BuscarProyector(TBBusca.Text) == true)
{
//MessageBox.Show("Reporte Encontrado ", "Mensaje");
Interface_Datos();
}
else
{
MessageBox.Show("El modelo que se busc NO se encuentra en la Base
de Datos ", "Advertencia");
Interface_Inicial();
TBBusca.Focus();
}
}

private bool BuscarProyector(string modelo)


{

//Conexion
SqlConnection Conexion = new SqlConnection();
Conexion.ConnectionString = "Data
Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Data\\Tesis.mdf;Integrated
Security=True;User Instance=True";

//Cadena SQL
String CadenaSQL = "SELECT * FROM proyector WHERE Modelo='"+ modelo +
"'";

//Adaptador
SqlDataAdapter Adaptador = new SqlDataAdapter(CadenaSQL,Conexion);

//Dataset
DataSet ds = new DataSet();

//llenar el Dataset
Conexion.Open();

Manuel Snchez Martnez Pgina 120


Sistema de Cmputo para el Control de Reportes de Equipos Daados

Adaptador.Fill(ds);
Conexion.Close();

//Contar Registros
if (ds.Tables[0].Rows.Count == 0)
{
ds.Dispose();
return false;
}
else
{
TBID.Text = ds.Tables[0].Rows[0]["ID"].ToString();
TBTipo.Text = ds.Tables[0].Rows[0]["Tipo"].ToString();
TBModelo.Text = ds.Tables[0].Rows[0]["Modelo"].ToString();
TBLumenes.Text = ds.Tables[0].Rows[0]["Lumenes"].ToString();
ds.Dispose();
return true;
}
}

private static class AutoCompleClass


{
//mtodo para cargar los datos de la base de datos
public static DataTable Datos()
{
DataTable dt = new DataTable();

SqlConnection SqlDataSource1 = new SqlConnection();


SqlDataSource1.ConnectionString = "Data
Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Data\\Tesis.mdf;Integrated
Security=True;User Instance=True";

reporte oreporte = new reporte(SqlDataSource1.ConnectionString);


string consulta = "SELECT * FROM proyector"; //consulta a la tabla
proyector

SqlCommand comando = new SqlCommand(consulta, SqlDataSource1);

SqlDataAdapter adap = new SqlDataAdapter(comando);

adap.Fill(dt);
return dt;
}

//mtodo para cargar la coleccin de datos para el autocomplete


public static AutoCompleteStringCollection Autocomplete()
{
DataTable dt = Datos();

AutoCompleteStringCollection coleccin = new


AutoCompleteStringCollection();
//recorrer y cargar los tems para el autocompletado
foreach (DataRow row in dt.Rows)
{
coleccion.Add(Convert.ToString(row["modelo"]));
}
return coleccin;
}

Manuel Snchez Martnez Pgina 121


Sistema de Cmputo para el Control de Reportes de Equipos Daados

}
}
}

Agregar Empresa al Catlogo


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 System.Data.Sql;
using System.Data.SqlTypes;
namespace NEC_Windows_Form
{
public partial class Empresa_nuevo : Form
{
public Empresa_nuevo()
{
InitializeComponent();
}

private void Empresa_nuevo_Load(object sender, EventArgs e)


{
if (BuscarEmpresa(IDLB.Text) == true)
{
// MessageBox.Show("Reporte Encontrado ", "Mensaje");
}
else
{
MessageBox.Show("Reporte NO Encontrado ", "Mensaje");
}
}

private void BTNCancelar_Click(object sender, EventArgs e)


{
this.Close();
}

private void BTNGuardar_Click(object sender, EventArgs e)


{
SqlConnection SqlDataSource1 = new SqlConnection();
SqlDataSource1.ConnectionString = "Data
Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Data\\Tesis.mdf;Integrated
Security=True;User Instance=True";

reporte oreporte = new reporte(SqlDataSource1.ConnectionString);

if
(oreporte.AgregaEmpresa(TBNombre.Text,TBContacto.Text,TBCorreo.Text,TBTelefono.Text)
)
{

Manuel Snchez Martnez Pgina 122


Sistema de Cmputo para el Control de Reportes de Equipos Daados

MessageBox.Show("Se ha agregado la empresa correctamente.",


"Agregado",MessageBoxButtons.OK,MessageBoxIcon.Information);
TBNombre.Focus();
if (BuscarEmpresa(IDLB.Text) == true)
{
// MessageBox.Show("Reporte Encontrado ", "Mensaje");
}
else
{
MessageBox.Show("Reporte NO Encontrado ", "Mensaje");
}
}
else
{
MessageBox.Show("Error al agregar el reporte " + oreporte.mensaje,
"Error");
}
Limpiar_Formulario(); //Limpia el formulario
}

private void Limpiar_Formulario()


{
TBNombre.Clear();
TBContacto.Clear();
TBCorreo.Clear();
TBTelefono.Clear();
}
private bool BuscarEmpresa(string ID)
{
//CONEXION
SqlConnection conexion = new SqlConnection();
conexion.ConnectionString = "Data
Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Data\\Tesis.mdf;Integrated
Security=True;User Instance=True";

//Cadena SQL
String CadenaSQL = "SELECT MAX(ID)+1 AS ID FROM empresas";

//Adaptador
SqlDataAdapter Adaptador = new SqlDataAdapter(CadenaSQL, conexion);

//Data Set
DataSet ds = new DataSet();

//Llenar el Data Set


conexion.Open();
Adaptador.Fill(ds);
conexion.Close();

//Contar Registros
if (ds.Tables[0].Rows.Count == 0)
{
ds.Dispose();
return false; //Registro no encontrado
}
else
{
//Cargar los campos en Text Box

Manuel Snchez Martnez Pgina 123


Sistema de Cmputo para el Control de Reportes de Equipos Daados

IDLB.Text = ds.Tables[0].Rows[0]["ID"].ToString();
ds.Dispose();//cierra el data set y libera los recursos de memoria
que ocupa
return true; //Registro Existe
}
}
}
}

Consultar Contacto Directo con Empresa


/* ====================================================================
* Proyecto: Sistema de Control de Reportes
* Escuela Superior de Ingeniera Mecnica y Elctrica
* Unidad Profesional Zacatenco
* Ingeniera en Comunicaciones y Electrnica
* Especialidad Computacin
* Desarrollado por Manuel Snchez Martnez
* ==================================================================== */
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 System.Data.Sql;
namespace NEC_Windows_Form
{
public partial class Empresa_consulta : Form
{
public Empresa_consulta()
{
InitializeComponent();
}
private void Empresa_consulta_Load(object sender, EventArgs e)
{
Interface_Inicial();
//cargar los datos para el autocomplete del textbox Proyector
TBBuscar.AutoCompleteCustomSource = AutoCompleClass.Autocomplete();
TBBuscar.AutoCompleteMode = AutoCompleteMode.Suggest;
TBBuscar.AutoCompleteSource = AutoCompleteSource.CustomSource;
}

private void BTNCancelar_Click(object sender, EventArgs e)


{
this.Close();
}

private void BTNBuscar_Click(object sender, EventArgs e)


{
if (BuscarEmpresa(TBBuscar.Text) == true)
{
//MessageBox.Show("Reporte Encontrado ", "Mensaje");
Interface_Datos();
}

Manuel Snchez Martnez Pgina 124


Sistema de Cmputo para el Control de Reportes de Equipos Daados

else
{
MessageBox.Show("El modelo que se busc NO se encuentra en la Base
de Datos ", "Advertencia");
Interface_Inicial();
TBBuscar.Focus();
}
}
private bool BuscarEmpresa(string empresa)
{
//CONEXION
SqlConnection conexion = new SqlConnection();
conexion.ConnectionString = "Data
Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Data\\Tesis.mdf;Integrated
Security=True;User Instance=True";

//Cadena SQL
String CadenaSQL = "SELECT * FROM empresas WHERE empresa='" + empresa +
"'";
//Adaptador
SqlDataAdapter Adaptador = new SqlDataAdapter(CadenaSQL, conexion);

//Data Set
DataSet ds = new DataSet();

//Llenar el Data Set


conexion.Open();
Adaptador.Fill(ds);
conexion.Close();

//Contar Registros
if (ds.Tables[0].Rows.Count == 0)
{
ds.Dispose();
return false; //Registro no encontrado
}
else
{
//Cargar los campos en Text Box

IDLB.Text = ds.Tables[0].Rows[0]["ID"].ToString();
TBNombre.Text = ds.Tables[0].Rows[0]["empresa"].ToString();
TBContacto.Text = ds.Tables[0].Rows[0]["contacto"].ToString();
TBCorreo.Text = ds.Tables[0].Rows[0]["correo"].ToString();
TBTelefono.Text = ds.Tables[0].Rows[0]["telefono"].ToString();

ds.Dispose();//cierra el data set y libera los recursos de memoria


que ocupa

return true; //Registro Existe


}

private void Interface_Inicial()


{
LBBuscarModelo.Enabled = true;
TBBuscar.Enabled = true;

Manuel Snchez Martnez Pgina 125


Sistema de Cmputo para el Control de Reportes de Equipos Daados

BTNBuscar.Enabled = true;
LBID.Enabled = false;
IDLB.Enabled = false;
LBNombre.Enabled = false;
TBNombre.Enabled = false;
LBContacto.Enabled = false;
TBContacto.Enabled = false;
LBCorreo.Enabled = false;
TBCorreo.Enabled = false;
LBTelefono.Enabled = false;
TBTelefono.Enabled = false;
TBBuscar.Focus();
}

private void Interface_Datos()


{
LBBuscarModelo.Enabled = true;
TBBuscar.Enabled = true;
BTNBuscar.Enabled = true;
LBID.Enabled = true;
IDLB.Enabled = true;
LBNombre.Enabled = true;
TBNombre.Enabled = true;
LBContacto.Enabled = true;
TBContacto.Enabled = true;
LBCorreo.Enabled = true;
TBCorreo.Enabled = true;
LBTelefono.Enabled = true;
TBTelefono.Enabled = true;
TBBuscar.Focus();
}

public static class AutoCompleClass


{
//mtodo para cargar los datos de la base de datos
public static DataTable Datos()
{
DataTable dt = new DataTable();

SqlConnection SqlDataSource1 = new SqlConnection();


SqlDataSource1.ConnectionString = "Data
Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Data\\Tesis.mdf;Integrated
Security=True;User Instance=True";

reporte oreporte = new reporte(SqlDataSource1.ConnectionString);


string consulta = "SELECT * FROM empresas"; //consulta a la tabla
empresas

SqlCommand comando = new SqlCommand(consulta, SqlDataSource1);

SqlDataAdapter adap = new SqlDataAdapter(comando);

adap.Fill(dt);
return dt;
}

//mtodo para cargar la coleccin de datos para el autocomplete


public static AutoCompleteStringCollection Autocomplete()

Manuel Snchez Martnez Pgina 126


Sistema de Cmputo para el Control de Reportes de Equipos Daados

{
DataTable dt = Datos();

AutoCompleteStringCollection coleccin = new


AutoCompleteStringCollection();
//recorrer y cargar los tems para el autocompletado
foreach (DataRow row in dt.Rows)
{
coleccion.Add(Convert.ToString(row["empresa"]));
}
return coleccin;
}
}
}
}

Clases y Funciones utilizadas en el Sistema


/* ====================================================================
* Proyecto: Sistema de Control de Reportes
* Escuela Superior de Ingeniera Mecnica y Elctrica
* Unidad Profesional Zacatenco
* Ingeniera en Comunicaciones y Electrnica
* Especialidad Computacin
* Desarrollado por Manuel Snchez Martnez
* ==================================================================== */
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Data.Sql;
namespace NEC_Windows_Form
{
class reporte
{
public string mensaje { get; set; }
public string nombreusuario { get; set; }
private SqlConnection conexion;

public reporte(string Conexion)


{
//
// TODO: Add constructor logic here
//
//Creacin de un objeto conexin a la base de datos
//El argumento lo que indica es la cadena de conexin que genera el
SQLDATASOURCE
conexion = new SqlConnection(Conexion);
}

//// ------------------ Funciones de Agregar ---------------------------------- ////


public bool AgregaReporte(string fecha_reporte, string forma_recepcion,
string empresa, string contacto, string atencion, string tipo_equipo, string
modelo_Proyector, string modelo_Pantalla, string serie_equipo, string garantia,

Manuel Snchez Martnez Pgina 127


Sistema de Cmputo para el Control de Reportes de Equipos Daados

string inicio_garantia, string termino_garantia, string falla, string diagnostico,


string observaciones, string status)
{
bool Procesado = false;
string inserta = "";
mensaje = "";

//Preparacin del comando insert tal como necesitamos que se ejecute en


la base de datos
inserta = string.Format("INSERT INTO reporte (fecha_reporte,
forma_recepcion, empresa, contacto, atencion, tipo_equipo, modelo_Proyector,
modelo_Pantalla, serie_equipo, garantia, inicio_garantia, termino_garantia, falla,
diagnostico, observaciones, status) VALUES
('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}','{11}','{12}','{
13}','{14}','{15}')", fecha_reporte, forma_recepcion, empresa, contacto, atencion,
tipo_equipo, modelo_Proyector, modelo_Pantalla, serie_equipo, garantia,
inicio_garantia, termino_garantia, falla, diagnostico, observaciones, status);
try
{
//Creacin de un objeto comando
//inserta Es la cadena que define el comando que se desea ejecutar
//Conexion Es la conexin a la base de datos que ya se realiz
anterior
SqlCommand comando = new SqlCommand(inserta, conexion);
conexion.Open();
comando.ExecuteNonQuery();
conexion.Close();
inserta = "";
Procesado = true;
}
catch (SqlException Exc)
{
mensaje = Exc.ToString();
}

return Procesado;
}

public bool AgregaPantalla(string tipo, string modelo, string resolucion,


string dimension)
{
bool Procesado = false;
string inserta = "";
mensaje = "";
//Preparacin del comando insert tal como necesitamos que se ejecute en
la base de datos
inserta = string.Format("INSERT INTO pantalla (tipo, modelo, resolucion,
dimension) VALUES ('{0}','{1}','{2}','{3}')", tipo, modelo, resolucion, dimension);

try
{

//Creacin de un objeto comando


//inserta Es la cadena que define el comando que se desea ejecutar
//Conexin Es la conexin a la base de datos que ya se realiz
anterior
SqlCommand comando = new SqlCommand(inserta, conexion);
conexion.Open();

Manuel Snchez Martnez Pgina 128


Sistema de Cmputo para el Control de Reportes de Equipos Daados

comando.ExecuteNonQuery();
conexion.Close();
inserta = "";
Procesado = true;
}
catch (SqlException Exc)
{
mensaje = Exc.ToString();
}

return Procesado;
}

public bool AgregaProyector(string tipo, string modelo, string lumenes)


{
bool Procesado = false;
string inserta = "";
mensaje = "";

//Preparacin del comando insert tal como necesitamos que se ejecute en


la base de datos
inserta = string.Format("INSERT INTO proyector (tipo, modelo, lumenes)
VALUES ('{0}','{1}','{2}')", tipo, modelo, lumenes);

try
{
//Creacin de un objeto comando
//inserta Es la cadena que define el comando que se desea ejecutar
//Conexion Es la conexin a la base de datos que ya se realiz
anterior
SqlCommand comando = new SqlCommand(inserta, conexion);
conexion.Open();
comando.ExecuteNonQuery();
conexion.Close();
inserta = "";
Procesado = true;
}
catch (SqlException Exc)
{
mensaje = Exc.ToString();
}

return Procesado;
}

public bool AgregaEmpleado(string ID, string nombre,string


apellido_paterno,string apellido_materno,string puesto,string pass)
{
bool Procesado = false;
string inserta = "";
mensaje = "";

//Preparacin del comando insert tal como necesitamos que se ejecute en


la base de datos
inserta = string.Format("INSERT INTO empleados (ID, nombre,
apellido_paterno, apellido_materno, puesto, pass) VALUES
('{0}','{1}','{2}','{3}','{4}','{5}')", ID, nombre, apellido_paterno,
apellido_materno, puesto, pass);

Manuel Snchez Martnez Pgina 129


Sistema de Cmputo para el Control de Reportes de Equipos Daados

try
{
//Creacin de un objeto comando
//inserta Es la cadena que define el comando que se desea ejecutar
//Conexion Es la conexin a la base de datos que ya se realiz
anterior
SqlCommand comando = new SqlCommand(inserta, conexion);
conexion.Open();
comando.ExecuteNonQuery();
conexion.Close();
inserta = "";
Procesado = true;
}
catch (SqlException Exc)
{
mensaje = Exc.ToString();
}

return Procesado;
}
public bool AgregaEmpresa(string empresa, string contacto, string correo,
string telefono)
{
bool Procesado = false;
string inserta = "";
mensaje = "";
//Preparacin del comando insert tal como necesitamos que se ejecute en
la base de datos
inserta = string.Format("INSERT INTO empresas (empresa, contacto,
correo, telefono) VALUES ('{0}','{1}','{2}','{3}')",empresa, contacto, correo,
telefono);
try
{
//Creacin de un objeto comando
//inserta Es la cadena que define el comando que se desea ejecutar
//Conexion Es la conexin a la base de datos que ya se realiz
anterior
SqlCommand comando = new SqlCommand(inserta, conexion);
conexion.Open();
comando.ExecuteNonQuery();
conexion.Close();
inserta = "";
Procesado = true;
}
catch (SqlException Exc)
{
mensaje = Exc.ToString();
}

return Procesado;
}

Manuel Snchez Martnez Pgina 130


Sistema de Cmputo para el Control de Reportes de Equipos Daados

/////// ------------------ Funciones de Modificar ----------------------------------


public bool ModificarReporte(string fecha_reporte, string forma_recepcion,
string empresa, string contacto, string atencion, string tipo_equipo, string
modelo_Proyector, string modelo_Pantalla, string serie_equipo, string garantia,
string inicio_garantia, string termino_garantia, string falla, string diagnostico,
string observaciones, string status)
{
bool Procesado = false;
string inserta = "";
mensaje = "";
//Preparacin del comando insert tal como necesitamos que se ejecute en
la base de datos
inserta = string.Format("INSERT INTO reporte (fecha_reporte,
forma_recepcion, empresa, contacto, atencion, tipo_equipo, modelo_Proyector,
modelo_Pantalla, serie_equipo, garantia, inicio_garantia, termino_garantia, falla,
diagnostico, observaciones, status) VALUES
('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}','{11}','{12}','{
13}','{14}','{15}')", fecha_reporte, forma_recepcion, empresa, contacto, atencion,
tipo_equipo, modelo_Proyector, modelo_Pantalla, serie_equipo, garantia,
inicio_garantia, termino_garantia, falla, diagnostico, observaciones, status);
try
{

//Creacin de un objeto comando


//inserta Es la cadena que define el comando que se desea ejecutar
//Conexion Es la conexin a la base de datos que ya se realiz
anterior
SqlCommand comando = new SqlCommand(inserta, conexion);
conexion.Open();
comando.ExecuteNonQuery();
conexion.Close();
inserta = "";
Procesado = true;
}
catch (SqlException Exc)
{
mensaje = Exc.ToString();
}
return Procesado;
}

/////// ------------------ Funciones de Buscar ----------------------------------


public bool BuscarReporte(string modelo)
{
//CONEXION
SqlConnection conexion = new SqlConnection();
conexion.ConnectionString = "Data
Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Data\\Tesis.mdf;Integrated
Security=True;User Instance=True";

//Cadena SQL
String CadenaSQL = "SELECT * FROM reporte WHERE modelo = " + modelo;

//Adaptador
SqlDataAdapter Adaptador = new SqlDataAdapter(CadenaSQL, conexion);

Manuel Snchez Martnez Pgina 131


Sistema de Cmputo para el Control de Reportes de Equipos Daados

//Data Set
TesisDataSet1 ds = new TesisDataSet1();

//Llenar el Data Set


conexion.Open();
Adaptador.Fill(ds);
conexion.Close();

//Contar Registros
if (ds.Tables[0].Rows.Count == 0)
{
return false;
}
else
{
return true;
}

}
}
}

Manuel Snchez Martnez Pgina 132

También podría gustarte