Ejemplo n.º 1
0
        // POST: api/Platos
        public IHttpActionResult Post(tbPlatos pPlato)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            gDB.tbPlatos.Add(pPlato);

            try
            {
                gDB.SaveChanges();
            }
            catch (DbUpdateException)
            {
                if (ExistePlato(pPlato.Id_Plato))
                {
                    return(Conflict());
                }
                else
                {
                    throw;
                }
            }
            return(CreatedAtRoute("DefaultApi", new { id = pPlato.Id_Plato }, pPlato));
        }
Ejemplo n.º 2
0
        // GET: api/ObtenerAlergenos/1
        public IQueryable <tbAlergenos> Get(int pIdPlato)
        {
            tbPlatos           vPlato     = gDB.tbPlatos.Find(pIdPlato);
            List <tbAlergenos> lAlergenos = new List <tbAlergenos>();

            if (vPlato != null)
            {
                lAlergenos = RecuperarAlergenos(vPlato);
            }
            return(lAlergenos.AsQueryable());
        }
Ejemplo n.º 3
0
        //Recorremos las tablas para poder llegar a los alergenos
        private List <tbAlergenos> RecuperarAlergenos(tbPlatos pPlato)
        {
            List <tbAlergenos> lRespAlerg = new List <tbAlergenos>();

            foreach (var vIngXPlato in pPlato.tbIng_Plato)
            {
                foreach (var vAlergXIng in vIngXPlato.tbIngredientes.tbAlerg_Ing)
                {
                    if (!lRespAlerg.Exists(elemento => elemento.id_Alergeno == vAlergXIng.tbAlergenos.id_Alergeno))
                    {
                        lRespAlerg.Add(LimpiarHerencia(vAlergXIng.tbAlergenos));
                    }
                }
            }
            return(lRespAlerg);
        }
 //Funcion que borra la herencia para que la salida sea mas limpia
 private tbPlatos LimpiarHerencia(tbPlatos pPlato)
 {
     pPlato.tbIng_Plato.Clear();
     return(pPlato);
 }