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();
            }
        }
        public void EliminaCategoriasProyecto(int p_Proyecto_OID, System.Collections.Generic.IList <int> p_categoriasProyectos_OIDs)
        {
            try
            {
                SessionInitializeTransaction();
                MultitecUAGenNHibernate.EN.MultitecUA.ProyectoEN proyectoEN = null;
                proyectoEN = (ProyectoEN)session.Load(typeof(ProyectoEN), p_Proyecto_OID);

                MultitecUAGenNHibernate.EN.MultitecUA.CategoriaProyectoEN categoriasProyectosENAux = null;
                if (proyectoEN.CategoriasProyectos != null)
                {
                    foreach (int item in p_categoriasProyectos_OIDs)
                    {
                        categoriasProyectosENAux = (MultitecUAGenNHibernate.EN.MultitecUA.CategoriaProyectoEN)session.Load(typeof(MultitecUAGenNHibernate.EN.MultitecUA.CategoriaProyectoEN), item);
                        if (categoriasProyectosENAux.ProyectosCateogrizados.Contains(proyectoEN))
                        {
                            if (proyectoEN.CategoriasProyectos.Contains(categoriasProyectosENAux) == true)
                            {
                                proyectoEN.CategoriasProyectos.Remove(categoriasProyectosENAux);
                                categoriasProyectosENAux.ProyectosCateogrizados.Remove(proyectoEN);
                            }
                            else
                            {
                                throw new ModelException("The identifier " + item + " in p_categoriasProyectos_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();
            }
        }
        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();
            }
        }
        public void AgregaCategoriasProyecto(int p_Proyecto_OID, System.Collections.Generic.IList <int> p_categoriasProyectos_OIDs)
        {
            MultitecUAGenNHibernate.EN.MultitecUA.ProyectoEN proyectoEN = null;
            try
            {
                SessionInitializeTransaction();
                proyectoEN = (ProyectoEN)session.Load(typeof(ProyectoEN), p_Proyecto_OID);
                MultitecUAGenNHibernate.EN.MultitecUA.CategoriaProyectoEN categoriasProyectosENAux = null;
                if (proyectoEN.CategoriasProyectos == null)
                {
                    proyectoEN.CategoriasProyectos = new System.Collections.Generic.List <MultitecUAGenNHibernate.EN.MultitecUA.CategoriaProyectoEN>();
                }

                foreach (int item in p_categoriasProyectos_OIDs)
                {
                    categoriasProyectosENAux = new MultitecUAGenNHibernate.EN.MultitecUA.CategoriaProyectoEN();
                    categoriasProyectosENAux = (MultitecUAGenNHibernate.EN.MultitecUA.CategoriaProyectoEN)session.Load(typeof(MultitecUAGenNHibernate.EN.MultitecUA.CategoriaProyectoEN), item);
                    if (!proyectoEN.CategoriasProyectos.Contains(categoriasProyectosENAux))
                    {
                        categoriasProyectosENAux.ProyectosCateogrizados.Add(proyectoEN);

                        proyectoEN.CategoriasProyectos.Add(categoriasProyectosENAux);
                    }
                }


                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();
            }
        }
Beispiel #5
0
        public override bool Equals(object obj)
        {
            if (obj == null)
            {
                return(false);
            }
            ProyectoEN t = obj as ProyectoEN;

            if (t == null)
            {
                return(false);
            }
            if (Id.Equals(t.Id))
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Beispiel #6
0
 public ProyectoEN(ProyectoEN proyecto)
 {
     this.init(Id, proyecto.Nombre, proyecto.Descripcion, proyecto.Estado, proyecto.FotosProyecto, proyecto.UsuarioCreador, proyecto.UsuariosParticipantes, proyecto.UsuariosModeradores, proyecto.EventosAsociados, proyecto.CategoriasProyectos, proyecto.CategoriasBuscadas, proyecto.SolicitudRecibida, proyecto.NotificacionGenerada);
 }