Beispiel #1
0
        public void EnviarMail(string idRecordatorio)
        {
            ServicioParametricas servParametricas = new ServicioParametricas();

            Recordatorio recordatorio = this.Obtener(idRecordatorio);

            Parametro parms    = servParametricas.ObtenerObjeto <Parametro>("Descripcion", "SMTP_HOST");
            string    hostSMTP = (parms != null) ? parms.Valor : string.Empty;

            parms = servParametricas.ObtenerObjeto <Parametro>("Descripcion", "SMTP_PUERTO");
            string puertoSMTP = (parms != null) ? parms.Valor : "0";

            parms = servParametricas.ObtenerObjeto <Parametro>("Descripcion", "SMTP_USER");
            string userSMTP = (parms != null) ? parms.Valor : string.Empty;

            parms = servParametricas.ObtenerObjeto <Parametro>("Descripcion", "SMTP_PWD");
            string pwdSMTP = (parms != null) ? parms.Valor : string.Empty;

            parms = servParametricas.ObtenerObjeto <Parametro>("Descripcion", "REMITENTE_AVISOS");
            string remitente = (parms != null) ? parms.Valor : string.Empty;

            CorreoElectronico email = new CorreoElectronico(hostSMTP, puertoSMTP.ConvertirInt(), userSMTP, pwdSMTP);

            string[] destinatarios = recordatorio.Destinatarios.Split(';');
            email.Destinatarios.AddRange(destinatarios.ToList <string>());

            email.Remitente = remitente;
            email.Asunto    = recordatorio.Asunto;
            email.Contenido = recordatorio.TextoMail;
            email.EnviarMail();
        }
Beispiel #2
0
        public void GrabarParticipantes(string idActa, string participantes)
        {
            ServicioEquipos      servEquipo       = new ServicioEquipos();
            ServicioParametricas servParametricas = new ServicioParametricas();

            Acta acta = this.Obtener(idActa);

            acta.EliminarParticipantes();
            if (participantes.Trim().Length > 0)
            {
                string[] actaParticipantes = participantes.Substring(1).Split(ServiciosHelpers.ID_SEP);

                foreach (string participante in actaParticipantes)
                {
                    string[]    infoParticipante = participante.Split(',');
                    Profesional profesional      = servEquipo.ProfesionalObtener(infoParticipante[0].ConvertirInt());
                    RolComite   rolComite        = servParametricas.ObtenerObjeto <RolComite>(infoParticipante[1].ConvertirInt());

                    this.AgregarParticipante(acta, profesional, rolComite);
                }
            }

            if (acta.ComentarioInicialFijo.Trim().Length > 0)
            {
                acta.ComentarioInicialFijo = this.ArmarComentarioInicialFijo(acta);
            }

            this.Grabar(acta);
        }
Beispiel #3
0
        private static void InicializarClave()
        {
            try
            {
                AppSettingsReader webConfigReader = new AppSettingsReader();
                key             = "QEzBx86jTAs=";
                claveEncriptada = (string)webConfigReader.GetValue("nhibernateConfiguration", typeof(string));

                ServicioParametricas servicio = new ServicioParametricas();
                baseDatos           = servicio.BaseDatos;
                servidor            = servicio.ServidorBaseDatos;
                comite              = servicio.ObtenerObjeto <Parametro>("Descripcion", "Comite");
                fechaImplementacion = servicio.ObtenerObjeto <Parametro>("Descripcion", "FechaImplementacion");
            }
            catch { }
        }
