示例#1
0
 /// <summary>
 /// Modificar un grupo de proveedor. En el cuerpo del mensaje se envía en el formato adecuado el objeto con los datos modificados
 /// </summary>
 /// <param name="id"> Identificador único del grupo </param>
 /// <param name="grupoProveedor">Grupo de poveedor con los valores que se desean en sus atributos</param>
 /// <param name="tk"> Tique de autorización (Ver 'Login')</param>
 /// <returns></returns>
 public virtual GrupoProveedor Put(int id, GrupoProveedor grupoProveedor, string tk)
 {
     using (PortalProContext ctx = new PortalProContext())
     {
         // comprobar el tique
         if (!CntWebApiSeguridad.CheckTicket(tk, ctx))
         {
             throw new HttpResponseException(Request.CreateErrorResponse(HttpStatusCode.Unauthorized, "Se necesita tique de autorización (Grupo de proveedores)"));
         }
         // comprobar los formatos
         if (grupoProveedor == null || id != grupoProveedor.GrupoProveedorId)
         {
             throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.BadRequest));
         }
         // primero buscamos si un grupo con ese id existe
         GrupoProveedor gp = (from g in ctx.GrupoProveedors
                              where g.GrupoProveedorId == id
                              select g).FirstOrDefault<GrupoProveedor>();
         // existe?
         if (gp == null)
         {
             throw new HttpResponseException(Request.CreateErrorResponse(HttpStatusCode.NotFound, "No hay un grupo con el id proporcionado (Grupo de proveedores)"));
         }
         // modificar el objeto
         ctx.AttachCopy<GrupoProveedor>(grupoProveedor);
         ctx.SaveChanges();
         return grupoProveedor;
     }
 }
示例#2
0
 /// <summary>
 /// Crear un nuevo grupo de proveedores
 /// </summary>
 /// <param name="grupoProveedor">Objeto a crear, el atributo GrupoProveedorId lo genera la aplicación y es devuelto en el objeto incluido en la respuesta.</param>
 /// <param name="tk"> Tique de autorzación (se debe obtener con la accion Login)</param>
 /// <returns></returns>
 public virtual GrupoProveedor Post(GrupoProveedor grupoProveedor, string tk)
 {
     using (PortalProContext ctx = new PortalProContext())
     {
         // comprobar el tique
         if (!CntWebApiSeguridad.CheckTicket(tk, ctx))
         {
             throw new HttpResponseException(Request.CreateErrorResponse(HttpStatusCode.Unauthorized, "Se necesita tique de autorización (Grupo de proveedores)"));
         }
         // comprobar las precondiciones
         if (grupoProveedor == null)
         {
             throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.BadRequest));
         }
         // dar de alta el objeto en la base de datos y devolverlo en el mensaje
         ctx.Add(grupoProveedor);
         ctx.SaveChanges();
         return grupoProveedor;
     }
 }