Example #1
0
        //Metodo que devuelve todas las recetas de tipo EN.Receta
        public List <EN.Receta> getRecetas()
        {
            List <EN.Receta> recetas = new List <EN.Receta>();
            var query = db.Recetas.ToList();

            foreach (var item in query)
            {
                EN.Receta       receta_buscada      = new EN.Receta();
                Categorias      categoriaController = new Categorias();
                ImagenesxReceta img          = new ImagenesxReceta();
                Ingredientes    ingredientes = new Ingredientes();
                Usuario         usu          = new Usuario();
                receta_buscada.Id_receta      = item.Id_receta;
                receta_buscada.correo_usu     = usu.getNombreUsuario(item.Id_usuario);
                receta_buscada.Categoria      = categoriaController.getNombreCategoria(item.Id_categoria);
                receta_buscada.Descripcion    = item.Descripcion;
                receta_buscada.PasoApaso      = item.PasoApaso;
                receta_buscada.Idioma         = item.Idiomas;
                receta_buscada.Nombre         = item.Nombre;
                receta_buscada.puntuacion     = item.puntuacion;
                receta_buscada.nopuntucaiones = item.nopuntuaciones;
                receta_buscada.imagenes       = img.getImagenes(item.Id_receta).ToArray();
                receta_buscada.ingrediente    = ingredientes.getIngredientes(item.Id_receta).ToArray();
                recetas.Add(receta_buscada);
            }

            return(recetas);
        }
Example #2
0
        // metodo que devuelve una receta en especifico
        public EN.Receta getReceta(int idReceta)
        {
            EN.Receta recetaADevolver = new EN.Receta();

            var query = db.Recetas.Where(x => x.Id_receta == idReceta).FirstOrDefault();

            if (query.GetType() != null)
            {
                recetaADevolver.Id_receta         = query.Id_receta;
                recetaADevolver.Idioma            = query.Idiomas;
                recetaADevolver.PasoApaso         = query.PasoApaso;
                recetaADevolver.Descripcion       = query.Descripcion;
                recetaADevolver.Nombre            = query.Nombre;
                recetaADevolver.puntuacion        = query.puntuacion;
                recetaADevolver.Categoria         = query.Id_categoria.ToString();
                recetaADevolver.correo_usu        = usuarioController.getNombreUsuario(query.Id_usuario);
                recetaADevolver.Categoria         = categoriasController.getNombreCategoria(query.Id_categoria);
                recetaADevolver.nopuntucaiones    = query.nopuntuaciones;
                recetaADevolver.imagenes          = imagenesController.getImagenes(query.Id_receta).ToArray();
                recetaADevolver.ingrediente       = ingredientesController.getIngredientes(query.Id_receta).ToArray();
                recetaADevolver.tiempoPreparacion = query.tiempoPreparacion;
                recetaADevolver.porciones         = Convert.ToInt32(query.porciones);
                var fechaCorta = query.fechaPublicacion.ToString();
                recetaADevolver.fechaPublicacion = fechaCorta;
                return(recetaADevolver);
            }
            else
            {
                return(null);
            }
        }
Example #3
0
        // metodo que devuelve una receta en especifico
        public EN.Receta getReceta(int idReceta)
        {
            EN.Receta       receta       = new EN.Receta();
            Usuario         usuario      = new Usuario();
            Categorias      categoria    = new Categorias();
            ImagenesxReceta img          = new ImagenesxReceta();
            Ingredientes    ingredientes = new Ingredientes();
            var             query        = db.Recetas.Where(x => x.Id_receta == idReceta).FirstOrDefault();

            receta.Id_receta      = query.Id_receta;
            receta.Idioma         = query.Idiomas;
            receta.PasoApaso      = query.PasoApaso;
            receta.Descripcion    = query.Descripcion;
            receta.Nombre         = query.Nombre;
            receta.puntuacion     = query.puntuacion;
            receta.Categoria      = query.Categoria.Nombre;
            receta.correo_usu     = usuario.getNombreUsuario(query.Id_usuario);
            receta.Categoria      = categoria.getNombreCategoria(query.Id_categoria);
            receta.nopuntucaiones = query.nopuntuaciones;
            receta.imagenes       = img.getImagenes(query.Id_receta).ToArray();
            receta.ingrediente    = ingredientes.getIngredientes(query.Id_receta).ToArray();


            return(receta);
        }
Example #4
0
        //Metodo para crear una receta que recibe una EN.Receta
        public bool CrearReceta(EN.Receta recetas)
        {
            bool resultado = false;

            BR.Receta temp = new BR.Receta();
            try
            {
                BR.Receta       rec          = new BR.Receta();
                Usuario         temp1        = new Usuario();
                Categorias      cat          = new Categorias();
                ImagenesxReceta imagenes     = new ImagenesxReceta();
                Ingredientes    ingredientes = new Ingredientes();
                rec.Id_usuario     = temp1.getIdUsuario(recetas.correo_usu);
                rec.Descripcion    = recetas.Descripcion;
                rec.PasoApaso      = recetas.PasoApaso;
                rec.Idiomas        = recetas.Idioma;
                rec.Nombre         = recetas.Nombre;
                rec.puntuacion     = 0;
                rec.nopuntuaciones = 0;
                rec.Id_categoria   = cat.getIdCategoria(recetas.Categoria);
                db.Recetas.Add(rec);
                db.SaveChanges();//hasta aqui va bien
                BR.Receta tempReceta = db.Recetas.ToList().Last();
                recetas.Id_receta = tempReceta.Id_receta;
                imagenes.ingresarImagenesReceta(recetas);
                ingredientes.ingresarIngrediente(recetas);

                resultado = true;
            }
            catch (Exception)
            {
                throw;
            }
            return(resultado);
        }
