Example #1
0
        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 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*/
        }
Example #3
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);
        }
Example #4
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*/
        }