コード例 #1
0
        public void Modify(int p_Proyecto_OID, string p_nombre, string p_descripcion, System.Collections.Generic.IList <string> p_fotos)
        {
            /*PROTECTED REGION ID(MultitecUAGenNHibernate.CP.MultitecUA_Proyecto_modify) ENABLED START*/

            IProyectoCAD proyectoCAD = null;
            ProyectoCEN  proyectoCEN = null;



            try
            {
                SessionInitializeTransaction();
                proyectoCAD = new ProyectoCAD(session);
                proyectoCEN = new  ProyectoCEN(proyectoCAD);



                ProyectoEN proyectoEN = null;
                //Initialized ProyectoEN
                proyectoEN               = new ProyectoEN();
                proyectoEN.Id            = p_Proyecto_OID;
                proyectoEN.Nombre        = p_nombre;
                proyectoEN.Descripcion   = p_descripcion;
                proyectoEN.FotosProyecto = p_fotos;

                NotificacionProyectoCEN notificacionProyectoCEN = new NotificacionProyectoCEN();
                int OID_notificacionProyecto = notificacionProyectoCEN.New_("Proyecto modificado", "El proyecto " + proyectoEN.Nombre + " ha sido modificado", proyectoEN.Id);

                NotificacionUsuarioCEN notificacionUsuarioCEN = new NotificacionUsuarioCEN();
                UsuarioCEN             usuarioCEN             = new UsuarioCEN();

                foreach (UsuarioEN usuario in usuarioCEN.DameParticipantesProyecto(p_Proyecto_OID))
                {
                    notificacionUsuarioCEN.New_(usuario.Id, OID_notificacionProyecto);
                }


                //Call to ProyectoCAD

                proyectoCAD.Modify(proyectoEN);


                SessionCommit();
            }
            catch (Exception ex)
            {
                SessionRollBack();
                throw ex;
            }
            finally
            {
                SessionClose();
            }


            /*PROTECTED REGION END*/
        }
コード例 #2
0
        public void AgregaEventos(int p_Proyecto_OID, System.Collections.Generic.IList <int> p_eventosAsociados_OIDs)
        {
            /*PROTECTED REGION ID(MultitecUAGenNHibernate.CP.MultitecUA_Proyecto_agregaEventos) ENABLED START*/

            IProyectoCAD proyectoCAD = null;
            ProyectoCEN  proyectoCEN = null;



            try
            {
                SessionInitializeTransaction();
                proyectoCAD = new ProyectoCAD(session);
                proyectoCEN = new  ProyectoCEN(proyectoCAD);
                ProyectoEN proyectoEN = proyectoCAD.ReadOID(p_Proyecto_OID);

                EventoCEN eventoCEN = new EventoCEN();
                NotificacionProyectoCEN notificacionProyectoCEN = new NotificacionProyectoCEN();
                NotificacionUsuarioCEN  notificacionUsuarioCEN  = new NotificacionUsuarioCEN();
                UsuarioCEN usuarioCEN = new UsuarioCEN();

                foreach (int OID_Evento in p_eventosAsociados_OIDs)
                {
                    EventoEN eventoEN = eventoCEN.ReadOID(OID_Evento);

                    int OID_notificacionProyecto = notificacionProyectoCEN.New_("Proyecto presentado a evento", "El proyecto " + proyectoEN.Nombre + " se ha presentado al evento " + eventoEN.Nombre, proyectoEN.Id);

                    foreach (UsuarioEN usuario in usuarioCEN.DameParticipantesProyecto(p_Proyecto_OID))
                    {
                        notificacionUsuarioCEN.New_(usuario.Id, OID_notificacionProyecto);
                    }
                }



                //Call to ProyectoCAD

                proyectoCAD.AgregaEventos(p_Proyecto_OID, p_eventosAsociados_OIDs);



                SessionCommit();
            }
            catch (Exception ex)
            {
                SessionRollBack();
                throw ex;
            }
            finally
            {
                SessionClose();
            }


            /*PROTECTED REGION END*/
        }
