Пример #1
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*/
        }
Пример #2
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*/
        }
Пример #3
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*/
        }
Пример #4
0
 public GrupoCEN(IGrupoCAD _IGrupoCAD)
 {
     this._IGrupoCAD = _IGrupoCAD;
 }
Пример #5
0
 public GrupoCEN()
 {
     this._IGrupoCAD = new GrupoCAD();
 }
Пример #6
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*/
        }
Пример #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*/
        }
Пример #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*/
        }