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());
            }
        }
Example #2
0
        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 }));
            }
        }
Example #3
0
        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*/
        }
Example #5
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*/
        }
Example #6
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 #7
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*/
        }
Example #8
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*/
        }