예제 #1
0
        public virtual void AgregarParticipante(Profesional profesional, Rol rol, DateTime?desde, DateTime?hasta)
        {
            Participantes.ToList <EstudioParticipante>().ForEach(delegate(EstudioParticipante estParticipante)
            {
                if (estParticipante.Profesional == profesional)
                {
                    throw new ApplicationException(string.Format("El Participante {0} ya existe en el estudio {1}",
                                                                 profesional.NombreCompleto,
                                                                 this.Descripcion));
                }
            });
            EstudioParticipante estudioParticipante = new EstudioParticipante();

            estudioParticipante.Estudio     = this;
            estudioParticipante.Profesional = profesional;
            estudioParticipante.Rol         = rol;
            if (desde.HasValue)
            {
                estudioParticipante.Desde = desde.Value;
            }
            if (hasta.HasValue)
            {
                estudioParticipante.Hasta = hasta.Value;
            }

            Participantes.Add(estudioParticipante);
        }
예제 #2
0
        public virtual RolComite ObtenerRolComiteParticipantes(Profesional profesional)
        {
            ActaProfesional actaProf = Participantes.ToList <ActaProfesional>().Find(delegate(ActaProfesional actaProfesional)
            {
                return(actaProfesional.Profesional.Id == profesional.Id);
            });

            return(actaProf != null ? actaProf.RolComite : null);
        }
예제 #3
0
        public virtual void ActualizarParticipanteRolcomite(int idActaParticipante, RolComite rolComite)
        {
            ActaProfesional actaProfesional = Participantes.ToList <ActaProfesional>().Find(delegate(ActaProfesional actaProf) { return(actaProf.Id == idActaParticipante); });

            if (actaProfesional != null)
            {
                actaProfesional.RolComite = rolComite;
            }
        }
예제 #4
0
        public virtual ActaProfesional ObtenerParticipante(int idActaProfesional)
        {
            ActaProfesional participanteReturn = null;

            participanteReturn = Participantes.ToList <ActaProfesional>().Find(delegate(ActaProfesional actaProfesional)
            {
                return(actaProfesional.Id == idActaProfesional);
            });
            return(participanteReturn);
        }
예제 #5
0
 public virtual void EliminarParticipante(ActaProfesional actaProfesional)
 {
     Participantes.ToList <ActaProfesional>().ForEach(delegate(ActaProfesional actaProf)
     {
         if (actaProf == actaProfesional)
         {
             Participantes.Remove(actaProf);
         }
     });
 }
예제 #6
0
 public virtual void EliminarParticipante(EstudioParticipante participante)
 {
     Participantes.ToList <EstudioParticipante>().ForEach(delegate(EstudioParticipante estParticipante)
     {
         if (estParticipante == participante)
         {
             Participantes.Remove(estParticipante);
         }
     });
 }
예제 #7
0
        public virtual List <ActaProfesional> ObtenerParticipantes(int idRolComite)
        {
            List <ActaProfesional> participanteReturn = null;

            participanteReturn = Participantes.ToList <ActaProfesional>().FindAll(delegate(ActaProfesional actaProfesional)
            {
                return(actaProfesional.RolComite != null &&
                       actaProfesional.RolComite.Id == idRolComite);
            });
            return(participanteReturn);
        }
예제 #8
0
        private List <EstudioParticipante> ObtenerInvestigadoresPrincipales()
        {
            List <EstudioParticipante> investigadoresPrincipales = new List <EstudioParticipante>();

            Participantes.ToList <EstudioParticipante>().ForEach(delegate(EstudioParticipante estParticipante)
            {
                if (estParticipante.EsInvestigadorPrincipal)
                {
                    investigadoresPrincipales.Add(estParticipante);
                }
            });
            return(investigadoresPrincipales);
        }
예제 #9
0
        public virtual EstudioParticipante ObtenerParticipante(int idParticipante)
        {
            EstudioParticipante participanteReturn = null;

            Participantes.ToList <EstudioParticipante>().ForEach(delegate(EstudioParticipante estParticipante)
            {
                if (estParticipante.Id == idParticipante)
                {
                    participanteReturn = estParticipante;
                }
            });
            return(participanteReturn);
        }
예제 #10
0
 public virtual void AgregarParticipante(EstudioParticipante participante)
 {
     if (participante.Id == -1)
     {
         Participantes.ToList <EstudioParticipante>().ForEach(delegate(EstudioParticipante estParticipante)
         {
             if (estParticipante.Profesional == participante.Profesional)
             {
                 throw new ApplicationException(string.Format("El Participante {0} ya existe en el estudio {1}",
                                                              participante.Profesional.NombreCompleto,
                                                              this.Descripcion));
             }
         });
     }
     participante.Estudio = this;
     Participantes.Add(participante);
 }
예제 #11
0
 public virtual void AgregarParticipante(DocumentoVersionParticipante documentoVersionParticipante)
 {
     if (documentoVersionParticipante.Id == -1)
     {
         DocumentoVersionParticipante participanteExistente = null;
         participanteExistente = Participantes.ToList <DocumentoVersionParticipante>().Find(delegate(DocumentoVersionParticipante versionProf)
         {
             return(versionProf.Profesional == documentoVersionParticipante.Profesional);
         });
         if (participanteExistente != null)
         {
             throw new ApplicationException(string.Format("El profesional {0} ya está vinculado al documento",
                                                          documentoVersionParticipante.Profesional.NombreCompleto));
         }
     }
     documentoVersionParticipante.DocumentoVersion = this;
     Participantes.Add(documentoVersionParticipante);
 }
예제 #12
0
 public virtual void AgregarParticipante(ActaProfesional actaProfesional)
 {
     if (actaProfesional.Id == -1)
     {
         ActaProfesional participanteExistente = null;
         participanteExistente = Participantes.ToList <ActaProfesional>().Find(delegate(ActaProfesional actaProf)
         {
             return(actaProf.Profesional == actaProfesional.Profesional);
         });
         if (participanteExistente != null)
         {
             throw new ApplicationException(string.Format("El profesional {0} ya existe en la acta {1}",
                                                          actaProfesional.Profesional.NombreCompleto,
                                                          this.Descripcion));
         }
     }
     actaProfesional.Acta = this;
     Participantes.Add(actaProfesional);
 }