コード例 #3
0
        public void AgregaParticipantes(int p_Proyecto_OID, System.Collections.Generic.IList <int> p_usuariosParticipantes_OIDs)
        {
            /*PROTECTED REGION ID(MultitecUAGenNHibernate.CP.MultitecUA_Proyecto_agregaParticipantes) ENABLED START*/

            IProyectoCAD proyectoCAD = null;
            ProyectoCEN  proyectoCEN = null;



            try
            {
                SessionInitializeTransaction();
                proyectoCAD = new ProyectoCAD(session);
                proyectoCEN = new ProyectoCEN(proyectoCAD);

                ProyectoEN proyectoEN = proyectoCAD.ReadOIDDefault(p_Proyecto_OID);


                NotificacionProyectoCEN notificacionProyectoCEN = new NotificacionProyectoCEN();
                int OID_notificacionProyecto = notificacionProyectoCEN.New_("Nuevos miembros en el proyecto", "El proyecto " + proyectoEN.Nombre + " ha admitido nuevo(s) miembro(s)", proyectoEN.Id);

                NotificacionUsuarioCEN notificacionUsuarioCEN = new NotificacionUsuarioCEN();
                UsuarioCEN             usuarioCEN             = new UsuarioCEN();

                foreach (UsuarioEN usuario in usuarioCEN.DameModeradoresProyecto(p_Proyecto_OID))
                {
                    notificacionUsuarioCEN.New_(usuario.Id, OID_notificacionProyecto);
                }



                //Call to ProyectoCAD

                proyectoCAD.AgregaParticipantes(p_Proyecto_OID, p_usuariosParticipantes_OIDs);



                SessionCommit();
            }
            catch (Exception ex)
            {
                SessionRollBack();
                throw ex;
            }
            finally
            {
                SessionClose();
            }


            /*PROTECTED REGION END*/
        }
コード例 #4
0
        public void EliminaModeradores(int p_Proyecto_OID, System.Collections.Generic.IList <int> p_usuariosModeradores_OIDs)
        {
            /*PROTECTED REGION ID(MultitecUAGenNHibernate.CP.MultitecUA_Proyecto_eliminaModeradores) ENABLED START*/

            IProyectoCAD proyectoCAD = null;
            ProyectoCEN  proyectoCEN = null;
            ProyectoEN   proyectoEN  = null;



            try
            {
                SessionInitializeTransaction();
                proyectoCAD = new ProyectoCAD(session);
                proyectoCEN = new ProyectoCEN(proyectoCAD);
                proyectoEN  = proyectoCAD.ReadOIDDefault(p_Proyecto_OID);

                NotificacionProyectoCEN notificacionProyectoCEN = new NotificacionProyectoCEN();
                int OID_notificacionProyecto = notificacionProyectoCEN.New_("Moderadores eliminados del proyecto", "Han habido cambios en los moderadores del proyecto " + proyectoEN.Nombre, proyectoEN.Id);

                NotificacionUsuarioCEN notificacionUsuarioCEN = new NotificacionUsuarioCEN();
                UsuarioCEN             usuarioCEN             = new UsuarioCEN();

                foreach (UsuarioEN usuario in usuarioCEN.DameModeradoresProyecto(p_Proyecto_OID))
                {
                    notificacionUsuarioCEN.New_(usuario.Id, OID_notificacionProyecto);
                }



                //Call to ProyectoCAD

                proyectoCAD.EliminaModeradores(p_Proyecto_OID, p_usuariosModeradores_OIDs);



                SessionCommit();
            }
            catch (Exception ex)
            {
                SessionRollBack();
                throw ex;
            }
            finally
            {
                SessionClose();
            }


            /*PROTECTED REGION END*/
        }
