/// <summary> /// Si el parametro participantes es distinto a null se cargan estos participantes /// Si el documento no tiene ninguna version ingresada se setean los investigadores principales por dafult /// Si el documento ya tiene versiones se setean los investigadores de la ultima version /// Tiene que invocarse antes de agregar la version al documento /// </summary> /// <param name="version"></param> public void AgregarParticipantes(string participantes, Documento documento, DocumentoVersion version) { if (participantes != null && participantes.Trim().Length > 0) { ServicioEquipos servEquipo = new ServicioEquipos(); if (participantes != null && participantes.Trim().Length > 0) { string[] idProfesionales = participantes.Substring(1).Split(ServiciosHelpers.ID_SEP); foreach (string idProf in idProfesionales) { this.AgregarParticipante(version, servEquipo.ProfesionalObtener(idProf.ConvertirInt())); } } } else { if (documento.Versiones.Count > 0 && documento.VersionActual.Participantes.Count > 0) { documento.VersionActual.Participantes.ToList <DocumentoVersionParticipante>().ForEach(delegate(DocumentoVersionParticipante participante) { this.AgregarParticipante(version, participante.Profesional); }); } else { ServicioEstudios servEstudio = new ServicioEstudios(); documento.Estudio = servEstudio.Obtener(documento.IdEstudio.ToString()); documento.Estudio.InvestigadoresPrincipalesProfesional.ForEach(delegate(Profesional profesional) { this.AgregarParticipante(version, profesional); }); } } }
public void GrabarDocumentoVersionComentario(string idEstudio, string idDocumento, string idVersion, string idVersionComentario, string fecha, string idProfesionalAutor, string observaciones) { ServicioEquipos servEquipo = new ServicioEquipos(); Documento documento = this.Obtener(idDocumento); DocumentoVersion version = documento.ObtenerVersion(idVersion.ConvertirInt()); DocumentoVersionComentario versionComentario = null; int _idVersionComentario = idVersionComentario.ConvertirInt(); if (_idVersionComentario == -1) { versionComentario = new DocumentoVersionComentario(); } else { versionComentario = version.ObtenerVersionComentario(_idVersionComentario); } versionComentario.Fecha = string.IsNullOrEmpty(fecha) ? DateTime.MinValue : DateTime.Parse(fecha); versionComentario.ProfesionalAutor = servEquipo.ProfesionalObtener(idProfesionalAutor.ConvertirInt()); versionComentario.Observaciones = observaciones; versionComentario.Validar(); if (_idVersionComentario == -1) { version.AgregarVersionComentario(versionComentario); } this.Grabar(documento); }
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); }
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); } }
public void InicializarParticipantes(Acta acta) { ServicioEquipos servEquipos = new ServicioEquipos(); List <Profesional> participantes = servEquipos.ProfesionalObtenerVigentes(Constantes.TipoProfesional_MiembroComite); participantes.ForEach(delegate(Profesional profesional) { this.AgregarParticipante(acta, profesional, profesional.RolComite); }); }
public void GrabarDocumentoVersionParticipantes(string idDocumento, string idVersion, string participantes, Usuario usuarioLogin) { ServicioEquipos servEquipo = new ServicioEquipos(); Documento documento = this.Obtener(idDocumento); DocumentoVersion version = documento.ObtenerVersion(idVersion.ConvertirInt()); DocumentoVersionEstado versionEstado = version.ObtenerVersionEstado(); this.ActualizarDocumentoVersion(documento, version.Id.ToString(), version.Descripcion, version.FechaToString, version.AprobadoANMAT.ToString(), version.FechaAprobadoANMATToString, versionEstado.FechaToString, versionEstado.Estado.Id.ToString(), participantes, usuarioLogin); this.Grabar(documento); }
public void EliminarDocumentoVersionEstado(string idEstudio, string idDocumento, string idVersion, string idVersionEstado, string idEstado) { ServicioParametricas servParametricas = new ServicioParametricas(); ServicioEquipos servEquipo = new ServicioEquipos(); Documento documento = this.Obtener(idDocumento); DocumentoVersion version = documento.ObtenerVersion(idVersion.ConvertirInt()); version.EliminarVersionEstado(int.Parse(idVersionEstado)); this.Grabar(documento); }
public void GrabarParticipante(string idEstudio, string idParticipante, string idProfesional, string idRol, string desde, string hasta) { ServicioEquipos servEquipo = new ServicioEquipos(); Profesional profesional = servEquipo.ProfesionalObtener(idProfesional.ConvertirInt()); Rol rol = servEquipo.RolObtener(idRol.ConvertirInt()); Estudio estudio = this.Obtener(idEstudio); EstudioParticipante participante = null; int _idParticipante = idParticipante.ConvertirInt(); if (_idParticipante == -1) { participante = new EstudioParticipante(); } else { participante = estudio.ObtenerParticipante(_idParticipante); } participante.Profesional = profesional; participante.Rol = rol; if (!string.IsNullOrEmpty(desde)) { participante.Desde = DateTime.Parse(desde); } if (!string.IsNullOrEmpty(hasta)) { participante.Hasta = DateTime.Parse(hasta); } participante.Validar(); if (_idParticipante == -1) { estudio.AgregarParticipante(participante); } this.Grabar(estudio); }
public void GrabarNuevaNota(string idActa, string imprimeAlFinal, string idNota, string idEstudio, string descripion, string fecha, string idAutor, string texto) { RepositoryGenerico <Nota> notaRepository = new RepositoryGenerico <Nota>(); ServicioEquipos servEquipo = new ServicioEquipos(); /* * ActasRepository actaRepository = new ActasRepository(); * Nota nota = acta.Notas.ToList<Nota>().Find(item => item.IdEstudio == idEstudio.ConvertirInt() && item.ActaImprimeAlFinal == _imprimeAlFinal); * List<Nota> notas = actaRepository.ObtenerActaNota_Estudio(idActa.ConvertirInt(), idEstudio.ConvertirInt()).ToList<Nota>(); * Nota nota = notas.Find(item => item.IdEstudio == idEstudio.ConvertirInt() && item.ActaImprimeAlFinal == _imprimeAlFinal); */ Nota nota; if (idNota.ConvertirInt() != -1) { nota = notaRepository.Obtener(idNota.ConvertirInt()); } else { nota = new Nota(); nota.Id = -1; } nota.IdActa = idActa.ConvertirInt(); nota.IdEstudio = idEstudio.ConvertirInt(); nota.ActaImprimeAlFinal = string.IsNullOrEmpty(imprimeAlFinal) ? false : (imprimeAlFinal.Equals("1") ? true : false); nota.Descripcion = string.IsNullOrEmpty(descripion) ? string.Empty : descripion; nota.Fecha = string.IsNullOrEmpty(fecha) ? DateTime.MinValue : DateTime.Parse(fecha); nota.Autor = servEquipo.ProfesionalObtener(idAutor.ConvertirInt()); nota.RequiereRespuesta = false; nota.Texto = texto; nota.Vigente = true; nota.Validar(); notaRepository.Actualizar(nota); }
public void GrabarNota(string idEstudio, string idNota, string descripion, string fecha, string idAutor, string nombreArchivo, string pathArchivo, string requiereRespuesta, string idDocumento, string idDocumentoVersion, string texto) { ServicioEquipos servEquipo = new ServicioEquipos(); Estudio estudio = this.Obtener(idEstudio); Nota nota = null; int _idDocumento = idDocumento.ConvertirInt(); int _idDocumentoVersion = idDocumentoVersion.ConvertirInt(); DocumentoVersion docVersion = null; if (_idDocumento != -1 && _idDocumentoVersion == -1) { throw new ApplicationException("Debe seleccionar Documento y Versión del mismo"); } int _idNota = idNota.ConvertirInt(); if (_idNota == -1) { nota = new Nota(); } else { nota = estudio.ObtenerNota(_idNota); } nota.Descripcion = string.IsNullOrEmpty(descripion) ? string.Empty : descripion; nota.Fecha = string.IsNullOrEmpty(fecha) ? DateTime.MinValue : DateTime.Parse(fecha); nota.Autor = servEquipo.ProfesionalObtener(idAutor.ConvertirInt()); nota.NombreArchivo = nombreArchivo; nota.PathArchivo = pathArchivo; bool _requiereRespuesta = false; if (bool.TryParse(requiereRespuesta, out _requiereRespuesta)) { nota.RequiereRespuesta = _requiereRespuesta; } if (_idDocumento != -1 && _idDocumentoVersion != -1) { docVersion = estudio.ObtenerDocumento(_idDocumento) .ObtenerVersion(_idDocumentoVersion); } nota.Texto = texto; if (docVersion != null) { nota.AgregarDocumento(docVersion); } nota.Vigente = true; nota.Validar(); if (_idNota == -1) { estudio.AgregarNota(nota); } this.Grabar(estudio); }
public void GrabarDocumentoVersionEstado(string idEstudio, string idDocumento, string idVersion, string idVersionEstado, string idEstado, string fecha, string idProfesionalAutor, string idProfesionalPresenta, string idProfesionalResponsable, Usuario usuarioLogin) { ServicioParametricas servParametricas = new ServicioParametricas(); ServicioEquipos servEquipo = new ServicioEquipos(); Documento documento = this.Obtener(idDocumento); DocumentoVersion version = documento.ObtenerVersion(idVersion.ConvertirInt()); 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.Id == idEstado.ConvertirInt()) { return; } //si ya tiene un estado final se quita primero, para que quede un solo estado final if (versionEstadoActual.EstadoFinal.HasValue && versionEstadoActual.EstadoFinal.Value) { version.EliminarVersionEstado(versionEstadoActual.Id); } } DocumentoVersionEstado versionEstado = null; int _idVersionEstado = idVersionEstado.ConvertirInt(); if (_idVersionEstado == -1) { versionEstado = new DocumentoVersionEstado(); } else { versionEstado = version.ObtenerVersionEstado(_idVersionEstado); } versionEstado.Fecha = string.IsNullOrEmpty(fecha) ? DateTime.MinValue : DateTime.Parse(fecha); EstadoDocumento nuevoEstado = null; nuevoEstado = servParametricas.EstadoDocumentoObtener(idEstado.ConvertirInt()); versionEstado.Estado = nuevoEstado; versionEstado.Usuario = usuarioLogin; versionEstado.ProfesionalAutor = servEquipo.ProfesionalObtener(idProfesionalAutor.ConvertirInt()); versionEstado.ProfesionalPresenta = servEquipo.ProfesionalObtener(idProfesionalPresenta.ConvertirInt()); versionEstado.ProfesionalResponsable = servEquipo.ProfesionalObtener(idProfesionalResponsable.ConvertirInt()); versionEstado.Observaciones = string.Empty; TipoDocumentoFlujoEstado flujoEstado = documento.TipoDocumento.ObtenerFlujoDefault().ObtenerFlujoEstado(nuevoEstado); if (flujoEstado != null) { versionEstado.EstadoFinal = flujoEstado.Final; } else { versionEstado.EstadoFinal = false; } versionEstado.Validar(); if (_idVersionEstado == -1) { version.AgregarVersionEstado(versionEstado); } this.Grabar(documento); }
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)); }