Examen Transversal LENGUAJE DE PROGRAMACION II (MS NET)
Esto es lo que escribi del examen de ayer
Enunciado:
Examen Transversal
Se debe construir una aplicacion web que consta de 5 páginas utilizando el modelo de capas , la cual se
utilizará para el registro de órdenes de trabajo y su respectivo detalle, para una empresa que repara vehículos.
Descripcion de las páginas y su funcionalidad
Default.aspx
Permite la autenticación Basandose en los usuarios existentes en la tabla Usuarios y restringiendo el acceso a todas las
páginas mientras no se haya iniciado sesión o esta se haya cerrado, considere además un menú para la navegación.
Pagina1.aspx
Permite almacenar una orden en la tabla Orden.
Restricciones:
- El valor de la mantención debe ser mayor a 0.
- El kilometraje debe ser múltiplo de 5000.
Pagina2.aspx
permite agregar un nuevo servicio en la tabla Servicios.
Restricciones
- Descripcion debe tener al menos 6 caracteres
Pagina3.aspx
Permite consultar las órdenes de servicio, utilizando un control GridView paginado y seleccionable. Al Seleccionar
una orden se muestran sus detalles asociados en un DetailsView.
Pagina4.aspx
Permite agregar o actualizar un nuevo usuario con la función «user» o «admin», para ambos casos debe utilizar un servicio web como
capa intermedia, la cual se comunica con procedimientos almacenados. Recuerde que solo los administradores pueden agregar nuevos usuarios.
Script SQL Proporcionado:
Forma_A.sql
SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[Servicios]') AND type in (N'U')) BEGIN CREATE TABLE [dbo].[Servicios]( [cod_servicio] [nchar](10) NOT NULL, [Descripcion] [varchar](50) NOT NULL, CONSTRAINT [PK_Servicios] PRIMARY KEY CLUSTERED ( [cod_servicio] ASC )WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[usuarios]') AND type in (N'U')) BEGIN CREATE TABLE [dbo].[usuarios]( [rut] [char](10) NOT NULL, [password] [char](10) NOT NULL, [habilitado] [char](2) NOT NULL, [funcion] [char](10) NOT NULL, CONSTRAINT [PK_usuarios] PRIMARY KEY CLUSTERED ( [rut] ASC )WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[Orden]') AND type in (N'U')) BEGIN CREATE TABLE [dbo].[Orden]( [nroOrdenTrabajo] [nchar](10) NOT NULL, [Patente] [char](6) NOT NULL, [RutCliente] [char](10) NOT NULL, [valorMantencion] [int] NOT NULL, [kilometraje] [int] NOT NULL, CONSTRAINT [PK_Orden] PRIMARY KEY CLUSTERED ( [nroOrdenTrabajo] ASC )WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[DetalleOrden]') AND type in (N'U')) BEGIN CREATE TABLE [dbo].[DetalleOrden]( [nroOrdenTrabajo] [nchar](10) NOT NULL, [cod_servicio] [nchar](10) NOT NULL ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_DetalleOrden_Orden]') AND parent_object_id = OBJECT_ID(N'[dbo].[DetalleOrden]')) ALTER TABLE [dbo].[DetalleOrden] WITH CHECK ADD CONSTRAINT [FK_DetalleOrden_Orden] FOREIGN KEY([nroOrdenTrabajo]) REFERENCES [dbo].[Orden] ([nroOrdenTrabajo]) GO ALTER TABLE [dbo].[DetalleOrden] CHECK CONSTRAINT [FK_DetalleOrden_Orden] GO IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_DetalleOrden_Servicios]') AND parent_object_id = OBJECT_ID(N'[dbo].[DetalleOrden]')) ALTER TABLE [dbo].[DetalleOrden] WITH CHECK ADD CONSTRAINT [FK_DetalleOrden_Servicios] FOREIGN KEY([cod_servicio]) REFERENCES [dbo].[Servicios] ([cod_servicio]) GO ALTER TABLE [dbo].[DetalleOrden] CHECK CONSTRAINT [FK_DetalleOrden_Servicios]
Mi Solucion:
ETLDP3501-Fuentealba-Esteban.rar