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