public IHttpActionResult PutTrabajo(int id, Trabajo trabajo) { if (!ModelState.IsValid) { return BadRequest(ModelState); } if (id != trabajo.Id) { return BadRequest(); } db.Entry(trabajo).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!TrabajoExists(id)) { return NotFound(); } else { throw; } } return StatusCode(HttpStatusCode.NoContent); }
public IHttpActionResult PostTrabajo(Trabajo trabajo) { if (!ModelState.IsValid) { return BadRequest(ModelState); } db.Trabajos.Add(trabajo); db.SaveChanges(); return CreatedAtRoute("DefaultApi", new { id = trabajo.Id }, trabajo); }
public IHttpActionResult PutTrabajo(int id, Trabajo trabajo, ICollection<Insumo> listAddInsumo, ICollection<Insumo> listDelInsumo) { if (!ModelState.IsValid) { return BadRequest(ModelState); } //para eliminar los insumos debo hacer un foreach removiendo los insumos de una lista //trabajo.Insumos.Remove(); //para agregar un nuevo insumo debo hacer un foreach haciendo un add if (id != trabajo.Id) { return BadRequest(); } db.Entry(trabajo).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!TrabajoExists(id)) { return NotFound(); } else { throw; } } return StatusCode(HttpStatusCode.NoContent); }
// POST: api/Insumos //[ResponseType(typeof(Insumo))] //public IHttpActionResult PostInsumo(Insumo insumo) public IHttpActionResult PostInsumo(Trabajo trabajo) { if (!ModelState.IsValid) { return BadRequest(); } try { //cargo un objeto trabajo con todos los datos //Trabajo trabajo = new Trabajo(); //trabajo = prmTrabajo; trabajo.TipoTrabajo = db.TipoTrabajos.Find(1); //foreach (var item in prmTrabajo.Insumos) //{ // Insumo insumo = new Insumo(); // insumo.Nombre = item.Nombre; // insumo.UMedida = item.UMedida; // insumo.PrecioCompra = item.PrecioCompra; // insumo.PrecioVenta = item.PrecioVenta; // insumo.CantStock = item.CantStock; // insumo.PtoRepo = item.PtoRepo; // trabajo.Insumos.Add(insumo); //} db.Trabajos.Add(trabajo); db.SaveChanges(); return Ok(); } catch (Exception ex) { ex.Message.ToString(); return BadRequest(); } }
// POST: api/Trabajos //[ResponseType(typeof(Trabajo))] public IHttpActionResult PostTrabajo(parametrosTrabajo paramTrabajo) { if (!ModelState.IsValid) { return BadRequest(); } try { Trabajo trabajo = new Trabajo(); trabajo.Nombre = paramTrabajo.trabajo.Nombre; //iafar: esto es temporal para cargar el tipo trabajo 1 siempre, despues habra que cargar //segun el id var auxTipoTrab = db.TipoTrabajos.Find(1); trabajo.TipoTrabajo = auxTipoTrab; db.Trabajos.Add(trabajo); foreach (var insumo in paramTrabajo.listInsumo) { //Insumo ins = new Insumo(); var auxInsumo = db.Insumos.Find(insumo.Id); auxInsumo.Trabajos.Add(trabajo); // el hashSet esta en el modelo de insumos, x eso la relacion es al reves //trabajo.Insumos.Add(auxInsumo);//esto solo seria si el hashSet esuviera en el modelo de trabajo } db.SaveChanges(); return Ok(); } catch (Exception ex) { ex.Message.ToString(); return BadRequest(); } }