public void AceptarInvitacion(int p_oid, string idInvitado) { /*PROTECTED REGION ID(DSMGitGenNHibernate.CP.DSMGit_Invitacion_aceptarInvitacion) ENABLED START*/ IInvitacionCAD invitacionCAD = null; InvitacionCEN invitacionCEN = null; IGrupoCAD grupoCAD = null; GrupoCEN grupoCEN = null; GrupoCP grupoCP = null; try { SessionInitializeTransaction(); invitacionCAD = new InvitacionCAD(session); invitacionCEN = new InvitacionCEN(invitacionCAD); //obteniendo el grupo de la invitacion grupoCAD = new GrupoCAD(session); grupoCEN = new GrupoCEN(grupoCAD); InvitacionEN invi = invitacionCEN.ReadOID(p_oid); grupoCP = new GrupoCP(); grupoCP.AnadirUsuario(invi.Grupo.Nombre, idInvitado); invitacionCEN.QuitarInvitado(p_oid, new List <string>() { idInvitado }); invi = invitacionCEN.ReadOID(p_oid); IList <UsuarioEN> usuarios = invi.Usuario_invitado; if (usuarios.Count <= 0) { invitacionCEN.QuitarGrupo(p_oid, invi.Grupo.Nombre); invitacionCEN.QuitarInvitador(p_oid, invi.Invitador.Email); invitacionCEN.Destroy(p_oid); } SessionCommit(); } catch (Exception ex) { SessionRollBack(); throw ex; } finally { SessionClose(); } /*PROTECTED REGION END*/ }
public DSMGitGenNHibernate.EN.DSMGit.GrupoEN CrearGrupo(string p_nombre, System.Collections.Generic.IList <string> p_miembros, string p_lider, bool p_completo, bool p_aceptaMiembros, string p_descripcion, string p_imagen) { /*PROTECTED REGION ID(DSMGitGenNHibernate.CP.DSMGit_Grupo_crearGrupo) ENABLED START*/ IGrupoCAD grupoCAD = null; GrupoCEN grupoCEN = null; IUsuarioCAD usuarioCAD = null; UsuarioCEN usuarioCEN = null; DSMGitGenNHibernate.EN.DSMGit.GrupoEN result = null; try { SessionInitializeTransaction(); grupoCAD = new GrupoCAD(session); grupoCEN = new GrupoCEN(grupoCAD); usuarioCAD = new UsuarioCAD(session); usuarioCEN = new UsuarioCEN(usuarioCAD); string oid; //Initialized GrupoEN GrupoEN grupoEN; grupoEN = new GrupoEN(); grupoEN.Nombre = p_nombre; grupoEN.Miembros = new System.Collections.Generic.List <DSMGitGenNHibernate.EN.DSMGit.UsuarioEN>(); if (p_miembros != null) { foreach (string item in p_miembros) { try { UsuarioEN en = usuarioCAD.ReadOID(item); grupoEN.Miembros.Add(en); } catch { } } } else { grupoEN.Miembros = new System.Collections.Generic.List <DSMGitGenNHibernate.EN.DSMGit.UsuarioEN>(); } if (p_lider != null) { grupoEN.Lider = new DSMGitGenNHibernate.EN.DSMGit.UsuarioEN(); grupoEN.Lider.Email = p_lider; } if (p_completo == true) { grupoEN.AceptaMiembros = false; } else { grupoEN.AceptaMiembros = p_aceptaMiembros; } grupoEN.Descripcion = p_descripcion; grupoEN.Imagen = p_imagen; //Call to GrupoCAD oid = grupoCAD.CrearGrupo(grupoEN); result = grupoCAD.ReadOIDDefault(oid); SessionCommit(); } catch (Exception ex) { SessionRollBack(); throw ex; } finally { SessionClose(); } return(result); /*PROTECTED REGION END*/ }
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 GrupoCEN(IGrupoCAD _IGrupoCAD) { this._IGrupoCAD = _IGrupoCAD; }
public GrupoCEN() { this._IGrupoCAD = new GrupoCAD(); }
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 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*/ }