public ActionResult Create(Comentario comentario, int idReceta) { // Obtenemos usuario actual UsuarioEN usuarioEn = new UsuarioCAD().GetByNick(User.Identity.Name); comentario.Fecha = DateTime.Now; int id = new ComentarioCEN().New_(usuarioEn.Id, idReceta, comentario.ComentarioTexto, comentario.Fecha); return RedirectToAction("ver", "receta", new { id = idReceta }); }
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 bool dejarSeguir(String p_oid, String p_usuario) { bool devuelve = false; bool encontrado = false; UsuarioCEN usuarioCEN = null; try { SessionInitializeTransaction(); UsuarioCAD usuarioCAD = new UsuarioCAD(session); usuarioCEN = new UsuarioCEN(usuarioCAD); UsuarioEN usuarioEN = new UsuarioEN(); UsuarioEN usuarioASeguirEN = new UsuarioEN(); usuarioEN = usuarioCAD.ReadOIDDefault(p_oid); usuarioASeguirEN = usuarioCAD.ReadOIDDefault(p_usuario); IList<UsuarioEN> listaSeguidos = usuarioEN.Seguidos; if (listaSeguidos != null) { foreach (UsuarioEN entry in listaSeguidos) { if (entry.Id.Equals(p_usuario)) { encontrado = true; } } } if (encontrado == true) { listaSeguidos.Remove(usuarioASeguirEN); devuelve = true; } SessionCommit(); } catch (Exception ex) { SessionRollBack(); throw ex; } finally { SessionClose(); } return devuelve; }
public bool cambiarNumPasos(int p_oid, int p_num_paso_old, int p_num_paso_new, int p_receta, String 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 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*/ }
// GET: Actividad/Ver public ActionResult Ver(int id) { SessionInitialize(); UsuarioEN usuEN = new UsuarioCAD(session).ReadOIDDefault(id); IList<UsuarioEN> listSeguidosEn = usuEN.Seguidos; IList<String> seguidosDeSeguidos = new List<String>(); IList<UsuarioEN> seguidos = new List<UsuarioEN>(); foreach (UsuarioEN usu in listSeguidosEn) { seguidos.Add(usu); foreach (UsuarioEN usuSeguidos in usu.Seguidos) { seguidosDeSeguidos.Add(usuSeguidos.Nick); } } //IEnumerable<Usuario> usuActividad = new AssemblerUsuario().ConvertListENToModel(seguidosDeSeguidos).ToList(); IEnumerable<Usuario> usuDeQuien = new AssemblerUsuario().ConvertListENToModel(listSeguidosEn).ToList(); SessionClose(); return View(Tuple.Create(usuDeQuien, seguidosDeSeguidos)); }
public bool seguir(String p_oid, String p_usuario_a_seguir) { bool devuelve = false; bool encontrado = false; UsuarioCEN usuarioCEN = null; int cont = 0; try { SessionInitializeTransaction(); UsuarioCAD usuarioCAD = new UsuarioCAD(session); usuarioCEN = new UsuarioCEN(usuarioCAD); UsuarioEN usuarioEN = new UsuarioEN(); UsuarioEN usuarioASeguirEN = new UsuarioEN(); usuarioEN = usuarioCAD.ReadOIDDefault(p_oid); usuarioASeguirEN = usuarioCAD.ReadOIDDefault(p_usuario_a_seguir); IList<UsuarioEN> listaSeguidos = usuarioEN.Seguidos; if (listaSeguidos != null) { foreach (UsuarioEN entry in listaSeguidos) { if (!entry.Id.Equals(p_usuario_a_seguir)) { encontrado = true; } cont++; } } if (encontrado == true) { listaSeguidos.Add(usuarioASeguirEN); devuelve = true; } //Si al principio no tiene ningun seguidor y su lista esta vacia entra aquí y lo guarda if (cont == 0) { listaSeguidos.Add(usuarioASeguirEN); devuelve = true; } SessionCommit(); } catch (Exception ex) { SessionRollBack(); throw ex; } finally { SessionClose(); } return devuelve; }
public bool guardarFavorito(String p_oid, String 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; }
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(); } }
// 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 Favorito(int id) { SessionInitialize(); UsuarioCAD usuarioCad = new UsuarioCAD(session); UsuarioEN usuarioEn = usuarioCad.GetByNick(User.Identity.Name); new UsuarioCEN(usuarioCad).GuardarFavorito(usuarioEn.Id, id); SessionClose(); return RedirectToAction("ver", new { id = id }); }
public ActionResult Login(LoginModel model, string returnUrl) { //if (ModelState.IsValid && WebSecurity.Login(model.Nick, model.Password, persistCookie: model.RememberMe)) if (ModelState.IsValid) { UsuarioCEN cen = new UsuarioCEN(); int id = cen.Login(model.Nick, model.Nick, model.Password); if (id != -1) { // Obtengo el nick, para trabajar con él, ya que puede haber logueado con nick o email // Siempre vamos a trabajar con el nick UsuarioEN en = new UsuarioCAD().ReadOIDDefault(id); model.Nick = en.Nick; if(! WebSecurity.Login(model.Nick, model.Password, persistCookie: model.RememberMe)) { WebSecurity.CreateUserAndAccount(model.Nick, model.Password); WebSecurity.Login(model.Nick, model.Password, persistCookie: model.RememberMe); } return RedirectToLocal(returnUrl); } } // Si llegamos a este punto, es que se ha producido un error y volvemos a mostrar el formulario ModelState.AddModelError("", "El nombre de usuario o la contraseña especificados son incorrectos."); return View(model); }
public ActionResult seguir(int id) { SessionInitialize(); UsuarioCAD usuarioCad = new UsuarioCAD(session); UsuarioEN usuarioEn = usuarioCad.GetByNick(User.Identity.Name); new UsuarioCEN(usuarioCad).Seguir(usuarioEn.Id, id); SessionClose(); return RedirectToAction("perfil", new { id = id }); }
public ActionResult Perfil(int id = -1) { SessionInitialize(); //int id = 1; // TODO poner el id a currentUser //int id = WebSecurity.GetUserId(User.Identity.Name); //UsuarioEN en = new UsuarioCAD(session).ReadOIDDefault(id); UsuarioEN en = null; UsuarioEN usuarioActualEn = new UsuarioCAD(session).GetByNick(User.Identity.Name); if(id==-1) { en = usuarioActualEn; } else { en = new UsuarioCAD(session).ReadOIDDefault(id); } ViewData["usuarioActual"] = (en.Nick == User.Identity.Name); ViewData["siguiendo"] = (usuarioActualEn.Seguidos.Contains(en)); Usuario usuario = new AssemblerUsuario().ConvertENToModelUI(en); ViewData["numSeguidos"] = usuario.Seguidos.Count(); ViewData["numSeguidores"] = usuario.Seguidores.Count(); SessionClose(); return View(usuario); }
public ActionResult Create(ListaCompra listaCompra) { try { // Obtenemos usuario actual UsuarioEN usuarioEn = new UsuarioCAD().GetByNick(User.Identity.Name); listaCompra.Fecha = DateTime.Now; int id = new ListaCompraCEN().New_(listaCompra.Nombre, listaCompra.Fecha, usuarioEn.Id); return RedirectToAction("Index", new { id = id }); } catch { return View(); } }
public ActionResult Index(int id = -1) { SessionInitialize(); UsuarioEN usuarioEn = new UsuarioCAD(session).GetByNick(User.Identity.Name); IList<ListaCompra> listListaCompra = new AssemblerListaCompra().ConvertListENToModel(usuarioEn.ListasCompra).ToList(); // Hago persistentes los datos foreach(ListaCompra l in listListaCompra) foreach (LineaListaCompraEN lin in l.LineasListaCompra) { lin.Ingrediente.Id = lin.Ingrediente.Id; lin.Ingrediente.Nombre = lin.Ingrediente.Nombre; } SessionClose(); if(listListaCompra.Count == 0) ViewData["idListaActiva"] = -1; else if (id == -1) ViewData["idListaActiva"] = listListaCompra.First().Id; else ViewData["idListaActiva"] = id; var tuple = new Tuple<IList<ListaCompra>, LineaListaCompra>(listListaCompra, new LineaListaCompra()); return View(tuple); }