예제 #1
0
        public void reportarReceta(int idReceta)
        {
            BR.Recetas reportarReceta = db.Recetas.Where(x => x.Id_receta == idReceta).FirstOrDefault();

            reportarReceta.estaReportada += 1;

            db.SaveChanges();
        }
예제 #2
0
 //Metodo constructor
 public Receta()
 {
     db = new BR.SocialCookingEntities();
     usuarioController      = new Usuario();
     categoriasController   = new Categorias();
     imagenesController     = new ImagenesxReceta();
     ingredientesController = new Ingredientes();
     BrokerReceta           = new BR.Recetas();
 }
예제 #3
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);
        }
예제 #4
0
        public void calificarReceta(int idReceta, int puntaje)
        {
            BR.Recetas recetaPuntuada = db.Recetas.Where(x => x.Id_receta == idReceta).FirstOrDefault();
            recetaPuntuada.nopuntuaciones += 1;
            var puntucacionActual = recetaPuntuada.puntuacion + puntaje;

            if (recetaPuntuada.nopuntuaciones == 1)
            {
                recetaPuntuada.puntuacion = puntucacionActual / recetaPuntuada.nopuntuaciones;
            }
            else
            {
                recetaPuntuada.puntuacion = puntucacionActual / 2;
            }



            db.SaveChanges();
        }
예제 #5
0
        public int deleteReceta(int IdReceta)
        {
            ///Receta a elminar
            BR.Recetas query = db.Recetas.Where(x => x.Id_receta == IdReceta).FirstOrDefault();
            List <BR.imagenesxReceta>      imagenes            = db.imagenesxReceta.Where(x => x.Id_receta == IdReceta).ToList();
            List <BR.recetasxIngredientes> ingredientesxReceta = db.recetasxIngredientes.Where(x => x.Id_receta == IdReceta).ToList();

            if (query != null)
            {
                //Eliminar ingredientes
                foreach (BR.recetasxIngredientes item in ingredientesxReceta)
                {
                    BR.Ingredientes ingrediente = db.Ingredientes.Where(x => x.Id_ingrediente == item.Id_ingredientes).FirstOrDefault();
                    db.Ingredientes.Remove(ingrediente);
                    db.recetasxIngredientes.Remove(item);
                    db.SaveChanges();
                }
                //Eliminar imagenes
                foreach (BR.imagenesxReceta item in imagenes)
                {
                    db.imagenesxReceta.Remove(item);
                    db.SaveChanges();
                }

                //Eliminar comentarios

                //Eliminar receta
                db.Recetas.Remove(query);
                db.SaveChanges();
                return(1);
            }
            else
            {
                return(0);
            }
        }