예제 #1
0
        public ActionResult DetailsUsuario(string id)
        {
            SessionInitialize();
            GrupoCAD                 grupoCAD = new GrupoCAD(session);
            IList <GrupoEN>          grupo    = grupoCAD.DameGrupoPorUsuario(id);
            IEnumerable <GrupoModel> grupos   = GrupoAssembler.convertListToModelUI(grupo).ToList();

            return(PartialView(grupos));
        }
예제 #2
0
        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*/
        }
예제 #3
0
        // GET: Grupo/Details/5
        public ActionResult Details(string id)
        {
            SessionInitialize();
            GrupoCAD   grupoCAD = new GrupoCAD(session);
            GrupoEN    grupoEN  = grupoCAD.ReadOIDDefault(id);
            GrupoModel g        = GrupoAssembler.convertENToModelUI(grupoEN);

            SessionClose();
            return(View(g));
        }
예제 #4
0
        // GET: Grupo
        public ActionResult Index()
        {
            SessionInitialize();
            GrupoCAD           grupoCAD    = new GrupoCAD(session);
            IList <GrupoEN>    gruposEN    = grupoCAD.ReadAllDefault(0, -1);
            IList <GrupoModel> grupoModels = GrupoAssembler.convertListToModelUI(gruposEN);

            SessionClose();
            return(View(grupoModels));
        }
예제 #5
0
        public ActionResult DetailsBusqueda(string id)
        {
            SessionInitialize();
            GrupoCAD                 gruCAD = new GrupoCAD(session);
            IList <GrupoEN>          gruEN  = gruCAD.DameGruposPorNombre(id);
            IEnumerable <GrupoModel> grupos = GrupoAssembler.convertListToModelUI(gruEN).ToList();

            SessionClose();

            return(PartialView(grupos));
        }
예제 #6
0
        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*/
        }
예제 #7
0
        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*/
        }
