Pop

57.Servicios Web.API REST. MVC .Método Put- Visual Studio 2017

57-.Servicios Web.API REST. MVC - Método Put


  - En este capítulo del curso de programación en c# con visual studio 2017,vamos a continuar con  con nuestro API REST. Recordando la definición de  API REST, podemos decir que  es cualquier interfaz entre sistemas que use HTTP para obtener datos o generar operaciones sobre esos datos en todos los formatos posibles, como XML y JSON. Es una alternativa a otros protocolos estándar de intercambio de datos como SOAP (Simple Object Access Protocol).

- En esta entrada vamos a crearnos un método PUT. Este método lo utilizaremos para modificar datos de usuarios que ya existen en nuestro sistema. La petición a nuestro método nos permitira modificar por ejemplo el nombre de un usuario, mediante una llamada a un procedimiento almacenado que finalmente ejecutara un UPDATE.



  • Como es habitual os dejo el código del ejemplo visto en el video.En primer lugar os dejo el código del nuestro fichero UsuarioController.cs:
    [AcceptVerbs("PUT")]
    public Boolean ModificarUsuario(Usuario u)
    {
        Boolean todoOk = false;

        SqlConnection conexion = new SqlConnection(ConfigurationManager.ConnectionStrings["EmpresaConnectionString"].ConnectionString);

        try
        {
            conexion.Open();
            SqlCommand com = conexion.CreateCommand();
            com.CommandType = System.Data.CommandType.StoredProcedure;
            com.CommandText = "dbo.ModficarUsuario";
            com.Parameters.Add("@nombre", SqlDbType.VarChar, 255).Value = u.Nombre;
            com.Parameters.Add("@email", SqlDbType.VarChar, 255).Value = u.Email;
            com.Parameters.Add("@pass", SqlDbType.VarBinary, 8000).Value = u.Pass;
         
            com.ExecuteNonQuery();
            todoOk = true;
        }
        catch (Exception ex)
        {
            throw new Exception(ex.ToString());
        }
        finally
        {
            if (conexion != null && conexion.State == System.Data.ConnectionState.Open)
                conexion.Close();

            conexion.Dispose();
        }

        return todoOk;
    }

  • En segundo lugar os dejo el procedimiento almacenado que tenemos en la BBDD:

USE [Empresa]
GO
/****** Object:  StoredProcedure [dbo].[ModficarUsuario]    Script Date: 03/04/2018 18:38:35 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER PROCEDURE [dbo].[ModficarUsuario]
    @nombre varchar(255),
    @pass varbinary(MAX),
    @email varchar(255)
   
AS
BEGIN

    SET NOCOUNT ON;

    DECLARE @emailAux varchar(255)
    SELECT  @emailAux=Email FROM Usuarios WITH(NOLOCK) WHERE email= @email

    IF(@emailAux='')
    BEGIN
        RAISERROR('No existe un usuario con este email',16,1);
        RETURN -1
    END

   UPDATE [dbo].[Usuarios] SET Nombre = @nombre, Pass = @pass WHERE email= @email


END

No hay comentarios:

Publicar un comentario

Curso .NET Core en C# - 34.Creamos nuestro propio log

34.Creamos nuestro propio log Hola a todos. En este curso, analizaremos todos los conceptos básicos, intermedios y avanzados de  ASP.NET...