コード例 #5
0
        public void Destroy(int p_Usuario_OID)
        {
            /*PROTECTED REGION ID(MultitecUAGenNHibernate.CP.MultitecUA_Usuario_destroy) ENABLED START*/

            IUsuarioCAD             usuarioCAD             = null;
            IMensajeCAD             mensajeCAD             = null;
            IProyectoCAD            proyectoCAD            = null;
            INotificacionUsuarioCAD notificacionUsuarioCAD = null;



            try
            {
                SessionInitializeTransaction();
                usuarioCAD             = new UsuarioCAD(session);
                mensajeCAD             = new MensajeCAD(session);
                proyectoCAD            = new ProyectoCAD(session);
                notificacionUsuarioCAD = new NotificacionUsuarioCAD(session);

                if (mensajeCAD.DameMensajesPorAutor(p_Usuario_OID).Count == 0)
                {
                    if (mensajeCAD.DameMensajesPorReceptor(p_Usuario_OID).Count == 0)
                    {
                        if (proyectoCAD.DameProyectosUsuarioPertenece(p_Usuario_OID).Count == 0)
                        {
                            if (notificacionUsuarioCAD.DameNotificacionesPorUsuario(p_Usuario_OID).Count == 0)
                            {
                                usuarioCAD.Destroy(p_Usuario_OID);
                            }
                        }
                    }
                }


                SessionCommit();
            }
            catch (Exception ex)
            {
                SessionRollBack();
                throw ex;
            }
            finally
            {
                SessionClose();
            }


            /*PROTECTED REGION END*/
        }
コード例 #6
0
        public void EliminaParticipante(int p_Proyecto_OID, System.Collections.Generic.IList <int> p_usuariosParticipantes_OIDs)
        {
            /*PROTECTED REGION ID(MultitecUAGenNHibernate.CP.MultitecUA_Proyecto_eliminaParticipante) ENABLED START*/

            IProyectoCAD proyectoCAD = null;
            ProyectoCEN  proyectoCEN = null;



            try
            {
                SessionInitializeTransaction();
                proyectoCAD = new ProyectoCAD(session);
                proyectoCEN = new  ProyectoCEN(proyectoCAD);



                //Call to ProyectoCAD

                proyectoCAD.EliminaParticipante(p_Proyecto_OID, p_usuariosParticipantes_OIDs);



                SessionCommit();
            }
            catch (Exception ex)
            {
                SessionRollBack();
                throw ex;
            }
            finally
            {
                SessionClose();
            }


            /*PROTECTED REGION END*/
        }
コード例 #7
0
        public void AgregaEvento(int p_Proyecto_OID, int p_eventoAsociado_OID)
        {
            /*PROTECTED REGION ID(MultitecUAGenNHibernate.CP.MultitecUA_Proyecto_agregaEvento) ENABLED START*/

            IProyectoCAD proyectoCAD = null;
            ProyectoCEN  proyectoCEN = null;



            try
            {
                SessionInitializeTransaction();
                proyectoCAD = new ProyectoCAD(session);
                proyectoCEN = new  ProyectoCEN(proyectoCAD);



                //Call to ProyectoCAD

                proyectoCAD.AgregaEvento(p_Proyecto_OID, p_eventoAsociado_OID);



                SessionCommit();
            }
            catch (Exception ex)
            {
                SessionRollBack();
                throw ex;
            }
            finally
            {
                SessionClose();
            }


            /*PROTECTED REGION END*/
        }
コード例 #8
0
 public ProyectoCEN(IProyectoCAD _IProyectoCAD)
 {
     this._IProyectoCAD = _IProyectoCAD;
 }