Example #5
0
        // guarda en la bd la receta
        public bool Post(EN.Receta recetaTosave)
        {
            CT.Receta recetaController = new CT.Receta();

            recetaController.CrearRecetaAsync(recetaTosave);

            return(true);
        }
        //Metodo para ingresar el array de imagenes a la receta
        public void ingresarImagenesReceta(EN.Receta receta)
        {
            BR.imagenesxReceta imgReceta = new BR.imagenesxReceta();
            imgReceta.Id_receta = receta.Id_receta;

            foreach (var otherReceta in receta.imagenes)
            {
                imgReceta.img = otherReceta;
                db.imagenesxRecetas.Add(imgReceta);
                db.SaveChanges();
            }
        }
Example #7
0
        //Metodo para actualizar una receta
        public bool ActualizarReceta(int id, EN.Receta otherReceta)
        {
            bool resultado = false;



            try
            {
                Categorias      categoriasController   = new Categorias();
                ImagenesxReceta imagenesController     = new ImagenesxReceta();
                Ingredientes    ingredientesController = new Ingredientes();

                //Query de la receta a actualizar
                BR.Recetas rec = db.Recetas.Where(x => x.Id_receta == id).FirstOrDefault();
                //Se actualizan los campos
                rec.Descripcion       = otherReceta.Descripcion;
                rec.PasoApaso         = otherReceta.PasoApaso;
                rec.Idiomas           = otherReceta.Idioma;
                rec.Nombre            = otherReceta.Nombre;
                rec.puntuacion        = otherReceta.puntuacion;
                rec.nopuntuaciones    = otherReceta.nopuntucaiones;
                rec.Id_categoria      = categoriasController.getIdCategoria(otherReceta.Categoria);
                rec.fechaPublicacion  = DateTime.Today;
                rec.tiempoPreparacion = otherReceta.tiempoPreparacion;
                rec.porciones         = otherReceta.porciones;

                db.SaveChanges();

                //Falta verificar como es la actualizacion de los ingredientes

                if (otherReceta.imagenes.Length > 0)
                {
                    imagenesController.ingresarImagenesReceta(otherReceta.imagenes, otherReceta.Id_receta);
                }
                if (otherReceta.ingrediente.Length > 0)
                {
                    ingredientesController.ingresarIngrediente(otherReceta);
                }


                resultado = true;
            }
            catch (Exception)
            {
                throw;
            }
            return(resultado);
        }
Example #8
0
        public void ingresarIngrediente(EN.Receta receta)
        {
            for (int i = 0; i < receta.ingrediente.Length; i++)
            {
                BR.Ingrediente         ingrediente        = new BR.Ingrediente();
                BR.recetasxIngrediente recetaXIngrediente = new BR.recetasxIngrediente();
                // primero se aƱade el ingrediente
                ingrediente.nombre = receta.ingrediente[i].ingrediente;
                db.Ingredientes.Add(ingrediente);
                db.SaveChanges();

                // se agrega a la tabla el recexingredientes el id del ultimo ingrediente que se agrego y el id de la receta
                recetaXIngrediente.Id_ingredientes = db.Ingredientes.ToList().Last().Id_ingrediente;
                recetaXIngrediente.Id_receta       = receta.Id_receta;
                recetaXIngrediente.cantidad        = receta.ingrediente[i].cantidad;
                db.recetasxIngredientes.Add(recetaXIngrediente);
                db.SaveChanges();
            }
        }
Example #9
0
        //Metodo para crear una receta que recibe una EN.Receta
        public bool CrearRecetaAsync(EN.Receta recetaTSave)
        {
            bool resultado = false;

            try
            {
                BrokerReceta.estaReportada     = 0;
                BrokerReceta.Descripcion       = recetaTSave.Descripcion;
                BrokerReceta.fechaPublicacion  = DateTime.Today;
                BrokerReceta.Idiomas           = recetaTSave.Idioma;
                BrokerReceta.Id_categoria      = categoriasController.getIdCategoria(recetaTSave.Categoria);
                BrokerReceta.Id_usuario        = usuarioController.getIdUsuario(recetaTSave.correo_usu);
                BrokerReceta.Nombre            = recetaTSave.Nombre;
                BrokerReceta.nopuntuaciones    = 0;
                BrokerReceta.puntuacion        = 0;
                BrokerReceta.PasoApaso         = recetaTSave.PasoApaso;
                BrokerReceta.porciones         = recetaTSave.porciones;
                BrokerReceta.tiempoPreparacion = recetaTSave.tiempoPreparacion;
                db.Recetas.Add(BrokerReceta);
                db.SaveChanges();


                //Guardar el path de las imagenes
                //BR.Recetas tempReceta = db.Recetas.OrderByDescending(x=>x.Id_receta).FirstOrDefault();
                recetaTSave.Id_receta = BrokerReceta.Id_receta;
                imagenesController.ingresarImagenesReceta(recetaTSave.imagenes, BrokerReceta.Id_receta);
                //Guardar los ingredientes
                ingredientesController.ingresarIngrediente(recetaTSave);
                resultado = true;
            }
            catch (Exception ex) {
                throw ex;
            }

            return(resultado);
        }
Example #10
0
 // PUT api/<controller>/5
 public void Put(EN.Receta recetaEditada)
 {
     CT.Receta recetasController = new CT.Receta();
     recetasController.ActualizarReceta(recetaEditada.Id_receta, recetaEditada);
 }
Example #11
0
 // guarda en la bd la receta
 public void Post(EN.Receta receta)
 {
     Console.WriteLine(receta.Idioma);
     CT.Receta nuevaReceta = new CT.Receta();
     nuevaReceta.CrearReceta(receta);
 }