DS - Herramientas de Programacion 1 - Sesion 14
DS - Herramientas de Programacion 1 - Sesion 14
DS - Herramientas de Programacion 1 - Sesion 14
Herramientas de Programación
Servicios Web
Logro
• Servicios Web
• Arquitectura SOA
• Enfoques SOAP y REST
• Verbos HTTP: GET y POST.
• Probar un servicio web REST
BASE DE DATOS EN ENTITY FRAMEWORK
Actualizar el Modelo.
Objetivos
• Agregar al Modelo los nuevos objetos de la
BD.
Introducción:
• Vamos a trabajar sobre el mismo proyecto
de la semana 13.
• Durante la actividad de esta semana vamos
a crear una nueva tabla y cuatro
procedimientos almacenados en la
BD_LATAM, posterior a ello vamos
agregar estos nuevos objetos al Modelo
BASE DE DATOS EN ENTITY FRAMEWORK
Actualizar el Modelo.
Paso 1. Creamos una nueva tabla en la BD y cuatro procedimientos
almacenados que nos permitan hacer el CRUD de la nueva tabla.
a.- Ingresamos a SSMS.
BASE DE DATOS EN ENTITY FRAMEWORK
Actualizar el Modelo.
b.- Ejecutamos el siguiente script:
USE [BD_LATAM]
GO
/****** Object: Table [dbo].[Vendedor] Script Date: 10/09/2019
09:34:09 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Vendedor](
BASE DE DATOS EN ENTITY FRAMEWORK
Actualizar el Modelo.
Actualizar el Modelo.
Actualizar el Modelo.
/****** Object: Table [dbo].[Pasaje] Script Date: 10/09/2019 09:35:55
******/
ALTER TABLE [dbo].[Pasaje] ADD [IdVendedor] INT NULL;
GO
ALTER TABLE [dbo].[Pasaje] WITH CHECK ADD CONSTRAINT
[FK_Pasaje_Vendedor] FOREIGN KEY([IdVendedor])
REFERENCES [dbo].[Vendedor] ([Id])
GO
ALTER TABLE [dbo].[Pasaje] CHECK CONSTRAINT
[FK_Pasaje_Vendedor]
GO
BASE DE DATOS EN ENTITY FRAMEWORK
Actualizar el Modelo.
/****** Object: Table [dbo].[Vendedor] Script Date: 10/09/2019 09:42:12 ******/
SET IDENTITY_INSERT [dbo].[Vendedor] ON
GO
INSERT [dbo].[Vendedor] ([Id], [Nombres], [ApellidoPaterno], [ApellidoMaterno], [Dni],
[Salario], [Activo]) VALUES (1, N'SILVIA', N'GAMARRA', N'QU', N'22557711',
CAST(1800.00 AS Decimal(10, 2)), 1)
GO
INSERT [dbo].[Vendedor] ([Id], [Nombres], [ApellidoPaterno], [ApellidoMaterno], [Dni],
[Salario], [Activo]) VALUES (2, N'DANIELA', N'VILCHEZ', N'ZEGARRA', N'0201577',
CAST(3255.55 AS Decimal(10, 2)), 1)
GO
INSERT [dbo].[Vendedor] ([Id], [Nombres], [ApellidoPaterno], [ApellidoMaterno], [Dni],
[Salario], [Activo]) VALUES (3, N'ROMINA', N'ARIAS', N'PINTO', N'36367788',
CAST(1920.00 AS Decimal(10, 2)), 1)
GO
SET IDENTITY_INSERT [dbo].[Vendedor] OFF
GO
BASE DE DATOS EN ENTITY FRAMEWORK
Actualizar el Modelo.
/****** Object: StoredProcedure [dbo].
[SPLATAM_SEL_VENDEDOR] Script Date: 10/09/2019 11:15:15
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[SPLATAM_SEL_VENDEDOR]
@iVendedorId int = null,
@iNombre nvarchar(50) = null
AS
BEGIN
BASE DE DATOS EN ENTITY FRAMEWORK
Actualizar el Modelo.
SELECT Id
,Nombres
,ApellidoPaterno
,ApellidoMaterno
,Dni
,Salario
,Activo
BASE DE DATOS EN ENTITY FRAMEWORK
Actualizar el Modelo.
FROM Vendedor
WHERE Id = IsNull(@iVendedorId, Id)
AND (@iNombre IS NULL OR Nombres + ApellidoPaterno +
ApellidoMaterno LIKE '%'+ @iNombre +'%')
END
GO
BASE DE DATOS EN ENTITY FRAMEWORK
Actualizar el Modelo.
Actualizar el Modelo.
CREATE PROC [dbo].[SPLATAM_INS_VENDEDOR]
@iNombres nvarchar(50) = NULL,
@iApellidoPaterno nvarchar(50) = NULL,
@iApellidoMaterno nvarchar(50) = NULL,
@iDni nvarchar(10) = NULL,
@iSalario decimal(10, 2) = NULL,
@iActivo bit = NULL,
@oIdVendedor int output
AS
BASE DE DATOS EN ENTITY FRAMEWORK
Actualizar el Modelo.
SET NOCOUNT ON
INSERT INTO [dbo].[Vendedor]
([Nombres]
,[ApellidoPaterno]
,[ApellidoMaterno]
,[Dni]
,[Salario]
,[Activo])
BASE DE DATOS EN ENTITY FRAMEWORK
Actualizar el Modelo.
VALUES (@iNombres
,@iApellidoPaterno
,@iApellidoMaterno
,@iDni
,@iSalario
,@iActivo)
SELECT @oIdVendedor = SCOPE_IDENTITY()
GO
/****** Object: StoredProcedure [dbo].[SPLATAM_UPD_VENDEDOR]
Script Date: 10/09/2019 15:58:26 ******/
BASE DE DATOS EN ENTITY FRAMEWORK
Actualizar el Modelo.
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROC [dbo].[SPLATAM_UPD_VENDEDOR]
@iIdVendedor int = NULL,
@iNombres nvarchar(50) = NULL,
@iApellidoPaterno nvarchar(50) = NULL,
@iApellidoMaterno nvarchar(50) = NULL,
@iDni nvarchar(10) = NULL,
@iSalario decimal(10, 2) = NULL,
@iActivo bit = NULL
AS
BASE DE DATOS EN ENTITY FRAMEWORK
Actualizar el Modelo.
SET NOCOUNT ON
UPDATE [dbo].[Vendedor]
SET [Nombres] = @iNombres
,[ApellidoPaterno] = @iApellidoPaterno
,[ApellidoMaterno] = @iApellidoMaterno
,[Dni] = @iDni
,[Salario] = @iSalario
,[Activo] = @iActivo
WHERE [Id] = @iIdVendedor
GO
BASE DE DATOS EN ENTITY FRAMEWORK
Actualizar el Modelo.
/****** Object: StoredProcedure [dbo].[SPLATAM_DEL_VENDEDOR] Script Date:
10/09/2019 16:03:07 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROC [dbo].[SPLATAM_DEL_VENDEDOR]
@iIdVendedor int
AS
SET NOCOUNT ON
DELETE
FROM [dbo].[Vendedor]
WHERE [Id] = @iIdVendedor
GO
BASE DE DATOS EN ENTITY FRAMEWORK
Actualizar el Modelo.
c.- Validamos los cambios en la BD_LATAM
BASE DE DATOS EN ENTITY FRAMEWORK
Actualizar el Modelo.
Paso 2. Actualizamos el Modelo.
Actualizar el Modelo.
Paso 2. Actualizamos el Modelo.
b.- Nos ubicamos en el Modelo, hacemos click derecho y
seleccionamos la opción “Actualizar modelo desde base de datos…”
BASE DE DATOS EN ENTITY FRAMEWORK
Actualizar el Modelo.
c.- Seleccionamos los nuevos objetos y presionamos en el botón
“Finalizar”
BASE DE DATOS EN ENTITY FRAMEWORK
Actualizar el Modelo.
d.- Una vez actualizado el Modelo ya podemos ver la nueva tabla
BASE DE DATOS EN ENTITY FRAMEWORK
Actualizar el Modelo.
e.- Para visualizar los procedimientos almacenados importados al
Modelo abrimos el explorador de Modelos seleccionando la opción:
BASE DE DATOS EN ENTITY FRAMEWORK
Actualizar el Modelo.
BASE DE DATOS EN ENTITY FRAMEWORK
Actualizar el Modelo.
f.- Es recomendable, cada vez que actualizamos el Modelo,
recompilar la aplicación, para ello seleccionamos la opción:
BASE DE DATOS EN ENTITY FRAMEWORK
Actualizar el Modelo.
g.- Verificamos que no se muestra errores al recompilar la
aplicación:
BASE DE DATOS EN ENTITY FRAMEWORK
return Convert.ToInt32(idVendedorNuevo.Value.ToString());
}
catch (Exception e)
{
throw;
//MessageBox.Show(e.Message, "Error", MessageBoxButtons.OK,
MessageBoxIcon.Error);
}
}
String apellidoPaterno =
txtApellidoPaterno.Text.Trim();
string apellidoMaterno =
txtApellidoMaterno.Text.Trim();
string dni = txtDni.Text.Trim();
string salario = txtSalario.Text.Trim();
bool activo = chkActivo.Checked;
BASE DE DATOS EN ENTITY FRAMEWORK
txtId.Text = id.ToString();
}
MessageBox.Show("Datos guardados satisfactoriamente", "Ok",
MessageBoxButtons.OK, MessageBoxIcon.Information);
dgvVendedores.DataSource = ObtenerVendedores("");
}
}
BASE DE DATOS EN ENTITY FRAMEWORK
{
dgvVendedores.CurrentRow.Selected = true;
txtId.Text =
dgvVendedores.Rows[e.RowIndex].Cells["Id"].FormattedValue.ToString();
txtNombres.Text =
dgvVendedores.Rows[e.RowIndex].Cells["Nombres"].FormattedValue.ToString();
txtApellidoPaterno.Text =
dgvVendedores.Rows[e.RowIndex].Cells["ApellidoPaterno"].FormattedValue.ToString(
);
Servicios Web
{
bd.SPLATAM_UPD_VENDEDOR(pId, pNombres,
pApellidoPaterno, pApellidoMaterno,
pDni, pSalario, pActivo);
}
}
catch (Exception)
{
throw;
}
}
Servicios Web
//Modificar Vendedor
if (txtId.Text.Trim().Length > 0)
{
id = Convert.ToInt32(txtId.Text);
ActualizarVendedor(id, nombres, apellidoPaterno,
apellidoMaterno,
dni, Convert.ToDecimal(salario), activo);
}
Servicios Web
MessageBox.Show("Datos guardados satisfactoriamente", "Ok",
MessageBoxButtons.OK, MessageBoxIcon.Information);
dgvVendedores.DataSource = ObtenerVendedores("");
}
}
Servicios Web
¿PREGUNTAS?
Gracias