예제 #1
0
        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)));
        }
예제 #2
0
        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));
        }