// GET: Receta public ActionResult Index() { SessionInitialize(); IList <RecetaEN> listRecetaEn = new RecetaCAD(session).ReadAllDefault(0, -1); IEnumerable <Receta> recetas = new AssemblerReceta().ConvertListENToModel(listRecetaEn); SessionClose(); return(View(recetas)); }
public bool banearCP(int p_oid, int p_usuario) { //IPedidoCAD _IPedidoCAD = null; //PedidoCEN pedidoCEN = null; //ArticuloCP articuloCP = null; int oid = -1; bool devuelve = false; RecetaCEN recetaCEN = null; UsuarioCEN usuarioCEN = null; try { SessionInitializeTransaction(); RecetaCAD recetaCAD = new RecetaCAD(session); recetaCEN = new RecetaCEN(recetaCAD); UsuarioCAD usuarioCAD = new UsuarioCAD(session); usuarioCEN = new UsuarioCEN(usuarioCAD); RecetaEN recetaEN = new RecetaEN(); recetaEN = recetaCAD.ReadOIDDefault(p_oid); UsuarioEN usuarioEN = new UsuarioEN(); usuarioEN = usuarioCAD.ReadOIDDefault(p_usuario); recetaEN.Usuario = usuarioEN; System.Console.WriteLine("\n Entro aqui1 \n"); if (recetaEN.Estado.Equals(EstadosEnum.publicado)) { System.Console.WriteLine("\n Entro aqui2\n"); recetaEN.Estado = EstadosEnum.baneado; devuelve = true; } else if (recetaEN.Estado.Equals(EstadosEnum.baneado)) { System.Console.WriteLine("\n Entro aqui3\n"); recetaEN.Estado = EstadosEnum.publicado; devuelve = true; } System.Console.WriteLine("\n Entro aqui4 \n"); recetaCAD.Modify(recetaEN); SessionCommit(); } catch (Exception ex) { SessionRollBack(); throw ex; } finally { SessionClose(); } return(devuelve); }
public void GuardarFavorito(int p_oid, int p_receta) { /*PROTECTED REGION ID(EnMiNeveraGenNHibernate.CEN.EnMiNevera_Usuario_guardarFavorito) ENABLED START*/ // Write here your custom code... /* * UsuarioEN usuarioEN = _IUsuarioCAD.ReadOIDDefault (p_oid); * RecetaEN favorito = new RecetaEN (); * * //favorito = _IRecetaCAD.ReadOIDDefault(p_receta); * * if (!usuarioEN.Favoritos.Contains (favorito)) * usuarioEN.Favoritos.Add (favorito); * else * usuarioEN.Favoritos.Remove (favorito); */ using (ISession session = NHibernateHelper.OpenSession()) { using (var transaction = session.BeginTransaction()) { UsuarioEN usuarioEn = new UsuarioCAD(session).ReadOIDDefault(p_oid); RecetaEN recetaEn = new RecetaCAD(session).ReadOIDDefault(p_receta); if (!usuarioEn.Favoritos.Contains(recetaEn)) { usuarioEn.Favoritos.Add(recetaEn); recetaEn.UsuariosFavorito.Add(usuarioEn); } else { recetaEn.UsuariosFavorito.Remove(usuarioEn); usuarioEn.Favoritos.Remove(recetaEn); } transaction.Commit(); } } //throw new NotImplementedException ("Method GuardarFavorito() not yet implemented."); /*PROTECTED REGION END*/ }
public bool cambiarNumPasos(int p_oid, int p_num_paso_old, int p_num_paso_new, int p_receta, int p_usuario) { bool devuelve = false; RecetaCEN recetaCEN = null; PasosCEN pasosCEN = null; UsuarioCEN usuarioCEN = null; try { SessionInitializeTransaction(); RecetaCAD recetaCAD = new RecetaCAD(session); recetaCEN = new RecetaCEN(recetaCAD); UsuarioCAD usuarioCAD = new UsuarioCAD(session); usuarioCEN = new UsuarioCEN(usuarioCAD); PasosCAD pasosCAD = new PasosCAD(session); pasosCEN = new PasosCEN(pasosCAD); PasosEN pasosEN = new PasosEN(); pasosEN = pasosCAD.ReadOIDDefault(p_oid); RecetaEN recetaEN = new RecetaEN(); recetaEN = recetaCAD.ReadOIDDefault(p_receta); UsuarioEN usuarioEN = new UsuarioEN(); usuarioEN = usuarioCAD.ReadOIDDefault(p_usuario); recetaEN.Usuario = usuarioEN; pasosEN.Receta = recetaEN; System.Console.WriteLine("\n Entro aqui1 \n"); if (pasosEN.NumeroPaso != p_num_paso_new) { pasosEN.NumeroPaso = p_num_paso_new; pasosCAD.Modify(pasosEN); } SessionCommit(); } catch (Exception ex) { SessionRollBack(); throw ex; } finally { SessionClose(); } return(devuelve); }
public bool guardarFavorito(int p_oid, int p_receta) { bool devuelve = false; UsuarioCEN usuarioCEN = null; RecetaCEN recetaCEN = null; try { SessionInitializeTransaction(); UsuarioCAD usuarioCAD = new UsuarioCAD(session); usuarioCEN = new UsuarioCEN(usuarioCAD); UsuarioEN usuarioEN = new UsuarioEN(); usuarioEN = usuarioCAD.ReadOIDDefault(p_oid); RecetaCAD recetaCAD = new RecetaCAD(session); recetaCEN = new RecetaCEN(recetaCAD); RecetaEN recetaEN = new RecetaEN(); recetaEN = recetaCAD.ReadOIDDefault(p_oid); if (!usuarioEN.Favoritos.Contains(recetaEN)) { usuarioEN.Favoritos.Add(recetaEN); devuelve = true; } else { usuarioEN.Favoritos.Remove(recetaEN); } SessionCommit(); } catch (Exception ex) { SessionRollBack(); throw ex; } finally { SessionClose(); } return(devuelve); }
// GET: Receta/Ver/5 public ActionResult Ver(int id) { SessionInitialize(); RecetaEN en = new RecetaCAD(session).ReadOIDDefault(id); Receta receta = new AssemblerReceta().ConvertENToModelUI(en); // Aunque parezca una tontería, con esto consigo la persistencia de los datos //foreach (LineaIngredienteEN lin in receta.LineasIngrediente) //{ // lin.Ingrediente.Id = lin.Ingrediente.Id; // lin.Ingrediente.Nombre = lin.Ingrediente.Nombre; //} //foreach(ComentarioEN com in receta.Comentarios) //{ // com.Usuario.Id = com.Usuario.Id; // com.Usuario.Nick = com.Usuario.Nick; //} if (User.Identity.IsAuthenticated) { UsuarioEN usuarioEn = new UsuarioCAD(session).GetByNick(User.Identity.Name); if (en.UsuariosFavorito.Contains(usuarioEn)) { ViewData["esFavorito"] = "si"; } else { ViewData["esFavorito"] = "no"; } // Obtengo listas de la compra del usuario actual ViewData["ListasCompra"] = usuarioEn.ListasCompra.ToList(); } SessionClose(); return(View(receta)); }
public ActionResult BuscaPorIngrediente(string[] ingredientes) { SessionInitialize(); // Buscamos ingrediente a ingrediente IList <int> idsIngredientes = new List <int>(); IngredienteCAD ingredienteCad = new IngredienteCAD(session); IngredienteEN ingredienteEn = null; foreach (string ing in ingredientes) { // Solo si existe, añado a la lista. Solo buscamos por ingredientes que existen ingredienteEn = ingredienteCad.GetPorNombre(ing.ToLower()); if (ingredienteEn != null) { idsIngredientes.Add(ingredienteEn.Id); } } IList <Receta> list = null; if (idsIngredientes.Count() > 0) { RecetaCAD cad = new RecetaCAD(session); RecetaCEN cen = new RecetaCEN(cad); IList <RecetaEN> listEn = cen.BuscarPorIngrediente(idsIngredientes); list = new AssemblerReceta().ConvertListENToModel(listEn); } else { list = new List <Receta>(); } SessionClose(); ViewData["ingredientes"] = ingredientes; return(View(list)); }
// GET: Receta/Ultimas public ActionResult Ultimas(string search) { SessionInitialize(); RecetaCAD recCAD = new RecetaCAD(session); RecetaCEN cen = new RecetaCEN(recCAD); IList <RecetaEN> listRecetaEN; IEnumerable <Receta> list; if (!String.IsNullOrEmpty(search)) { listRecetaEN = cen.Buscar(search); list = new AssemblerReceta().ConvertListENToModel(listRecetaEN).ToList(); } else { listRecetaEN = cen.VerUltimasRecetas(); list = new AssemblerReceta().ConvertListENToModel(listRecetaEN).ToList(); } SessionClose(); return(View(list)); }
//public ActionResult Crear(Receta rec, HttpPostedFileBase file, FormCollection datos) public ActionResult Crear(Receta rec, HttpPostedFileBase file, int[] canIngrediente, UnidadesEnum[] uniIngrediente, string[] nomIngrediente, int[] numPaso, string[] desPaso) { string imagesDir = "Images/Uploads"; string fileName = "", path = ""; // Verify that the user selected a file if (file != null && file.ContentLength > 0) { // extract only the fielname fileName = Path.GetFileName(file.FileName); // store the file inside ~/App_Data/uploads folder path = Path.Combine(Server.MapPath("~/" + imagesDir), fileName); //string pathDef = path.Replace(@"\\", @"\"); file.SaveAs(path); } try { fileName = "/" + imagesDir + "/" + fileName; // Parametros por defecto rec.FechaCreacion = DateTime.Now; rec.Estado = EnMiNeveraGenNHibernate.Enumerated.EnMiNevera.EstadosEnum.publicado; rec.Foto = fileName; // Obtenemos los pasos IList <Paso> pasos = new List <Paso>(); Paso paso = null; for (int i = 0; i < numPaso.Count(); i++) { paso = new Paso(); paso.NumeroPaso = numPaso[i]; paso.Descripcion = desPaso[i]; pasos.Add(paso); } // Obtenemos las lineas de ingrediente IList <LineaIngrediente> lineasIng = new List <LineaIngrediente>(); LineaIngrediente lin = null; for (int i = 0; i < canIngrediente.Count(); i++) { lin = new LineaIngrediente(); lin.Cantidad = canIngrediente[i]; lin.NombreIngrediente = nomIngrediente[i]; lin.Unidad = uniIngrediente[i]; lineasIng.Add(lin); } SessionInitialize(); using (var transaction = session.BeginTransaction()) { // Obtengo el id del usuario int idUsuario = new UsuarioCAD(session).GetByNick(User.Identity.Name).Id; RecetaCAD cad = new RecetaCAD(session); RecetaCEN cen = new RecetaCEN(cad); int idReceta = cen.New_(rec.Nombre, rec.Descripcion, rec.Foto, idUsuario, rec.FechaCreacion, rec.Estado); // Creamos los pasos PasosCAD pasosCad = new PasosCAD(session); PasosCEN pasosCen = new PasosCEN(pasosCad); foreach (Paso p in pasos) { pasosCen.New_(p.Descripcion, idReceta, p.NumeroPaso); } // Creamos las lineas de ingrediente LineaIngredienteCAD lineaIngredienteCad = new LineaIngredienteCAD(session); LineaIngredienteCEN lineaIngredienteCen = new LineaIngredienteCEN(lineaIngredienteCad); IngredienteCAD ingredienteCad = new IngredienteCAD(session); IngredienteEN ingredienteEn; foreach (LineaIngrediente l in lineasIng) { // por cada linea, si no existe el ingrediente, lo creamos ingredienteEn = ingredienteCad.GetPorNombre(l.NombreIngrediente); if (ingredienteEn == null) { ingredienteEn = new IngredienteEN(); ingredienteEn.Nombre = l.NombreIngrediente; ingredienteEn.Id = ingredienteCad.New_(ingredienteEn); } lineaIngredienteCen.New_(l.Cantidad, l.Unidad, ingredienteEn.Id, idReceta); } transaction.Commit(); } SessionClose(); //RecetaCEN cen = new RecetaCEN(); //// Obtengo el id del usuario //int idUsuario = new UsuarioCAD().GetByNick(User.Identity.Name).Id; //rec.FechaCreacion = DateTime.Now; //rec.Estado = EnMiNeveraGenNHibernate.Enumerated.EnMiNevera.EstadosEnum.publicado; //cen.New_(rec.Nombre, rec.Descripcion, fileName, idUsuario, rec.FechaCreacion, rec.Estado); return(RedirectToAction("Index")); } catch { return(View()); } }