/// <summary> /// Crear un nuevo plantilla de proveedores /// </summary> /// <param name="plantilla">Objeto a crear, el atributo PlantillaId 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 Plantilla Post(Plantilla plantilla, 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 (Plantillas)")); } // comprobar las precondiciones if (plantilla == 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(plantilla); ctx.SaveChanges(); return plantilla; } }
/// <summary> /// Modificar un plantilla 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 de la plantilla </param> /// <param name="plantilla">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 Plantilla Put(int id, Plantilla plantilla, 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 (Plantillas)")); } // comprobar los formatos if (plantilla == null || id != plantilla.PlantillaId) { throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.BadRequest)); } // primero buscamos si un plantilla con ese id existe Plantilla pl = (from p in ctx.Plantillas where p.PlantillaId == id select p).FirstOrDefault<Plantilla>(); // existe? if (pl == null) { throw new HttpResponseException(Request.CreateErrorResponse(HttpStatusCode.NotFound, "No hay un plantilla con el id proporcionado (Plantillas)")); } // modificar el objeto ctx.AttachCopy<Plantilla>(plantilla); ctx.SaveChanges(); return plantilla; } }