예제 #1
0
        public void EliminaParticipantes(int p_Proyecto_OID, System.Collections.Generic.IList <int> p_usuariosParticipantes_OIDs)
        {
            try
            {
                SessionInitializeTransaction();
                MultitecUAGenNHibernate.EN.MultitecUA.ProyectoEN proyectoEN = null;
                proyectoEN = (ProyectoEN)session.Load(typeof(ProyectoEN), p_Proyecto_OID);

                MultitecUAGenNHibernate.EN.MultitecUA.UsuarioEN usuariosParticipantesENAux = null;
                if (proyectoEN.UsuariosParticipantes != null)
                {
                    foreach (int item in p_usuariosParticipantes_OIDs)
                    {
                        usuariosParticipantesENAux = (MultitecUAGenNHibernate.EN.MultitecUA.UsuarioEN)session.Load(typeof(MultitecUAGenNHibernate.EN.MultitecUA.UsuarioEN), item);
                        if (proyectoEN.UsuariosParticipantes.Contains(usuariosParticipantesENAux))
                        {
                            proyectoEN.UsuariosParticipantes.Remove(usuariosParticipantesENAux);
                            usuariosParticipantesENAux.ProyectosPertenecientes.Remove(proyectoEN);
                            if (proyectoEN.UsuariosModeradores.Contains(usuariosParticipantesENAux))
                            {
                                UsuarioEN usuariosModeradoresENAux = (MultitecUAGenNHibernate.EN.MultitecUA.UsuarioEN)session.Load(typeof(MultitecUAGenNHibernate.EN.MultitecUA.UsuarioEN), item);
                                proyectoEN.UsuariosModeradores.Remove(usuariosModeradoresENAux);
                                usuariosModeradoresENAux.ProyectosModerados.Remove(proyectoEN);
                            }
                        }
                        else
                        {
                            throw new ModelException("The identifier " + item + " in p_usuariosParticipantes_OIDs you are trying to unrelationer, doesn't exist in ProyectoEN");
                        }
                    }
                }

                session.Update(proyectoEN);
                SessionCommit();
            }

            catch (Exception ex) {
                SessionRollBack();
                if (ex is MultitecUAGenNHibernate.Exceptions.ModelException)
                {
                    throw ex;
                }
                throw new MultitecUAGenNHibernate.Exceptions.DataLayerException("Error in ProyectoCAD.", ex);
            }


            finally
            {
                SessionClose();
            }
        }
예제 #2
0
        public void EliminaCategorias(int p_Usuario_OID, System.Collections.Generic.IList <int> p_categoriasUsuarios_OIDs)
        {
            try
            {
                SessionInitializeTransaction();
                MultitecUAGenNHibernate.EN.MultitecUA.UsuarioEN usuarioEN = null;
                usuarioEN = (UsuarioEN)session.Load(typeof(UsuarioEN), p_Usuario_OID);

                MultitecUAGenNHibernate.EN.MultitecUA.CategoriaUsuarioEN categoriasUsuariosENAux = null;
                if (usuarioEN.CategoriasUsuarios != null)
                {
                    foreach (int item in p_categoriasUsuarios_OIDs)
                    {
                        categoriasUsuariosENAux = (MultitecUAGenNHibernate.EN.MultitecUA.CategoriaUsuarioEN)session.Load(typeof(MultitecUAGenNHibernate.EN.MultitecUA.CategoriaUsuarioEN), item);
                        if (categoriasUsuariosENAux.UsuariosCategorizados.Contains(usuarioEN))
                        {
                            if (usuarioEN.CategoriasUsuarios.Contains(categoriasUsuariosENAux) == true)
                            {
                                usuarioEN.CategoriasUsuarios.Remove(categoriasUsuariosENAux);
                                categoriasUsuariosENAux.UsuariosCategorizados.Remove(usuarioEN);
                            }
                            else
                            {
                                throw new ModelException("The identifier " + item + " in p_categoriasUsuarios_OIDs you are trying to unrelationer, doesn't exist in UsuarioEN");
                            }
                        }
                    }
                }

                session.Update(usuarioEN);
                SessionCommit();
            }

            catch (Exception ex) {
                SessionRollBack();
                if (ex is MultitecUAGenNHibernate.Exceptions.ModelException)
                {
                    throw ex;
                }
                throw new MultitecUAGenNHibernate.Exceptions.DataLayerException("Error in UsuarioCAD.", ex);
            }


            finally
            {
                SessionClose();
            }
        }