예제 #8
0
        public static void InitializeData()
        {
            /*PROTECTED REGION ID(initializeDataMethod) ENABLED START*/

            try
            {
                //CAD
                //USUARIOS
                IUsuarioCAD       _IusuarioCAD       = new UsuarioCAD();
                IAdministradorCAD _IadministradorCAD = new AdministradorCAD();
                IAsistenteCAD     _IasistenteCAD     = new AsistenteCAD();
                IGrupoCAD         _IgrupoCAD         = new GrupoCAD();
                //EVENTO
                IEventoCAD       _IeventoCAD       = new EventoCAD();
                IEventoPagoCAD   _IeventoPagoCAD   = new EventoPagoCAD();
                IEventoGratisCAD _IeventoGratisCAD = new EventoGratisCAD();
                IEntradaCAD      _IentradaCAD      = new EntradaCAD();
                //OTROS
                IComentarioCAD _IcomentarioCAD = new ComentarioCAD();
                IPremioCAD     _IpremioCAD     = new PremioCAD();
                IMensajeCAD    _ImensajeCAD    = new MensajeCAD();


                //EN

                UsuarioEN       usuarioEN       = new UsuarioEN();
                AdministradorEN administradorEN = new AdministradorEN();
                AsistenteEN     asistenteEN     = new AsistenteEN();
                GrupoEN         grupoEN         = new GrupoEN();

                EventoEN       eventoEN       = new EventoEN();
                EventoPagoEN   eventoPagoEN   = new EventoPagoEN();
                EventoGratisEN eventoGratisEN = new EventoGratisEN();
                EntradaEN      entradaEN      = new EntradaEN();

                ComentarioEN comentarioEN = new ComentarioEN();
                PremioEN     premioEN     = new PremioEN();
                MensajeEN    mensajeEN    = new MensajeEN();

                //CEN

                UsuarioCEN       usuarioCEN       = new UsuarioCEN(_IusuarioCAD);
                AdministradorCEN administradorCEN = new AdministradorCEN(_IadministradorCAD);
                AsistenteCEN     asistenteCEN     = new AsistenteCEN(_IasistenteCAD);
                GrupoCEN         grupoCEN         = new GrupoCEN(_IgrupoCAD);

                EventoCEN       enventoCEN      = new EventoCEN(_IeventoCAD);
                EventoPagoCEN   eventoPagoCEN   = new EventoPagoCEN(_IeventoPagoCAD);
                EventoGratisCEN eventoGratisCEN = new EventoGratisCEN(_IeventoGratisCAD);
                EntradaCEN      entradaCEN      = new EntradaCEN(_IentradaCAD);

                ComentarioCEN comentarioCEN = new ComentarioCEN(_IcomentarioCAD);
                PremioCEN     premioCEN     = new PremioCEN(_IpremioCAD);
                MensajeCEN    mensajeCEN    = new MensajeCEN(_ImensajeCAD);

                //CP

                //ComentarioCP comentarioCP = new ComentarioCP();

                /* Adri aqui  se supone que hay que hacer comentarios
                 * *se supone que tienes que poner :
                 * ComentarioCP comentarioCP = new ComentarioCP();
                 *
                 * pero me da error asi que no se que hacer aqui */

                //USUARIO


                UsuarioEN usuario1EN = new UsuarioEN();

                usuario1EN.Nombre      = " Adelaida_granada";
                usuario1EN.Correo      = "*****@*****.**";
                usuario1EN.Contrasenya = "contra123";
                usuario1EN.Direccion   = "C/ el gran mazapan saltarin 1, alicante , alicante, 03160";
                usuario1EN.Foto        = "imagen.jpg";
                usuario1EN.Telefono    = 679987543;

                usuarioCEN.CrearUsuario(usuario1EN.Correo, usuario1EN.Nombre, usuario1EN.Contrasenya, usuario1EN.Foto, usuario1EN.Direccion, usuario1EN.Telefono);


                UsuarioEN usuario2EN = new UsuarioEN();

                usuario2EN.Nombre      = " Eustaquio_abichuela";
                usuario2EN.Correo      = "*****@*****.**";
                usuario2EN.Contrasenya = "contra456";
                usuario2EN.Direccion   = "C/ el gran mazapan saltarin 2, alicante , alicante, 03160";
                usuario2EN.Foto        = "imagen1.jpg";
                usuario2EN.Telefono    = 633456098;

                usuarioCEN.CrearUsuario(usuario2EN.Correo, usuario2EN.Nombre, usuario2EN.Contrasenya, usuario2EN.Foto, usuario2EN.Direccion, usuario1EN.Telefono);



                UsuarioEN usuario3EN = new UsuarioEN();

                usuario3EN.Nombre      = "Ramiro_alcachofa";
                usuario3EN.Correo      = "*****@*****.**";
                usuario3EN.Contrasenya = "contra789";
                usuario3EN.Direccion   = "C/ el gran mazapan saltarin 3, alicante , alicante, 03160";
                usuario3EN.Foto        = "imagen1.jpg";
                usuario3EN.Telefono    = 633456098;

                usuarioCEN.CrearUsuario(usuario3EN.Correo, usuario3EN.Nombre, usuario3EN.Contrasenya, usuario3EN.Foto, usuario3EN.Direccion, usuario1EN.Telefono);


                AdministradorEN admin1EN = new AdministradorEN();

                admin1EN.Correo      = "*****@*****.**";
                admin1EN.Nombre      = "Tu todopoderoso Admin 69 ";
                admin1EN.Foto        = "jisus.jpg";
                admin1EN.Contrasenya = "adminresucitalapatriatenecesita";
                admin1EN.Direccion   = " C/ El olimpo de los supremos dioses,Sector A, Olimpo, 0000";
                admin1EN.Telefono    = 666000999;

                //esto se ha cambiado de crear Administrador a crear usuario por lo que comento el profe de la sobrecargade metodos al heredar
                administradorCEN.CrearUsuario(admin1EN.Correo, admin1EN.Nombre, admin1EN.Contrasenya, admin1EN.Foto, admin1EN.Direccion, admin1EN.Telefono);



                List <String> LusuariosG = new List <string>();
                LusuariosG.Add(usuario1EN.Correo);
                LusuariosG.Add(usuario2EN.Correo);
                LusuariosG.Add(usuario3EN.Correo);



                GrupoEN grupo1EN = new GrupoEN();
                grupo1EN.Nombre = "Grupo el gran ";
                grupoCEN.CrearGrupo(grupo1EN.Nombre, LusuariosG, 14);

                MensajeEN mensaje1EN = new MensajeEN();

                mensaje1EN.Leido   = false;
                mensaje1EN.Mensaje = "Hola, este es el primer mensaje que se ha enviado en la historia de nuestra web.";

                mensajeCEN.CrearMensaje(mensaje1EN.Mensaje, mensaje1EN.Leido, usuario1EN.Correo, usuario2EN.Correo);

                ComentarioEN comentario1EN = new ComentarioEN();

                comentario1EN.Titulo = "El evento maravilloso";
                comentario1EN.Texto  = "Tras asistir a este evento  me he quedado maravillada con este concurso tan divertido, ademas he ganado el 1er puesto y el premio ha sido genial.";
                comentario1EN.Likes  = 666;


                //ComentarioCEN.crearComentario(comentario1EN.Titulo, comentario1EN.Texto, comentarioEN.Likes, usuario1EN.Correo);



                /*  EventoEN evento1EN = new EventoEN();
                 *
                 * evento1EN.Nombre = "Concurso de comilones";
                 * evento1EN.Lugar = "C/ la marsopa acuatica feliz";
                 * evento1EN.Fecha = 2018 - 012 - 09;
                 * evento1EN.Genero = 1;
                 * evento1EN.Descripcion = "Veamos quien es capaz de comer mas yogures ! ";
                 * evento1EN.Tipo = DSMGenNHibernate.Enumerated.DSM.TipoEventoEnum{ 1};
                 *
                 * EventoCEN.crearEvento();
                 *
                 * PremioEN premio1EN = new PremioEN();
                 *
                 * premio1EN.Descripcion = "1000 � para comprar yogures";
                 * premio1EN.Nombre = "mas y mas Yogures";
                 *
                 * premioCEN.CrearPremio(premio1EN.Descripcion, evento1En.id, premio1EN.Nombre, "12", "6");*/



                EventoGratisEN evento2EN = new EventoGratisEN();
                evento2EN.Nombre = "Si";
                evento2EN.Aforo  = 12;



                /*PROTECTED REGION END*/
            }
            catch (Exception ex)
            {
                System.Console.WriteLine(ex.InnerException);
                throw ex;
            }
        }
예제 #9
0
        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*/
        }
예제 #10
0
        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);
        }
예제 #11
0
        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*/
        }
예제 #12
0
        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*/
        }