コード例 #9
0
        public void EliminaProyectosAsociados(int p_Evento_OID, System.Collections.Generic.IList <int> p_proyectosPresentados_OIDs)
        {
            /*PROTECTED REGION ID(MultitecUAGenNHibernate.CP.MultitecUA_Evento_eliminaProyectosAsociados) ENABLED START*/

            IEventoCAD   eventoCAD   = null;
            EventoCEN    eventoCEN   = null;
            IProyectoCAD proyectoCAD = null;
            ProyectoCEN  proyectoCEN = null;



            try
            {
                SessionInitializeTransaction();
                eventoCAD = new EventoCAD(session);
                eventoCEN = new  EventoCEN(eventoCAD);

                proyectoCAD = new ProyectoCAD(session);
                proyectoCEN = new ProyectoCEN(proyectoCAD);



                NotificacionProyectoCEN notificacionProyectoCEN = new NotificacionProyectoCEN();
                NotificacionUsuarioCEN  notificacionUsuarioCEN  = new NotificacionUsuarioCEN();
                UsuarioCEN usuarioCEN = new UsuarioCEN();

                foreach (int OID_Evento in p_proyectosPresentados_OIDs)
                {
                    ProyectoEN proyectoEN = proyectoCAD.ReadOID(OID_Evento);

                    EventoEN eventoEN = eventoCEN.ReadOID(OID_Evento);

                    int OID_notificacionProyecto = notificacionProyectoCEN.New_("Proyecto retirado de evento", "El proyecto " + proyectoEN.Nombre + " ha sido retirado del evento " + eventoEN.Nombre + " por un administrador", proyectoEN.Id);

                    foreach (UsuarioEN usuario in usuarioCEN.DameModeradoresProyecto(OID_Evento))
                    {
                        notificacionUsuarioCEN.New_(usuario.Id, OID_notificacionProyecto);
                    }
                }



                //Call to EventoCAD

                eventoCAD.EliminaProyectosAsociados(p_Evento_OID, p_proyectosPresentados_OIDs);



                SessionCommit();
            }
            catch (Exception ex)
            {
                SessionRollBack();
                throw ex;
            }
            finally
            {
                SessionClose();
            }


            /*PROTECTED REGION END*/
        }
コード例 #10
0
        public void Destroy(int p_Proyecto_OID)
        {
            /*PROTECTED REGION ID(MultitecUAGenNHibernate.CP.MultitecUA_Proyecto_destroy) ENABLED START*/

            IProyectoCAD proyectoCAD = null;
            ProyectoCEN  proyectoCEN = null;



            try
            {
                SessionInitializeTransaction();
                proyectoCAD = new ProyectoCAD(session);
                proyectoCEN = new  ProyectoCEN(proyectoCAD);

                ProyectoEN proyectoEN = proyectoCAD.ReadOID(p_Proyecto_OID);

                UsuarioCEN usuarioCEN = new UsuarioCEN();

                List <int> moderadores = new List <int>();
                foreach (UsuarioEN moderador in usuarioCEN.DameModeradoresProyecto(p_Proyecto_OID))
                {
                    moderadores.Add(moderador.Id);
                }
                proyectoCAD.EliminaModeradores(p_Proyecto_OID, moderadores);

                List <int> participantes = new List <int>();
                foreach (UsuarioEN participante in usuarioCEN.DameParticipantesProyecto(p_Proyecto_OID))
                {
                    participantes.Add(participante.Id);
                }
                proyectoCAD.EliminaParticipantes(p_Proyecto_OID, participantes);


                NotificacionCEN notificacionCEN  = new NotificacionCEN();
                int             OID_notificacion = notificacionCEN.New_("Proyecto eliminado", "El proyecto " + proyectoEN.Nombre + " ha sido eliminado");

                NotificacionUsuarioCEN notificacionUsuarioCEN = new NotificacionUsuarioCEN();

                foreach (UsuarioEN usuario in usuarioCEN.DameParticipantesProyecto(p_Proyecto_OID))
                {
                    notificacionUsuarioCEN.New_(usuario.Id, OID_notificacion);
                }

                SolicitudCEN solicitudCEN = new SolicitudCEN();
                foreach (SolicitudEN solicitud in solicitudCEN.DameSolicitudesPorProyectoYEstado(p_Proyecto_OID, Enumerated.MultitecUA.EstadoSolicitudEnum.Pendiente))
                {
                    notificacionUsuarioCEN.New_(solicitud.UsuarioSolicitante.Id, OID_notificacion);
                }

                EventoCEN eventoCEN = new EventoCEN();
                foreach (EventoEN eventoEN in eventoCEN.DameEventosPorProyecto(p_Proyecto_OID))
                {
                    eventoCEN.EliminaProyectosAsociados(eventoEN.Id, new List <int> {
                        p_Proyecto_OID
                    });
                }

                proyectoCAD.Destroy(p_Proyecto_OID);


                SessionCommit();
            }
            catch (Exception ex)
            {
                SessionRollBack();
                throw ex;
            }
            finally
            {
                SessionClose();
            }


            /*PROTECTED REGION END*/
        }
コード例 #11
0
 public ProyectoCEN()
 {
     this._IProyectoCAD = new ProyectoCAD();
 }