예제 #3
0
        public void AgregaParticipantes(int p_Proyecto_OID, System.Collections.Generic.IList <int> p_usuariosParticipantes_OIDs)
        {
            MultitecUAGenNHibernate.EN.MultitecUA.ProyectoEN proyectoEN = null;
            try
            {
                SessionInitializeTransaction();
                proyectoEN = (ProyectoEN)session.Load(typeof(ProyectoEN), p_Proyecto_OID);
                MultitecUAGenNHibernate.EN.MultitecUA.UsuarioEN usuariosParticipantesENAux = null;
                if (proyectoEN.UsuariosParticipantes == null)
                {
                    proyectoEN.UsuariosParticipantes = new System.Collections.Generic.List <MultitecUAGenNHibernate.EN.MultitecUA.UsuarioEN>();
                }

                foreach (int item in p_usuariosParticipantes_OIDs)
                {
                    usuariosParticipantesENAux = new MultitecUAGenNHibernate.EN.MultitecUA.UsuarioEN();
                    usuariosParticipantesENAux = (MultitecUAGenNHibernate.EN.MultitecUA.UsuarioEN)session.Load(typeof(MultitecUAGenNHibernate.EN.MultitecUA.UsuarioEN), item);
                    if (!proyectoEN.UsuariosParticipantes.Contains(usuariosParticipantesENAux))
                    {
                        usuariosParticipantesENAux.ProyectosPertenecientes.Add(proyectoEN);

                        proyectoEN.UsuariosParticipantes.Add(usuariosParticipantesENAux);
                    }
                }


                session.Update(proyectoEN);
                SessionCommit();
            }

            catch (Exception ex) {
                SessionRollBack();
                if (ex is MultitecUAGenNHibernate.Exceptions.ModelException)
                {
                    throw ex;
                }
                throw new MultitecUAGenNHibernate.Exceptions.DataLayerException("Error in ProyectoCAD.", ex);
            }


            finally
            {
                SessionClose();
            }
        }
예제 #4
0
        public void AgregaCategorias(int p_Usuario_OID, System.Collections.Generic.IList <int> p_categoriasUsuarios_OIDs)
        {
            MultitecUAGenNHibernate.EN.MultitecUA.UsuarioEN usuarioEN = null;
            try
            {
                SessionInitializeTransaction();
                usuarioEN = (UsuarioEN)session.Load(typeof(UsuarioEN), p_Usuario_OID);
                MultitecUAGenNHibernate.EN.MultitecUA.CategoriaUsuarioEN categoriasUsuariosENAux = null;
                if (usuarioEN.CategoriasUsuarios == null)
                {
                    usuarioEN.CategoriasUsuarios = new System.Collections.Generic.List <MultitecUAGenNHibernate.EN.MultitecUA.CategoriaUsuarioEN>();
                }

                foreach (int item in p_categoriasUsuarios_OIDs)
                {
                    categoriasUsuariosENAux = new MultitecUAGenNHibernate.EN.MultitecUA.CategoriaUsuarioEN();
                    categoriasUsuariosENAux = (MultitecUAGenNHibernate.EN.MultitecUA.CategoriaUsuarioEN)session.Load(typeof(MultitecUAGenNHibernate.EN.MultitecUA.CategoriaUsuarioEN), item);
                    if (!usuarioEN.CategoriasUsuarios.Contains(categoriasUsuariosENAux))
                    {
                        categoriasUsuariosENAux.UsuariosCategorizados.Add(usuarioEN);

                        usuarioEN.CategoriasUsuarios.Add(categoriasUsuariosENAux);
                    }
                }


                session.Update(usuarioEN);
                SessionCommit();
            }

            catch (Exception ex) {
                SessionRollBack();
                if (ex is MultitecUAGenNHibernate.Exceptions.ModelException)
                {
                    throw ex;
                }
                throw new MultitecUAGenNHibernate.Exceptions.DataLayerException("Error in UsuarioCAD.", ex);
            }


            finally
            {
                SessionClose();
            }
        }
예제 #5
0
        public override bool Equals(object obj)
        {
            if (obj == null)
            {
                return(false);
            }
            UsuarioEN t = obj as UsuarioEN;

            if (t == null)
            {
                return(false);
            }
            if (Id.Equals(t.Id))
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
예제 #6
0
 public UsuarioEN(UsuarioEN usuario)
 {
     this.init(Id, usuario.Nombre, usuario.Password, usuario.Foto, usuario.ProyectosCreados, usuario.ProyectosPertenecientes, usuario.ProyectosModerados, usuario.MensajesEnviados, usuario.MensajesRecibidos, usuario.DestinatariosNotificados, usuario.Email, usuario.FechaAlta, usuario.Nick, usuario.CategoriasUsuarios, usuario.SolicitudCreada, usuario.Rol);
 }