public ActionResult ExpulsarMiembro(string id, FormCollection collection) { try { GrupoCEN grupo = new GrupoCEN(); NotificacionCEN notificacion = new NotificacionCEN(); GrupoEN grupoEN = grupo.ReadOID(id); grupo.SacarUsuario(p_Grupo_OID: id, p_miembros_OIDs: new List <string>() { collection["Usuario"] }); string descripcion = "Expulsado del grupo" + grupoEN.Nombre; if (!string.IsNullOrEmpty(collection["Descripcion"])) { descripcion += collection["Descripcion"]; } notificacion.New_(p_descripcion: descripcion, p_usuario: collection["Usuario"]); return(RedirectToAction("Details", new { id = id })); } catch { ViewBag.Error = true; return(View()); } }
public ActionResult UnirseAGrupo(string id, string idGrup) { try { SessionInitialize(); GrupoCEN grupoCEN = new GrupoCEN(); GrupoEN grupo = grupoCEN.ReadOID(idGrup); bool une = true; IList <UsuarioEN> miembros = new UsuarioCEN().DameUsuarioPorGrupo(idGrup); foreach (UsuarioEN u in miembros) { if (String.Compare(id, u.Email) == 0) { une = false; } } if (une) { grupoCEN.MeterUsuario(p_Grupo_OID: idGrup, p_miembros_OIDs: new List <string>() { id }); } SessionClose(); return(RedirectToAction("Details", new { id = idGrup })); } catch { return(RedirectToAction("Details", new { id = idGrup })); } }
public ActionResult Edit(string id, FormCollection collection, HttpPostedFileBase file) { try { // TODO: Add update logic here GrupoCEN gru = new GrupoCEN(); GrupoEN grupoEN = gru.ReadOID(id); string fileName = grupoEN.Imagen; if (file != null && file.ContentLength > 0) { fileName = file.FileName; string path = ""; // extract only the fielname fileName = User.Identity.GetUserName() + Path.GetFileName(file.FileName); // store the file inside ~/App_Data/uploads folder path = Path.Combine(Server.MapPath("~/Images/Uploads"), fileName); //string pathDef = path.Replace(@"\\", @"\"); file.SaveAs(path); fileName = "/Images/Uploads/" + fileName; } bool acepta = grupoEN.AceptaMiembros; if (!string.IsNullOrEmpty(collection["AceptaMiembros"])) { string[] check = collection["AceptaMiembros"].Split(','); bool checkB = Convert.ToBoolean(check[0]); acepta = checkB; } string descripcion = grupoEN.Descripcion; if (!string.IsNullOrEmpty(collection["Descripcion"])) { descripcion = collection["Descripcion"]; } gru.Modify(p_Grupo_OID: id, p_descripcion: descripcion, p_imagen: fileName, p_aceptaMiembros: acepta); return(RedirectToRoute(new { controller = "Grupo", action = "Details", id = id, })); } catch { return(View()); } }
public bool SalirDeGrupo(string p_oid, string p_nombreGrupo) { /*PROTECTED REGION ID(DSMGitGenNHibernate.CP.DSMGit_Usuario_salirDeGrupo) ENABLED START*/ IUsuarioCAD usuarioCAD = null; IGrupoCAD grupoCAD = null; UsuarioCEN usuarioCEN = null; GrupoCEN grupoCEN = null; Boolean resultadoOperacion = false; if (p_nombreGrupo != null && p_oid != null) { try { SessionInitializeTransaction(); usuarioCAD = new UsuarioCAD(session); grupoCAD = new GrupoCAD(session); usuarioCEN = new UsuarioCEN(usuarioCAD); grupoCEN = new GrupoCEN(grupoCAD); GrupoEN grupoEN = new GrupoEN(); UsuarioEN usuarioEN = new UsuarioEN(); Boolean existe = false; Boolean perteneceAlGrupo = false; // Write here your custom transaction ... IList <UsuarioEN> usuarios = usuarioCEN.DameUsuarioPorEmail(p_oid); if (usuarios.Count == 0) { System.Console.WriteLine("No existe ese usuario"); } else { IList <GrupoEN> grupos = grupoCEN.DameGruposPorNombre(p_nombreGrupo); if (grupos.Count == 0) { System.Console.WriteLine("No existe ese grupo"); } else { if (grupoCEN.ReadOID(p_nombreGrupo) != null) { usuarioEN = usuarioCEN.ReadOID(p_oid); //System.Console.WriteLine("El grupo existe!"); grupoEN = grupoCEN.ReadOID(p_nombreGrupo); existe = true; } } } if (existe == true && usuarioEN.Grupos != null) { foreach (GrupoEN gru in usuarioEN.Grupos) { if (gru.Nombre == p_nombreGrupo) { perteneceAlGrupo = true; } } } if (perteneceAlGrupo == true) { IList <string> emailsQueQuitarDelGrupo = new List <string>(); emailsQueQuitarDelGrupo.Add(p_oid); grupoCEN.SacarUsuario(p_nombreGrupo, emailsQueQuitarDelGrupo); resultadoOperacion = true; } SessionCommit(); } catch (Exception ex) { SessionRollBack(); throw ex; } finally { SessionClose(); } } return(resultadoOperacion); /*PROTECTED REGION END*/ }
public bool AnadirUsuario(string p_oid, string p_email) { /*PROTECTED REGION ID(DSMGitGenNHibernate.CP.DSMGit_Grupo_anadirUsuario) ENABLED START*/ IGrupoCAD grupoCAD = null; IUsuarioCAD usuarioCAD = null; GrupoCEN grupoCEN = null; UsuarioCEN usuarioCEN = null; bool result = true; if (p_email != null && p_oid != null) { try { SessionInitializeTransaction(); grupoCAD = new GrupoCAD(session); grupoCEN = new GrupoCEN(grupoCAD); usuarioCAD = new UsuarioCAD(session); usuarioCEN = new UsuarioCEN(usuarioCAD); // Write here your custom transaction ... //throw new NotImplementedException ("Method AnadirUsuario() not yet implemented."); IList <UsuarioEN> usuarios = usuarioCEN.DameUsuarioPorEmail(p_email); if (usuarios.Count == 0) { System.Console.WriteLine("No existe el usuario"); result = false; } else { GrupoEN grupito = grupoCEN.ReadOID(p_oid); if (grupito != null) { IList <UsuarioEN> usuGrupo = grupito.Miembros; foreach (UsuarioEN usu in usuGrupo) { if (usu.Email == p_email) { result = false; break; } } } else { result = false; } if (result == true && grupito != null) { IList <string> enviaUsu = new List <string>(); enviaUsu.Add(p_email); grupoCEN.MeterUsuario(p_oid, enviaUsu); //------------------------------------ } else { result = false; } } SessionCommit(); } catch (Exception ex) { SessionRollBack(); throw ex; } finally { SessionClose(); } } else { result = false; } return(result); /*PROTECTED REGION END*/ }
public void Delete(string id) { SessionInitialize(); UsuarioCAD usuCAD = new UsuarioCAD(session); UsuarioCEN usuCEN = new UsuarioCEN(usuCAD); UsuarioEN usuEN = usuCEN.ReadOID(id); UsuarioModel tema = UsuarioAssembler.crearUsu(usuEN); TemaCAD temCAD = new TemaCAD(session); TemaCEN temCEN = new TemaCEN(temCAD); IList <TemaEN> temEN = temCEN.DameTemaPorEmail(id); IList <TemaModel> temasU = new TemaAssembler().ConvertListENToModel(temEN); RespuestaCAD res2CAD = new RespuestaCAD(session); RespuestaCEN res2CEN = new RespuestaCEN(res2CAD); IList <RespuestaEN> res2EN = res2CEN.DameRespuestaPorEmail(id); IList <RespuestaModel> resU = RespuestaAssembler.ConvertListENToModel(res2EN); VideoCAD videoCAD = new VideoCAD(session); VideoCEN videoCEN = new VideoCEN(videoCAD); IList <VideoEN> videoEN = videoCEN.DameVideoPorEmail(id); IList <VideoModel> videosU = VideoAssembler.convertListENToModel(videoEN); ComentarioCAD comentarioCAD = new ComentarioCAD(session); ComentarioCEN comentarioCEN = new ComentarioCEN(comentarioCAD); IList <ComentarioEN> comentarioEN = comentarioCEN.DameComentarioPorEmail(id); IList <ComentarioModel> comentarioU = ComentarioAssembler.convertListENToModel(comentarioEN); ValoracionCAD valoracionCAD = new ValoracionCAD(session); ValoracionCEN valoracionCEN = new ValoracionCEN(valoracionCAD); IList <ValoracionEN> valoracionEN = valoracionCEN.DameValoracionPorEmail(id); IList <ValoracionModel> valoracionU = ValoracionAssembler.convertListENToModel(valoracionEN); GrupoCAD gruposTCAD = new GrupoCAD(session); GrupoCEN gruposTCEN = new GrupoCEN(gruposTCAD); IList <GrupoEN> gruposTEN = gruposTCEN.DameGrupoPorUsuario(id); IList <GrupoModel> gruposTU = GrupoAssembler.convertListToModelUI(gruposTEN); NotificacionCAD notiCAD = new NotificacionCAD(session); NotificacionCEN notiCEN = new NotificacionCEN(notiCAD); IList <NotificacionEN> notiEN = notiCEN.DameNotificacionPorEmail(id); IList <NotificacionModel> notisU = NotificacionAssembler.ConvertListENToModel(notiEN); SugerenciaCAD sugCAD = new SugerenciaCAD(session); SugerenciaCEN sugCEN = new SugerenciaCEN(sugCAD); IList <SugerenciaEN> sugEN = sugCEN.DameSugerenciaPorEmail(id); IList <SugerenciaModel> sugU = SugerenciaAssembler.convertListENToModel(sugEN); SessionClose(); foreach (RespuestaModel r in resU) { new RespuestaCEN().Destroy(r.Id); } foreach (TemaModel t in temasU) { SessionInitialize(); RespuestaCAD resCAD = new RespuestaCAD(session); RespuestaCEN resCEN = new RespuestaCEN(resCAD); IList <RespuestaEN> resEN = resCEN.DameRespuestaPorTema(t.Id); IList <RespuestaModel> res = RespuestaAssembler.ConvertListENToModel(resEN); SessionClose(); foreach (RespuestaModel r in res) { new RespuestaCEN().Destroy(r.Id); } new TemaCEN().Destroy(t.Id); } foreach (ComentarioModel c in comentarioU) { new ComentarioCEN().Destroy(c.Id); } foreach (ValoracionModel v in valoracionU) { new ValoracionCEN().Destroy(v.Id); } foreach (VideoModel v in videosU) { SessionInitialize(); ComentarioCAD comCAD = new ComentarioCAD(session); ComentarioCEN comCEN = new ComentarioCEN(comCAD); IList <ComentarioEN> comEN = comCEN.DameComentarioPorVideoID(v.Id); IList <ComentarioModel> cres = ComentarioAssembler.convertListENToModel(comEN); SessionClose(); foreach (ComentarioModel c in cres) { new ComentarioCEN().Destroy(c.Id); } SessionInitialize(); ValoracionCAD valCAD = new ValoracionCAD(session); ValoracionCEN valCEN = new ValoracionCEN(valCAD); IList <ValoracionEN> valEN = valCEN.DameValoracionPorVideoID(v.Id); IList <ValoracionModel> vals = ValoracionAssembler.convertListENToModel(valEN); SessionClose(); foreach (ValoracionModel valo in vals) { new ValoracionCEN().Destroy(valo.Id); } new VideoCEN().Destroy(v.Id); } foreach (SugerenciaModel s in sugU) { new SugerenciaCEN().Destroy(s.Id); } foreach (NotificacionModel n in notisU) { new NotificacionCEN().Destroy(n.Id); } foreach (GrupoModel g in gruposTU) { if (g.Lider == id) { SessionInitialize(); UsuarioCAD usu2CAD = new UsuarioCAD(session); UsuarioCEN usu2CEN = new UsuarioCEN(usuCAD); IList <UsuarioEN> usu2EN = usuCEN.DameUsuarioPorGrupo(g.Nombre); IList <UsuarioModel> usu = UsuarioAssembler.crearListaUsus(usu2EN); SessionClose(); foreach (UsuarioModel usuf in usu) { GrupoCEN grupo = new GrupoCEN(); NotificacionCEN notificacion = new NotificacionCEN(); GrupoEN grupoEN = grupo.ReadOID(g.Nombre); grupo.SacarUsuario(p_Grupo_OID: g.Nombre, p_miembros_OIDs: new List <string>() { usuf.Email }); string descripcion = "Expulsado del grupo" + grupoEN.Nombre; notificacion.New_(p_descripcion: descripcion, p_usuario: usuf.Email); } } else { GrupoCEN grupo = new GrupoCEN(); GrupoEN grupoEN = grupo.ReadOID(g.Nombre); grupo.SacarUsuario(p_Grupo_OID: g.Nombre, p_miembros_OIDs: new List <string>() { id }); } new GrupoCEN().Destroy(g.Nombre); } new UsuarioCEN().Destroy(id); }
public bool EntrarAGrupo(string p_oid, string p_nombreGrupo) { /*PROTECTED REGION ID(DSMGitGenNHibernate.CP.DSMGit_Usuario_entrarAGrupo) ENABLED START*/ IUsuarioCAD usuarioCAD = null; IGrupoCAD grupoCAD = null; UsuarioCEN usuarioCEN = null; GrupoCEN grupoCEN = null; Boolean resultadoOperacion = false; if (p_oid != null && p_nombreGrupo != null) { try { SessionInitializeTransaction(); usuarioCAD = new UsuarioCAD(session); usuarioCEN = new UsuarioCEN(usuarioCAD); grupoCAD = new GrupoCAD(session); grupoCEN = new GrupoCEN(grupoCAD); Boolean existe = false; GrupoEN grupoEN = new GrupoEN(); UsuarioEN usuarioEN = new UsuarioEN(); // Write here your custom transaction ... IList <UsuarioEN> usuarios = usuarioCEN.DameUsuarioPorEmail(p_oid); if (usuarios.Count == 0) { System.Console.WriteLine("No hay usuario"); existe = false; } else { if (grupoCEN.ReadOID(p_nombreGrupo) != null) { usuarioEN = usuarioCEN.ReadOID(p_oid); //System.Console.WriteLine("El grupo existe!"); grupoEN = grupoCEN.ReadOID(p_nombreGrupo); existe = true; } } if (existe == true) { if (grupoEN.AceptaMiembros == true) { //esto podria modificarse para reutilizar el metodo GrupoCP_AnadirUsuario. /* IList<string> enviaUsu = new List<string>(); * enviaUsu.Add(p_oid); * grupoCEN.MeterUsuario(p_oid, enviaUsu); * resultadoOperacion = true;*/ GrupoCP grupoCP = new GrupoCP(session); resultadoOperacion = grupoCP.AnadirUsuario(p_nombreGrupo, p_oid); } } SessionCommit(); } catch (Exception ex) { SessionRollBack(); throw ex; } finally { SessionClose(); } } return(resultadoOperacion); /*PROTECTED REGION END*/ }
public bool ExpulsarUsuario(string p_oid, string p_email) { /*PROTECTED REGION ID(DSMGitGenNHibernate.CP.DSMGit_Grupo_expulsarUsuario) ENABLED START*/ IGrupoCAD grupoCAD = null; IUsuarioCAD usuarioCAD = null; GrupoCEN grupoCEN = null; UsuarioCEN usuarioCEN = null; Boolean resultado = false; if (p_email != null && p_oid != null) { try { SessionInitializeTransaction(); usuarioCAD = new UsuarioCAD(session); grupoCAD = new GrupoCAD(session); usuarioCEN = new UsuarioCEN(usuarioCAD); grupoCEN = new GrupoCEN(grupoCAD); GrupoEN grupoEN = new GrupoEN(); UsuarioEN usuarioEN = new UsuarioEN(); // Write here your custom transaction ... IList <UsuarioEN> usuarios = usuarioCEN.DameUsuarioPorEmail(p_email); if (usuarios.Count == 0) { System.Console.WriteLine("Usuario inexistente"); } else // Si el usuario existe { IList <GrupoEN> grupos = grupoCEN.DameGruposPorNombre(p_oid); if (grupos.Count == 0) { System.Console.WriteLine("No existe ese grupo"); } else // Si el grupo tambien existe { GrupoEN group = grupoCEN.ReadOID(p_oid); IList <UsuarioEN> usuGrupo = group.Miembros; foreach (UsuarioEN usu in usuGrupo) // Recorro el grupo { if (usu.Email == p_email) // Si existe ese usuario en el grupo { IList <string> expulsados = new List <string>(); expulsados.Add(p_email); grupoCEN.SacarUsuario(p_oid, expulsados); resultado = true; break; } } } } SessionCommit(); } catch (Exception ex) { SessionRollBack(); throw ex; } finally { SessionClose(); } } return(resultado); /*PROTECTED REGION END*/ }