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 static void InitializeData() { /*PROTECTED REGION ID(initializeDataMethod) ENABLED START*/ try { // Insert the initilizations of entities using the CEN classes // p.e. CustomerCEN customer = new CustomerCEN(); // customer.New_ (p_user:"******", p_password:"******"); //CREACION DE OBJETOS CEN Y VARIOS OBJETOS DE LAS CLASES UsuarioCEN usuario = new UsuarioCEN(); usuario.New_(p_email: "*****@*****.**", p_nombre: "Juanito", p_apellidos: "Palotes Vidal", p_nick: "JuanitoPV", p_contrasenya: "4321", p_fecha_nac: new DateTime(1992, 2, 4), p_rol: (DSMGitGenNHibernate.Enumerated.DSMGit.RolEnum) 3, p_imagen: "/Images/Uploads/defaultUser.png", p_descripcion: "hola"); usuario.New_(p_email: "*****@*****.**", p_nombre: "Pepito", p_apellidos: "Palotes Vidal", p_nick: "JuanitoPeter", p_contrasenya: "1234", p_fecha_nac: new DateTime(1992, 2, 4), p_rol: (DSMGitGenNHibernate.Enumerated.DSMGit.RolEnum) 1, p_imagen: "/Images/Uploads/defaultUser.png", p_descripcion: "hola"); VideoCEN video = new VideoCEN(); int idVideo1 = video.New_(p_titulo: "Haz tu vida mas facil con GitHub", p_descripcion: "Amazing life Hacks", p_usuario: "*****@*****.**", p_fecha_subida: new DateTime(2015, 1, 3), p_miniatura: "/Images/Uploads/Miniaturas/defaultUser.png", p_url: "https://www.youtube.com/embed/aJ7Tv6ukASw"); int idVideo2 = video.New_(p_titulo: "Investigacion de MAC", p_descripcion: "Mi proyecto de MAC", p_usuario: "*****@*****.**", p_fecha_subida: new DateTime(2015, 1, 3), p_miniatura: "/Images/Uploads/Miniaturas/defaultUser.png", p_url: "https://www.youtube.com/embed/aJ7Tv6ukASw"); int idVideo3 = video.New_(p_titulo: "Video de Investigacion", p_descripcion: "Me at the zoo", p_usuario: "*****@*****.**", p_fecha_subida: new DateTime(2017, 1, 3), p_miniatura: "/Images/Uploads/Miniaturas/defaultUser.png", p_url: "https://www.youtube.com/embed/aJ7Tv6ukASw"); int idVideo4 = video.New_(p_titulo: "Video Terror Halloween", p_descripcion: "you WONT BELIEVE this. MUST WATCH. Best thing in ur life", p_usuario: "*****@*****.**", p_fecha_subida: new DateTime(2017, 2, 3), p_miniatura: "/Images/Uploads/Miniaturas/defaultUser.png", p_url: "https://www.youtube.com/embed/aJ7Tv6ukASw"); //Date time: year month day ValoracionCEN valoracion = new ValoracionCEN(); valoracion.New_(p_valor: 5, p_usuario: "*****@*****.**", p_video: idVideo1); valoracion.New_(p_valor: 4, p_usuario: "*****@*****.**", p_video: idVideo1); IList <string> enviaUsu = new List <string>(); enviaUsu.Add("*****@*****.**"); GrupoCEN grupo = new GrupoCEN(); grupo.New_(p_nombre: "Grupo1", p_imagen: "/Images/Uploads/defaultGroup.png", p_descripcion: "El mejor grupo", p_miembros: enviaUsu, p_lider: "*****@*****.**", p_aceptaMiembros: true); grupo.New_(p_nombre: "Grupo2", p_imagen: "/Images/Uploads/defaultGroup.png", p_descripcion: "El segundo mejor grupo", p_miembros: null, p_lider: "*****@*****.**", p_aceptaMiembros: true); //Grupo usado para la mayoria de ejemplos de cps: grupo.New_(p_nombre: "Excalibur", p_imagen: "/Images/Uploads/defaultGroup.png", p_descripcion: "Grupo de fans de las espadas", p_miembros: null, p_lider: "*****@*****.**", p_aceptaMiembros: true); InvitacionCEN invitacion = new InvitacionCEN(); invitacion.New_(p_descripcion: "Invitacion 1", p_grupo: "Grupo1", p_invitador: "*****@*****.**"); invitacion.New_(p_descripcion: "Invitacion 2", p_grupo: "Grupo2", p_invitador: "*****@*****.**"); invitacion.New_(p_descripcion: "Invitacion 3", p_grupo: "Grupo2", p_invitador: "*****@*****.**"); TemaCEN tema = new TemaCEN(); int idtema = tema.New_(p_descripcion: "Hola, buenas tardes", p_estado: DSMGitGenNHibernate.Enumerated.DSMGit.EstadoTemaEnum.cerrado, p_usuario: "*****@*****.**", p_titulo: "Pregunta personal", p_fecha: new DateTime(2015, 1, 3)); int idtema2 = tema.New_(p_descripcion: "Como sacar un 10?", p_estado: DSMGitGenNHibernate.Enumerated.DSMGit.EstadoTemaEnum.abierto, p_usuario: "*****@*****.**", p_titulo: "Desesperacion", p_fecha: new DateTime(2017, 5, 1)); int idtema3 = tema.New_(p_descripcion: "Adios", p_estado: DSMGitGenNHibernate.Enumerated.DSMGit.EstadoTemaEnum.cerrado, p_usuario: "*****@*****.**", p_titulo: "Despedida", p_fecha: new DateTime(2017, 12, 3)); RespuestaCEN respuesta = new RespuestaCEN(); respuesta.New_(p_descripcion: "Buenas tardes", p_tema: idtema, p_usuario: "*****@*****.**", p_fecha: new DateTime(2017, 9, 9)); respuesta.New_(p_descripcion: "Es imposible", p_tema: idtema2, p_usuario: "*****@*****.**", p_fecha: new DateTime(2017, 9, 9)); respuesta.New_(p_descripcion: "rt", p_tema: idtema2, p_usuario: "*****@*****.**", p_fecha: new DateTime(2017, 9, 9)); respuesta.New_(p_descripcion: "Hasta luego", p_tema: idtema3, p_usuario: "*****@*****.**", p_fecha: new DateTime(2017, 9, 9)); NotificacionCEN notificacion = new NotificacionCEN(); notificacion.New_(p_descripcion: "Tienes una nueva invitacion de grupo", p_usuario: "*****@*****.**"); notificacion.New_(p_descripcion: "El usuario Pepito ha aceptado tu peticion", p_usuario: "*****@*****.**"); notificacion.New_(p_descripcion: "Tienes una nueva valoracion en uno de tus videos", p_usuario: "*****@*****.**"); SugerenciaCEN sugerencia = new SugerenciaCEN(); sugerencia.New_(p_titulo: "Reproductor", p_descripcion: "El tama�o del reproductor esta un poco desproporcionado", p_usuario: "*****@*****.**"); sugerencia.New_(p_titulo: "Temas", p_descripcion: "Deberia haber mas control en los temas", p_usuario: "*****@*****.**"); sugerencia.New_(p_titulo: "Grupos", p_descripcion: "Mejora en el manejo de las invitaciones porfa", p_usuario: "*****@*****.**"); ValoracionCEN valoracion1 = new ValoracionCEN(); valoracion1.New_(p_valor: 97, p_usuario: "*****@*****.**", p_video: idVideo4); valoracion1.New_(p_valor: 65, p_usuario: "*****@*****.**", p_video: idVideo2); valoracion1.New_(p_valor: 32, p_usuario: "*****@*****.**", p_video: idVideo3); ComentarioCEN comentario = new ComentarioCEN(); comentario.New_(p_texto: "Me ha parecido que esta bastante guapa", p_usuario: "*****@*****.**", p_video: idVideo1); comentario.New_(p_texto: "tbh me esperaba mas", p_usuario: "*****@*****.**", p_video: idVideo2); comentario.New_(p_texto: "un poco desagradable", p_usuario: "*****@*****.**", p_video: idVideo3); System.Console.WriteLine("\n---------Sentencias HQLS / Readfilter ------------\n"); //HQLS USUARIO System.Console.WriteLine("*HQLS/ReadFilter DE USUARIO*"); IList <UsuarioEN> usuarios = usuario.DameUsuarioPorNick("Juan"); System.Console.WriteLine("DAME USUARIO POR NICK - Juan"); foreach (UsuarioEN usu in usuarios) { System.Console.WriteLine(usu.Nick); } IList <UsuarioEN> usuarios2 = usuario.DameUsuarioPorEmail("*****@*****.**"); System.Console.WriteLine("DAME USUARIO POR EMAIL - [email protected]"); foreach (UsuarioEN usu2 in usuarios2) { System.Console.WriteLine(usu2.Email); } IList <UsuarioEN> usuarios3 = usuario.DameUsuarioPorNombreYApellidos("Juan", "J"); System.Console.WriteLine("DAME USUARIO POR NOMBRE Y APELLIDOS - Juan, J"); foreach (UsuarioEN usu in usuarios3) { System.Console.WriteLine(usu.Nombre + " " + usu.Apellidos); } IList <UsuarioEN> usuarios6 = usuario.DameUsuarioPorNombreOApellidos("Juan", "J"); System.Console.WriteLine("DAME USUARIO POR NOMBRE O APELLIDOS - Juan, J"); foreach (UsuarioEN usu in usuarios6) { System.Console.WriteLine(usu.Nombre + " " + usu.Apellidos); } IList <UsuarioEN> usuarios4 = usuario.DameUsuarioPorRol(3); System.Console.WriteLine("DAME USUARIO POR ROL - 3 (3 seria Guionista)"); foreach (UsuarioEN usu in usuarios4) { System.Console.WriteLine(usu.Nombre); //PUEDE DAR PROBLEMA System.Console.WriteLine("ROL=" + usu.Rol); } IList <UsuarioEN> usuarios5 = usuario.DameUsuarioPorDescripcion("la"); System.Console.WriteLine("DAME USUARIO POR DESCRIPCION"); foreach (UsuarioEN usu in usuarios5) { System.Console.WriteLine(usu.Nombre); } //COMPROBACIONES DE HQL VIDEOS System.Console.WriteLine("*HQLS/ReadFilter DE VIDEO*"); IList <VideoEN> videos = video.DameVideoPorDescripcion("life"); System.Console.WriteLine("DAME VIDEO POR DESCRIPCION (AUTOCOMPLETA EL PR. Y EL FINAL) - life"); foreach (VideoEN vid in videos) { System.Console.WriteLine(vid.Titulo); System.Console.WriteLine("Desripcion: " + vid.Descripcion); } IList <VideoEN> videos2 = video.DameVideoPorDescripcion("hack"); System.Console.WriteLine("DAME VIDEO POR DESCRIPCION (AUTOCOMPLETA EL PR. Y EL FINAL) - hack"); foreach (VideoEN vid in videos2) { System.Console.WriteLine(vid.Titulo); System.Console.WriteLine("Descripcion: " + vid.Descripcion); } IList <VideoEN> videos3 = video.DameVideoPorTitulo("Investigacion"); System.Console.WriteLine("DAME VIDEO POR TITULO (AUTOCOMPLETA EL PR. Y EL FINAL) - Investigacion"); foreach (VideoEN vid in videos3) { System.Console.WriteLine(vid.Titulo); } IList <VideoEN> videos4 = video.DameVideoPorTitulo("Video"); System.Console.WriteLine("DAME VIDEO POR TITULO (AUTOCOMPLETA EL PR. Y EL FINAL) - Video"); foreach (VideoEN vid in videos4) { System.Console.WriteLine(vid.Titulo); } IList <VideoEN> videos5 = video.DameVideoPorEmail("*****@*****.**"); System.Console.WriteLine("DAME VIDEO POR EMAIL - Ejemplo2"); foreach (VideoEN vid in videos5) { System.Console.WriteLine(vid.Titulo); } //DateTime fecha1 = new DateTime(2017, 1, 3); //Date time: year month day IList <VideoEN> videos6 = video.DameVideoPorFecha(2017, 1, 3); System.Console.WriteLine("DAME VIDEO POR FECHA - 2017 1 3"); foreach (VideoEN vid in videos6) { System.Console.WriteLine(vid.Titulo); } IList <VideoEN> videos7 = video.DameVideoPorNick("Juanito"); System.Console.WriteLine("DAME VIDEO POR NICK DE USER (se autocompleta, me va a dar todos los videos de todos los juanitos) - Juanito"); foreach (VideoEN vid in videos7) { System.Console.WriteLine(vid.Titulo); } IList <VideoEN> videos8 = video.DameVideoPorNick("JuanitoPV"); System.Console.WriteLine("DAME VIDEO POR NICK DE USER (se autocompleta) - JuanitoPV"); foreach (VideoEN vid in videos8) { System.Console.WriteLine(vid.Titulo); } //HQLS Valoraciones System.Console.WriteLine("*HQLS/ReadFilter DE VALORACIONES*"); IList <ValoracionEN> valoraciones = valoracion.DameValoracionPorVideoID(idVideo1); System.Console.WriteLine("DAME LA VALORACION MEDIANTE LA ID DEL VIDEO - idVideo1"); foreach (ValoracionEN val in valoraciones) { System.Console.WriteLine("Valoracion: " + val.Valor); System.Console.WriteLine("Valorado por"); System.Console.WriteLine("Usuario con email: " + val.Usuario.Email); } //HQLs Comentarios System.Console.WriteLine("*HQLS/ReadFilter DE COMENTARIO*"); IList <ComentarioEN> comentarios = comentario.DameComentarioPorVideoID(idVideo1); System.Console.WriteLine("DAME LOS COMENTARIOS POR ID DE VIDEO - idVideo1"); foreach (ComentarioEN com in comentarios) { System.Console.WriteLine("Comentarios: " + com.Texto); System.Console.WriteLine("Comentado por"); System.Console.WriteLine("Usuario: " + com.Usuario.Email); } //HQLS Sugerencias System.Console.WriteLine("*HQLS/ReadFilter DE SUGERENCIA*"); IList <SugerenciaEN> sugerencias = sugerencia.DameSugerenciaPorEmail("*****@*****.**"); System.Console.WriteLine("DAME SUGERENCIA POR EMAIL - [email protected]"); foreach (SugerenciaEN vid in sugerencias) { System.Console.WriteLine(vid.Descripcion); } //HQLs Notificaciones System.Console.WriteLine("*HQLS/ReadFilter DE NOTIFICACION*"); IList <NotificacionEN> notificaciones = notificacion.DameNotificacionPorEmail("*****@*****.**"); System.Console.WriteLine("DAME NOTIFICACION POR EMAIL - [email protected]"); foreach (NotificacionEN vid in notificaciones) { System.Console.WriteLine(vid.Descripcion); } //HQLs Temas System.Console.WriteLine("*HQLS/ReadFilter DE TEMAS*"); IList <TemaEN> temas = tema.DameTemaPorNick("PV"); System.Console.WriteLine("DAME TEMA POR NICK - PV"); foreach (TemaEN tem in temas) { System.Console.WriteLine(tem.Titulo); } IList <TemaEN> temas2 = tema.DameTemaPorEmail("*****@*****.**"); System.Console.WriteLine("DAME TEMA POR EMAIL - [email protected]"); foreach (TemaEN tem2 in temas2) { System.Console.WriteLine(tem2.Titulo); } IList <TemaEN> temas3 = tema.DameTemaPorDesc("ue"); System.Console.WriteLine("DAME TEMA POR DESCRIPCION - ue"); foreach (TemaEN tem3 in temas3) { System.Console.WriteLine(tem3.Titulo); } IList <TemaEN> temas4 = tema.DameTemaPorTitulo("per"); System.Console.WriteLine("DAME TEMA POR TITULO - per"); foreach (TemaEN tem4 in temas4) { System.Console.WriteLine(tem4.Titulo); System.Console.WriteLine(tem4.Fecha.ToString()); } IList <TemaEN> listaTemasAbiertos = tema.DameTemasAbiertos(); System.Console.WriteLine("Dame Temas abiertos"); foreach (TemaEN te in listaTemasAbiertos) { System.Console.WriteLine(te.Titulo); } IList <TemaEN> listaTemasCerrados = tema.DameTemasCerrados(); System.Console.WriteLine("Dame Temas cerrados"); foreach (TemaEN te in listaTemasCerrados) { System.Console.WriteLine(te.Titulo); } //hqls DE RESPUESTAS System.Console.WriteLine("*HQLS/ReadFilter DE RESPUESTAS (a un tema)*"); IList <RespuestaEN> respus = respuesta.DameRespuestaPorEmail("*****@*****.**"); System.Console.WriteLine("DAME RESPUESTA POR EMAIL - [email protected]"); foreach (RespuestaEN respu in respus) { System.Console.WriteLine(respu.Descripcion); System.Console.WriteLine("Del tema: " + tema.ReadOID(respu.Tema.Id).Titulo); System.Console.WriteLine("Por el usuario: " + usuario.ReadOID(respu.Usuario.Email).Nick); } IList <RespuestaEN> respus2 = respuesta.DameRespuestaPorNick("Pet"); System.Console.WriteLine("DAME RESPUESTA POR NICK - Pet"); foreach (RespuestaEN respu2 in respus2) { System.Console.WriteLine(respu2.Descripcion); System.Console.WriteLine("Del tema: " + tema.ReadOID(respu2.Tema.Id).Titulo); System.Console.WriteLine("Por el usuario: " + usuario.ReadOID(respu2.Usuario.Email).Nick); } IList <RespuestaEN> respus3 = respuesta.DameRespuestaPorTema(idtema2); System.Console.WriteLine("DAME RESPUESTA POR TEMA - idtema2"); foreach (RespuestaEN respu3 in respus3) { System.Console.WriteLine(respu3.Descripcion); System.Console.WriteLine("Del tema: " + tema.ReadOID(respu3.Tema.Id).Titulo); System.Console.WriteLine("Por el usuario: " + usuario.ReadOID(respu3.Usuario.Email).Nick); } //HQLS DE INVITACIONES System.Console.WriteLine("*HQLS/ReadFilter DE INVITACIONES (a 1 grupo)*"); IList <InvitacionEN> invis = invitacion.DameInvitacionEnviadaPorEmail("*****@*****.**"); System.Console.WriteLine("DAME INVITACION POR EMAIL (INVITADOR) - [email protected]"); foreach (InvitacionEN invi in invis) { System.Console.WriteLine(invi.Descripcion); } IList <InvitacionEN> invis2 = invitacion.DameInvitacionEnviadaPorGrupo("Grupo2"); System.Console.WriteLine("DAME INVITACION POR GRUPO - Grupo2"); foreach (InvitacionEN invi2 in invis2) { System.Console.WriteLine(invi2.Descripcion); System.Console.WriteLine("Del grupo: " + invi2.Grupo.Nombre); } //COMPROBACIONES METODOS System.Console.WriteLine("\n------------------\n"); System.Console.WriteLine("\n---------CUSTOM---------\n"); //Iniciar Sesion System.Console.WriteLine("*INICIAR SESION*"); System.Console.WriteLine("Pruebas con el usuario [email protected]"); System.Console.WriteLine("Con email [email protected] y password 4321"); System.Console.WriteLine("Inicio de sesion: [email protected] - 4321"); System.Console.WriteLine(usuario.Iniciar_sesion("*****@*****.**", "4321")); System.Console.WriteLine("Inicio de sesion: [email protected] - 321"); System.Console.WriteLine(usuario.Iniciar_sesion("*****@*****.**", "321")); System.Console.WriteLine("\n*ABRIR Y CERRAR TEMAS*"); listaTemasCerrados = tema.DameTemasCerrados(); System.Console.WriteLine("Temas cerrados"); foreach (TemaEN te in listaTemasCerrados) { System.Console.WriteLine(te.Titulo); } System.Console.WriteLine(""); System.Console.WriteLine("Ejecuto abrir de tema (metodo custom) y vuelvo a hacer la HQL:"); IList <TemaEN> dameElTemaQueQuiero = tema.DameTemaPorTitulo("Pregunta personal"); int idQueQuiero = -1; foreach (TemaEN te in listaTemasCerrados) { idQueQuiero = te.Id; } System.Console.WriteLine(""); System.Console.WriteLine("Abro el tema"); System.Console.WriteLine(""); tema.Abrir(idQueQuiero); listaTemasAbiertos = tema.DameTemasAbiertos(); System.Console.WriteLine("Temas abiertos"); foreach (TemaEN te in listaTemasAbiertos) { System.Console.WriteLine(te.Titulo); } System.Console.WriteLine(""); listaTemasCerrados = tema.DameTemasCerrados(); System.Console.WriteLine("Temas cerrados"); foreach (TemaEN te in listaTemasCerrados) { System.Console.WriteLine(te.Titulo); } System.Console.WriteLine(""); System.Console.WriteLine("Ahora cierro el tema: Despedida"); tema.Cerrar(idQueQuiero); System.Console.WriteLine(""); listaTemasAbiertos = tema.DameTemasAbiertos(); System.Console.WriteLine("Temas abiertos"); foreach (TemaEN te in listaTemasAbiertos) { System.Console.WriteLine(te.Titulo); } System.Console.WriteLine(""); listaTemasCerrados = tema.DameTemasCerrados(); System.Console.WriteLine("Temas cerrados"); foreach (TemaEN te in listaTemasCerrados) { System.Console.WriteLine(te.Titulo); } System.Console.WriteLine("FIN COMPROBACIONES DE ABRIR-CERRAR TEMA"); System.Console.WriteLine(""); System.Console.WriteLine("\n------------------\n"); System.Console.WriteLine("\n---------CPs---------\n"); //Grupo Excalibur creado por [email protected]. Empieza sin miembros. DSMGitGenNHibernate.CP.DSMGit.InvitacionCP invitacionCP = new DSMGitGenNHibernate.CP.DSMGit.InvitacionCP(); DSMGitGenNHibernate.CP.DSMGit.GrupoCP grupoCP = new DSMGitGenNHibernate.CP.DSMGit.GrupoCP(); DSMGitGenNHibernate.CP.DSMGit.UsuarioCP usuarioCP = new DSMGitGenNHibernate.CP.DSMGit.UsuarioCP(); DSMGitGenNHibernate.CP.DSMGit.VideoCP videoCP = new DSMGitGenNHibernate.CP.DSMGit.VideoCP(); IList <UsuarioEN> listaUsuariosExcalibur = new List <UsuarioEN>(); IList <ValoracionEN> listaValoraciones = new List <ValoracionEN>(); //Salir del grupo. El usuario exige salir de un grupo. No puede salir de Excalibur porque no pertenece. System.Console.WriteLine("[email protected] - Salir de Excalibur"); System.Console.WriteLine(usuarioCP.SalirDeGrupo("*****@*****.**", "Excalibur") + "\n"); //Alternativa agil a utilizar el Relationer, pues se le pasa un unico usuario, y no una lista. //Accion del grupo para meter a un usuario. System.Console.WriteLine("Excalibur añade a [email protected]"); System.Console.WriteLine(grupoCP.AnadirUsuario("Excalibur", "*****@*****.**") + "\n"); listaUsuariosExcalibur = usuario.DameUsuarioPorGrupo("Excalibur"); System.Console.WriteLine("Veamos los usuarios de Excalibur:"); foreach (UsuarioEN usu in listaUsuariosExcalibur) { System.Console.WriteLine(usu.Nick); System.Console.WriteLine("Email: " + usu.Email); } //Expulsar Usuario. Accion del grupo para echar a uno de sus usuarios. System.Console.WriteLine(" "); System.Console.WriteLine("\n Excalibur expulsa a su miembro [email protected]"); System.Console.WriteLine(grupoCP.ExpulsarUsuario("Excalibur", "*****@*****.**") + "\n"); listaUsuariosExcalibur = usuario.DameUsuarioPorGrupo("Excalibur"); System.Console.WriteLine("Veamos los usuarios de Excalibur:"); foreach (UsuarioEN usu in listaUsuariosExcalibur) { System.Console.WriteLine(usu.Nick); System.Console.WriteLine("Email: " + usu.Email); } //El usuario entra por su cuenta a Excalibur, que acepta nuevos miembros. System.Console.WriteLine(" "); System.Console.WriteLine("[email protected] - Entrar a Excalibur (peticion)"); System.Console.WriteLine(usuarioCP.EntrarAGrupo("*****@*****.**", "Excalibur") + "\n"); listaUsuariosExcalibur = usuario.DameUsuarioPorGrupo("Excalibur"); System.Console.WriteLine("Veamos los usuarios de Excalibur:"); foreach (UsuarioEN usu in listaUsuariosExcalibur) { System.Console.WriteLine(usu.Nick); System.Console.WriteLine("Email: " + usu.Email); } //Salir del grupo. El usuario exige salir de un grupo. Pertenece a Excalibur por lo que puede salir. Sale sin problema de Excalibur System.Console.WriteLine(" "); System.Console.WriteLine("[email protected] - Salir de Excalibur"); System.Console.WriteLine(usuarioCP.SalirDeGrupo("*****@*****.**", "Excalibur") + "\n"); listaUsuariosExcalibur = usuario.DameUsuarioPorGrupo("Excalibur"); System.Console.WriteLine("Veamos los usuarios de Excalibur:"); foreach (UsuarioEN usu in listaUsuariosExcalibur) { System.Console.WriteLine(usu.Nick); System.Console.WriteLine("Email: " + usu.Email); } //Salir del grupo. El usuario exige salir de un grupo. No puede salir de Excalibur porque ya no pertenece. System.Console.WriteLine("\n [email protected] - Salir de Excalibur"); System.Console.WriteLine(usuarioCP.SalirDeGrupo("*****@*****.**", "Excalibur") + "\n"); System.Console.WriteLine("\n *Comprobaciones de errores en CP: no meten usuarios nulos o usuarios a grupos nulos, o usuarios/grupos inexistentes.*"); System.Console.WriteLine("Por lo que todos estos métodos deben dar FALSE."); System.Console.WriteLine(grupoCP.AnadirUsuario("Excalibur", null)); System.Console.WriteLine(grupoCP.AnadirUsuario("Excalibur", "usuarioinexistente")); System.Console.WriteLine(grupoCP.AnadirUsuario("grupoinexistente", "*****@*****.**")); System.Console.WriteLine(grupoCP.AnadirUsuario("grupoinexistente", "usuarioinexistente")); System.Console.WriteLine(usuarioCP.EntrarAGrupo(null, "Excalibur")); System.Console.WriteLine(usuarioCP.EntrarAGrupo("*****@*****.**", null)); System.Console.WriteLine(usuarioCP.EntrarAGrupo("*****@*****.**", "Noexiste")); System.Console.WriteLine(usuarioCP.EntrarAGrupo("noexisto", "Excalibur")); System.Console.WriteLine(usuarioCP.SalirDeGrupo("*****@*****.**", null)); System.Console.WriteLine(usuarioCP.SalirDeGrupo(null, "Excalibur")); System.Console.WriteLine(usuarioCP.SalirDeGrupo("noexisto", "Excalibur")); System.Console.WriteLine(usuarioCP.SalirDeGrupo("*****@*****.**", "noexisto")); System.Console.WriteLine(grupoCP.ExpulsarUsuario(null, null)); System.Console.WriteLine(grupoCP.ExpulsarUsuario("Excalibur", null)); System.Console.WriteLine(grupoCP.ExpulsarUsuario(null, "*****@*****.**")); System.Console.WriteLine(grupoCP.ExpulsarUsuario("noexisto", "*****@*****.**")); System.Console.WriteLine(grupoCP.ExpulsarUsuario("Excalibur", "noexisto")); System.Console.WriteLine("\n *Fin de metodos CP de Grupos/Usuarios que deben dar error*"); System.Console.WriteLine("\n---------CPs sobre Video/Valoracion------------\n"); //Por aqui se pueden probar los metodos CrearInvitacion y AceptarInvitacion System.Console.WriteLine("Comprobacion CrearInvitacion"); System.Console.WriteLine("INVITACIONES USUARIO 1 \n"); IList <InvitacionEN> inviE1 = invitacion.DameInvitacionEnviadaPorEmail("*****@*****.**"); IList <InvitacionEN> inviR1 = invitacion.DameInvitacionRecibidaPorEmail("*****@*****.**"); System.Collections.Generic.IList <string> usuarios_invitados = new List <string>();; usuarios_invitados.Add("*****@*****.**"); foreach (InvitacionEN invi in inviR1) { System.Console.WriteLine("--Recibida: " + invi.Descripcion); } foreach (InvitacionEN invi in inviE1) { System.Console.WriteLine("--Enviada: " + invi.Descripcion); } System.Console.Write("\n"); System.Console.WriteLine("INVITACIONES USUARIO 2 \n"); IList <InvitacionEN> inviE2 = invitacion.DameInvitacionEnviadaPorEmail("*****@*****.**"); IList <InvitacionEN> inviR2 = invitacion.DameInvitacionRecibidaPorEmail("*****@*****.**"); foreach (InvitacionEN invi in inviR2) { System.Console.WriteLine("--Recibida: " + invi.Descripcion); } foreach (InvitacionEN invi in inviE2) { System.Console.WriteLine("--Enviada: " + invi.Descripcion); } System.Console.Write("\n"); System.Console.WriteLine("SE INVOCA A CREAR INVITACION, USUARIO 1 LE MANDA INVITACION A USUARIO 2 "); invitacionCP.CrearInvitacion(usuarios_invitados, "*****@*****.**", "Grupo1", "Invitacion hecha con el CP crear Invitacion \n"); System.Console.WriteLine("INVITACIONES USUARIO 1 \n"); inviE1 = invitacion.DameInvitacionEnviadaPorEmail("*****@*****.**"); inviR1 = invitacion.DameInvitacionRecibidaPorEmail("*****@*****.**"); foreach (InvitacionEN invi in inviR1) { System.Console.WriteLine("--Recibida: " + invi.Descripcion); } foreach (InvitacionEN invi in inviE1) { System.Console.WriteLine("--Enviada: " + invi.Descripcion); } System.Console.Write("\n"); System.Console.WriteLine("INVITACIONES USUARIO 2 \n"); inviE2 = invitacion.DameInvitacionEnviadaPorEmail("*****@*****.**"); inviR2 = invitacion.DameInvitacionRecibidaPorEmail("*****@*****.**"); foreach (InvitacionEN invi in inviR2) { System.Console.WriteLine("--Recibida: " + invi.Descripcion); } foreach (InvitacionEN invi in inviE2) { System.Console.WriteLine("--Enviada: " + invi.Descripcion); } //comprobaciones Aceptar invitacion System.Console.Write("\n"); System.Console.WriteLine("USUARIOS EN EL GRUPO 1 \n"); IList <UsuarioEN> usuarios_grupo1 = usuario.DameUsuarioPorGrupo("Grupo1"); foreach (UsuarioEN u in usuarios_grupo1) { System.Console.WriteLine("--Usuario: " + u.Email); } System.Console.Write("\n"); System.Console.WriteLine("INVITACIONES DEL GRUPO 1 \n"); IList <InvitacionEN> invi1 = invitacion.DameInvitacionEnviadaPorGrupo("Grupo1"); foreach (InvitacionEN i in invi1) { System.Console.WriteLine("--Usuario: " + i.Descripcion); } System.Console.Write("\n"); System.Console.WriteLine("SE INVOCA A ACEPTAR INVITACIÓN DEL USUARIO 2 "); invitacionCP.AceptarInvitacion(inviR2 [0].Id, "*****@*****.**"); System.Console.WriteLine("INVITACIONES USUARIO 1 \n"); inviE1 = invitacion.DameInvitacionEnviadaPorEmail("*****@*****.**"); inviR1 = invitacion.DameInvitacionRecibidaPorEmail("*****@*****.**"); foreach (InvitacionEN invi in inviR1) { System.Console.WriteLine("--Recibida: " + invi.Descripcion); } foreach (InvitacionEN invi in inviE1) { System.Console.WriteLine("--Enviada: " + invi.Descripcion); } System.Console.Write("\n"); System.Console.WriteLine("INVITACIONES USUARIO 2 \n"); inviE2 = invitacion.DameInvitacionEnviadaPorEmail("*****@*****.**"); inviR2 = invitacion.DameInvitacionRecibidaPorEmail("*****@*****.**"); foreach (InvitacionEN invi in inviR2) { System.Console.WriteLine("--Recibida: " + invi.Descripcion); } foreach (InvitacionEN invi in inviE2) { System.Console.WriteLine("--Enviada: " + invi.Descripcion); } System.Console.Write("\n"); System.Console.WriteLine("USUARIOS EN EL GRUPO 1 \n"); usuarios_grupo1 = usuario.DameUsuarioPorGrupo("Grupo1"); foreach (UsuarioEN u in usuarios_grupo1) { System.Console.WriteLine("--Usuario: " + u.Email); } System.Console.Write("\n"); System.Console.WriteLine("INVITACIONES DEL GRUPO 1 \n"); invi1 = invitacion.DameInvitacionEnviadaPorGrupo("Grupo1"); foreach (InvitacionEN i in invi1) { System.Console.WriteLine("--Usuario: " + i.Descripcion); } //ValoracionMedia de un video. Tiene 2 valoraciones, 5 y 4. System.Console.WriteLine("\n Valoracion media del video: " + video.ReadOID(idVideo1).Titulo); System.Console.WriteLine(videoCP.Calcular_valoracion(idVideo1)); //Mostramos las valoraciones que tiene para comprobar que estamos en lo cierto: listaValoraciones = valoracion.DameValoracionPorVideoID(idVideo1); System.Console.WriteLine("\n HQL - Comprobamos las valoraciones del video: " + video.ReadOID(idVideo1).Titulo); foreach (ValoracionEN val in listaValoraciones) { System.Console.WriteLine(" Valoracion de: " + val.Usuario.Email); System.Console.WriteLine("Puntuacion: " + val.Valor); } System.Console.WriteLine("*Comprobaciones Errores CP Valoraciones: Estos metodos deben dar 0 porque el video no tiene valoraciones, o no existe."); //En principio este id de video, no existe. Seria mucha casualidad. System.Console.WriteLine(videoCP.Calcular_valoracion(-1423798)); System.Console.WriteLine("*Fin Comprobaciones Errores CP Valoraciones"); System.Console.WriteLine("\n---------------------\n"); /*PROTECTED REGION END*/ } catch (Exception ex) { System.Console.WriteLine(ex.InnerException); throw ex; } }
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*/ }