Beispiel #4
0
        public void GrabarDocumento(Acta acta, string idActaDocumento, string idDocumento, string idDocumentoVersion, string comentario, string idResponsableComite, string imprimirCarta, Usuario usuarioLogin)
        {
            ServicioDocumentos servDocumento = new ServicioDocumentos();
            ServicioEquipos    servEquipo    = new ServicioEquipos();

            ActaDocumento actaDocumento = null;

            int _idDocumentoVersion = idDocumentoVersion.ConvertirInt();

            if (_idDocumentoVersion == -1)
            {
                throw new ApplicationException("Debe seleccionar documento y versión a comentar");
            }

            int _idActaDocumento = idActaDocumento.ConvertirInt();

            if (_idActaDocumento == -1)
            {
                actaDocumento = new ActaDocumento();
            }
            else
            {
                actaDocumento = acta.ObtenerDocumento(_idActaDocumento);
            }

            DocumentoVersion docVersion = servDocumento.Obtener(idDocumento)
                                          .ObtenerVersion(_idDocumentoVersion);

            actaDocumento.DocumentoVersion  = docVersion;
            actaDocumento.Descripcion       = comentario;
            actaDocumento.ResponsableComite = servEquipo.ProfesionalObtener(idResponsableComite.ConvertirInt());
            actaDocumento.OrdenEstudio      = acta.ObtenerOrdenEstudio(docVersion.Documento.Estudio.Id);
            actaDocumento.OrdenDocumento    = acta.ObtenerOrdenUltimoDocumentoDelEstudio(docVersion.Documento.Estudio.Id);
            actaDocumento.ImprimirCarta     = imprimirCarta.ConvertirBool();

            if (_idActaDocumento == -1)
            {
                ServicioParametricas servParametricas = new ServicioParametricas();
                Parametro            parmsEstado      = servParametricas.ObtenerObjeto <Parametro>("Descripcion", "ESTADO_DOC_EN_EVALUACION");
                string          _idEstado             = (parmsEstado != null) ? parmsEstado.Valor : null;
                EstadoDocumento estado = servParametricas.EstadoDocumentoObtener(_idEstado.ConvertirInt());
                servDocumento.GrabarDocumentoVersionEstado(docVersion, estado, false, usuarioLogin);
            }

            actaDocumento.Validar();

            if (_idActaDocumento == -1)
            {
                /*Si el estudio al cual pertenece el documento no existe en el acta,
                 * se crea automaticamente notas al pie y al continuacion de los documentos tratados*/
                if (!acta.EstudioTieneNotas(docVersion.Documento.IdEstudio))
                {
                    string descripcionNota = string.Format("{0} - ESTUDIO {1}", acta.Descripcion, docVersion.Documento.NombreEstudio);
                    this.GrabarNuevaNota(acta.Id.ToString(), "0", "-1", docVersion.Documento.Estudio.Id.ToString(), string.Format("{0} - INICIO", descripcionNota), DateTime.Now.ToString(), null, string.Empty);
                    this.GrabarNuevaNota(acta.Id.ToString(), "1", "-1", docVersion.Documento.Estudio.Id.ToString(), string.Format("{0} - FINAL", descripcionNota), DateTime.Now.ToString(), null, string.Empty);
                }
                acta.AgregarDocumento(actaDocumento);
            }
        }
Beispiel #5
0
        public void EnviarMailContactoHomePage(string datosContacto)
        {
            ServicioParametricas servParametricas = new ServicioParametricas();

            Parametro parms    = servParametricas.ObtenerObjeto <Parametro>("Descripcion", "SMTP_HOST");
            string    hostSMTP = (parms != null) ? parms.Valor : string.Empty;

            parms = servParametricas.ObtenerObjeto <Parametro>("Descripcion", "SMTP_PUERTO");
            string puertoSMTP = (parms != null) ? parms.Valor : "0";

            parms = servParametricas.ObtenerObjeto <Parametro>("Descripcion", "SMTP_USER");
            string userSMTP = (parms != null) ? parms.Valor : string.Empty;

            parms = servParametricas.ObtenerObjeto <Parametro>("Descripcion", "SMTP_PWD");
            string pwdSMTP = (parms != null) ? parms.Valor : string.Empty;

            parms = servParametricas.ObtenerObjeto <Parametro>("Descripcion", "REMITENTE_AVISOS");
            string remitente = (parms != null) ? parms.Valor : string.Empty;

            parms = servParametricas.ObtenerObjeto <Parametro>("Descripcion", "EMAIL_CONTACTOHOMEPAGE_ASUNTO");
            string asunto = (parms != null) ? parms.Valor : string.Empty;

            parms = servParametricas.ObtenerObjeto <Parametro>("Descripcion", "EMAIL_CONTACTOHOMEPAGE_DESTINATARIOS");
            string mailDestinatarios = (parms != null) ? parms.Valor : string.Empty;

            CorreoElectronico email = new CorreoElectronico(hostSMTP, puertoSMTP.ConvertirInt(), userSMTP, pwdSMTP);

            dynamic datosAux = ServiciosHelpers.DeserializarGenerico(datosContacto);

            ContactoHP contacto = new ContactoHP();

            contacto.Fecha    = DateTime.Now;
            contacto.Email    = datosAux.email;
            contacto.Telefono = datosAux.telefono;
            contacto.Nombre   = datosAux.nombre;
            contacto.Comite   = datosAux.comite;
            contacto.Mensaje  = datosAux.mensaje;

            RepositoryGenerico <ContactoHP> repositoryContacto = new RepositoryGenerico <ContactoHP>();

            repositoryContacto.Actualizar(contacto);


            string[] destinatarios = mailDestinatarios.Split(';');
            email.Destinatarios.AddRange(destinatarios.ToList <string>());

            email.Remitente     = remitente;
            email.Asunto        = asunto;
            email.ContenidoHTML = false;
            email.Contenido     = string.Format(" Se contactó: {0}\n Comité de Ética: {1}\n Email: {2}\n Teléfopno: {3}\n Mensaje:\n{4}",
                                                contacto.Nombre,
                                                contacto.Comite,
                                                contacto.Email,
                                                contacto.Telefono,
                                                contacto.Mensaje);
            email.EnviarMail();
        }
Beispiel #6
0
        public int GrabarDocumento(string idEstudio, string idDocumento, string descripion, string idTipoDocumento, string limitante, Usuario usuarioLogin,
                                   bool verificarVersion, string idVersion, string versionDescripion, string versionFecha, string versionAprobadoANMAT, string versionFechaAprobadoANMAT, string versionFechaEstado, string versionIdEstado, string participantes,
                                   string requiereAlertaInactividad, string mesesAlertaInactividad, string requiereAlertaInformeAvance, string mesesAlertaInformeAvance)
        {
            //ServiciosHelpers.ValidarClave(estudio);

            Documento documento = null;

            int _idDocumento = idDocumento.ConvertirInt();

            if (_idDocumento != -1)
            {
                documento = repository.Obtener(_idDocumento);
            }

            if (documento == null)
            {
                documento = new Documento();
            }

            documento.Descripcion   = string.IsNullOrEmpty(descripion) ? string.Empty : descripion;
            documento.TipoDocumento = this.TipoDocumentoObtener(idTipoDocumento.ConvertirInt());
            documento.Limitante     = limitante.ConvertirBool();
            documento.Vigente       = true;
            documento.IdEstudio     = idEstudio.ConvertirInt();

            documento.Validar();


            if (verificarVersion)
            {
                this.ActualizarDocumentoVersion(documento, idVersion, versionDescripion, versionFecha, versionAprobadoANMAT, versionFechaAprobadoANMAT, versionFechaEstado, versionIdEstado, participantes, usuarioLogin);
            }
            else if (documento.TipoDocumento != null && !documento.TipoDocumento.RequiereVersion && documento.Versiones.Count == 0)
            {
                ServicioParametricas servParametricas = new ServicioParametricas();
                DocumentoVersion     version          = new DocumentoVersion();
                version.Fecha       = null;
                version.Descripcion = string.Empty;

                Parametro parmsEstado = servParametricas.ObtenerObjeto <Parametro>("Descripcion", "ESTADO_DOC_INGRESADO");
                string    idEstado    = (parmsEstado != null) ? parmsEstado.Valor : null;

                DocumentoVersionEstado versionEstado = this.CrearDocumentoVersionEstado(documento.TipoDocumento, idEstado, DateTime.Now.ToString(), usuarioLogin);
                version.AgregarVersionEstado(versionEstado);

                this.AgregarParticipantes(participantes, documento, version);

                documento.AgregarVersion(version);
            }


            return(this.Grabar(documento));
        }
Beispiel #7
0
        public void EliminarDocumento(string idActa, string idActaDocumento)
        {
            int _idActaDocumento = idActaDocumento.ConvertirInt();

            if (_idActaDocumento == -1)
            {
                throw new ApplicationException("No seleccionó documento que desea eliminar");
            }

            Acta          acta          = this.Obtener(idActa);
            ActaDocumento actaDocumento = acta.ObtenerDocumento(_idActaDocumento);
            int           idEstudio     = actaDocumento.IdEstudio;

            //verifico si el ultimo estado es EN EVALUACION, se elimina
            ServicioParametricas servParametricas = new ServicioParametricas();
            Parametro            parmsEstado      = servParametricas.ObtenerObjeto <Parametro>("Descripcion", "ESTADO_DOC_EN_EVALUACION");
            string idEstado = (parmsEstado != null) ? parmsEstado.Valor : null;

            DocumentoVersion docVersion = actaDocumento.DocumentoVersion;

            if (docVersion.ObtenerVersionEstado().Id.Equals(idEstado.ConvertirInt()))
            {
                ServicioDocumentos servDocumentos = new ServicioDocumentos();
                //Refactorizar para no tener que enviarle todos los parametros cada vez que se invoque, enviar solo docVersion
                servDocumentos.EliminarDocumentoVersionEstado(docVersion.Documento.IdEstudio.ToString(), docVersion.Documento.Id.ToString(), docVersion.Id.ToString(), docVersion.ObtenerVersionEstado().Id.ToString(), idEstado);
            }

            acta.EliminarDocumento(actaDocumento);


            //Si el estudio quedo sin documentos y sin notas, se debe eliminar el estudio del acta ActaEstudios y Notas por IdEstudio

            bool estudioConDocumentos = acta.Documentos.ToList <ActaDocumento>()
                                        .FindAll(item => item.IdEstudio == idEstudio).Count > 0;

            bool estudioConNotas = acta.Notas.ToList <Nota>()
                                   .FindAll(item => item.IdEstudio == idEstudio && item.Texto.Trim().Length > 0)
                                   .Count > 0;

            if (!estudioConDocumentos && !estudioConNotas)
            {
                acta.EliminarEstudio(idEstudio);
                acta.Notas.ToList <Nota>()
                .FindAll(item => item.IdEstudio == idEstudio)
                .ForEach(delegate(Nota nota)
                {
                    acta.EliminarNota(nota);
                });
            }
            this.Grabar(acta);
        }
Beispiel #8
0
        public void TipoUsuarioGrabar(string id, string descripcion, string permisos)
        {
            ServicioParametricas servParametricas = new ServicioParametricas();
            TipoUsuario          tipoUSR          = null;

            int _id = -1;

            if (!int.TryParse(id, out _id))
            {
                _id = -1;
            }

            if (_id == -1)
            {
                tipoUSR = new TipoUsuario();
            }
            else
            {
                tipoUSR = this.TipoUsuarioObtener(_id);
            }

            tipoUSR.Descripcion = descripcion == null ? string.Empty : descripcion;
            tipoUSR.Vigente     = true;

            if (permisos.Trim().Length > 0)
            {
                TipoUsuarioAcceso tipoUsuarioAcceso     = null;
                string[]          permisosSeleccionados = permisos.Substring(1).Split(';');

                foreach (string permiso in permisosSeleccionados)
                {
                    tipoUsuarioAcceso = new TipoUsuarioAcceso();
                    string[] menuAccesos = permiso.Split(',');

                    tipoUsuarioAcceso.IdMenuPrincipal  = menuAccesos[0].ConvertirInt();
                    tipoUsuarioAcceso.IdMenuSecundario = menuAccesos[1].ConvertirInt();
                    tipoUsuarioAcceso.NivelAcceso      = servParametricas.ObtenerObjeto <NivelAcceso>(menuAccesos[2].ConvertirInt());

                    tipoUSR.AsignarPermiso(tipoUsuarioAcceso);
                }
            }

            RepositoryGenerico <TipoUsuario> repository = new RepositoryGenerico <TipoUsuario>();

            repository.Actualizar(tipoUSR);
        }
Beispiel #9
0
        public void ProfesionalGrabar(string id, string apellido, string nombre, string idTipoProfesional, string IdRolcomite, string titulo, string ordenActa)
        {
            ServicioParametricas servParametricas = new ServicioParametricas();
            Profesional          profesional;

            int _id = -1;

            if (!int.TryParse(id, out _id))
            {
                _id = -1;
            }

            if (_id == -1)
            {
                profesional = new Profesional();
            }
            else
            {
                profesional = this.ProfesionalObtener(_id);
            }

            profesional.Apellido  = apellido.ConvertirString();
            profesional.Nombre    = nombre.ConvertirString();
            profesional.Titulo    = titulo.ConvertirString();
            profesional.RolComite = servParametricas.ObtenerObjeto <RolComite>(IdRolcomite.ConvertirInt());
            profesional.OrdenActa = ordenActa.ConvertirInt();
            profesional.Vigente   = true;

            if (idTipoProfesional.ConvertirInt() != -1)
            {
                profesional.TipoProfesional = this.TipoProfesionalObtener(idTipoProfesional.ConvertirInt());
            }

            profesional.Validar();

            RepositoryGenerico <Profesional> repository = new RepositoryGenerico <Profesional>();

            repository.Actualizar(profesional);
        }
Beispiel #10
0
        public void GrabarDocumentoVersionEstado(DocumentoVersion version, EstadoDocumento estado, bool actualizarEstadoFinal, Usuario usuarioLogin)
        {
            if (estado == null && !actualizarEstadoFinal)
            {
                return;
            }

            ServicioParametricas servParametricas = new ServicioParametricas();

            DocumentoVersionEstado versionEstadoActual = version.ObtenerVersionEstado();

            if (versionEstadoActual != null && versionEstadoActual.Estado != null)
            {
                //para no duplicar el estado, si ya lo tiene no hce nada
                if (versionEstadoActual.Estado == estado)
                {
                    return;
                }

                //si ya tiene un estado final y no se está actualizando estado final, se quita primero para que quede un solo estado final
                if (versionEstadoActual.EstadoFinal.HasValue && versionEstadoActual.EstadoFinal.Value)
                {
                    if (actualizarEstadoFinal)
                    {
                        return;
                    }
                    else
                    {
                        version.EliminarVersionEstado(versionEstadoActual.Id);
                    }
                }
            }

            EstadoDocumento estadoAprobadoExistente         = null;
            EstadoDocumento estadoTomaConocimientoExistente = null;
            EstadoDocumento nuevoEstado = null;

            if (actualizarEstadoFinal)
            {
                List <EstadoDocumento> listEstados = version.Documento.TipoDocumento.ObtenerFlujoDefault().ObtenerEstados(versionEstadoActual.Estado);

                Parametro parmsEstado      = servParametricas.ObtenerObjeto <Parametro>("Descripcion", "ESTADO_DOC_APROBADO");
                string    idEstadoAprobado = (parmsEstado != null) ? parmsEstado.Valor : null;
                estadoAprobadoExistente = listEstados.Find(delegate(EstadoDocumento match) { return(match.Id == idEstadoAprobado.ConvertirInt()); });

                parmsEstado = servParametricas.ObtenerObjeto <Parametro>("Descripcion", "ESTADO_DOC_TOMA_CONOCIMIENTO");
                string idEstadoTomaConocimiento = (parmsEstado != null) ? parmsEstado.Valor : null;
                estadoTomaConocimientoExistente = listEstados.Find(delegate(EstadoDocumento match) { return(match.Id == idEstadoTomaConocimiento.ConvertirInt()); });

                if (estadoAprobadoExistente == null && estadoTomaConocimientoExistente == null)
                {
                    return;
                }

                nuevoEstado = (estadoAprobadoExistente != null) ? estadoAprobadoExistente : estadoTomaConocimientoExistente;
            }
            else
            {
                nuevoEstado = estado;
            }

            DocumentoVersionEstado versionEstado = new DocumentoVersionEstado();

            versionEstado.Fecha         = DateTime.Now;
            versionEstado.Estado        = nuevoEstado;
            versionEstado.Usuario       = usuarioLogin;
            versionEstado.Observaciones = string.Empty;

            TipoDocumentoFlujoEstado flujoEstado = version.Documento.TipoDocumento.ObtenerFlujoDefault().ObtenerFlujoEstado(nuevoEstado);

            if (flujoEstado != null)
            {
                versionEstado.EstadoFinal = flujoEstado.Final;
            }
            else
            {
                versionEstado.EstadoFinal = false;
            }

            versionEstado.Validar();

            version.AgregarVersionEstado(versionEstado);
        }
Beispiel #11
0
        public int Grabar(string idActa, string descripcion, string fecha, string hora, string comentarioInicialFijo, string comentarioInicial, string comentarioFinal, string cerrada, string participantes)
        {
            ServicioEstudios     servEstudio      = new ServicioEstudios();
            ServicioEquipos      servEquipo       = new ServicioEquipos();
            ServicioParametricas servParametricas = new ServicioParametricas();

            Acta acta = null;

            int _idActa = idActa.ConvertirInt();

            descripcion = string.IsNullOrEmpty(descripcion) ? string.Empty : descripcion;

            if (descripcion.StartsWith("DOSSIER"))
            {
                descripcion = string.Format("{0} - Acta número: {1} - {2}", descripcion, idActa.ToString(), DateTime.Now.ToString("dd/mm/yyyy"));
            }

            if (_idActa == -1)
            {
                List <Acta> actasMismaDescripcion = repository.ObtenerTodosVigentes(descripcion).ToList <Acta>();
                if (actasMismaDescripcion.Count > 0)
                {
                    throw new ApplicationException(string.Format(@"Ya existe una Acta con la Descripcion {0}", descripcion));
                }

                acta = new Acta();

                this.InicializarParticipantes(acta);
            }
            else
            {
                acta = this.Obtener(idActa);

                string[] actaParticipantes = participantes.Split(';');
                foreach (string participante in actaParticipantes)
                {
                    if (participante.Trim().Length > 0)
                    {
                        string[]    infoParticipante   = participante.Split(',');
                        int         idActaParticipante = infoParticipante[0].ConvertirInt();
                        Profesional profesional        = servEquipo.ProfesionalObtener(infoParticipante[1].ConvertirInt());
                        RolComite   rolComite          = servParametricas.ObtenerObjeto <RolComite>(infoParticipante[2].ConvertirInt());

                        acta.ActualizarParticipanteRolcomite(idActaParticipante, rolComite);
                    }
                }
            }
            acta.Descripcion = descripcion.ConvertirString();
            acta.Fecha       = fecha.ConvertirDateTime();
            acta.Hora        = hora;

            acta.ComentarioInicialFijo = comentarioInicialFijo;
            acta.ComentarioInicial     = comentarioInicial.ConvertirString();
            acta.ComentarioInicial     = comentarioInicial.ConvertirString();
            acta.ComentarioFinal       = comentarioFinal.ConvertirString();
            acta.Cerrada = cerrada.ConvertirBool();

            acta.Vigente = true;

            return(this.Grabar(acta));
        }