public async Task <IHttpActionResult> PostVisita(VisitaPOCO visitaParametro) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var visita = visitaParametro.toDb(); db.Visita.Add(visita); foreach (var est in visitaParametro.estudio) { TipoEstudio tipoEstudio = db.TipoEstudio.Find(est.tipoEstudioId); Estudio estudio = new Estudio(); var mesesValidoTipoEstudio = tipoEstudio.periodo_validez.HasValue ? tipoEstudio.periodo_validez.Value : 0; estudio.mascotaId = visitaParametro.mascotaId; estudio.observaciones = est.observaciones; estudio.tipoEstudioId = est.tipoEstudioId; estudio.veterinarioId = visitaParametro.veterinarioId; estudio.fecha_realizacion = DateTime.Now; estudio.fecha_vencimiento = visita.fecha.AddMonths(mesesValidoTipoEstudio); db.Estudio.Add(estudio); } await db.SaveChangesAsync(); return(CreatedAtRoute("DefaultApi", new { id = visita.Id }, new VisitaPOCO(visita))); }
public async Task <IHttpActionResult> PutVisita(int id, VisitaPOCO visitaParametro) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != visitaParametro.Id) { return(BadRequest()); } db.Entry(visitaParametro).State = EntityState.Modified; try { await db.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!VisitaExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }