public void GrabarDocumentoComentarioEstado(string idActaDocumento, string comentario, string idEstadoDocumento, string actualizarEstadoFinal, string imprimirCarta, string setearSaltoLinea, Usuario usuarioLogin) { ServicioParametricas servParametricas = new ServicioParametricas(); ServicioDocumentos servDocumento = new ServicioDocumentos(); int _idActaDocumento = idActaDocumento.ConvertirInt(); if (_idActaDocumento == -1) { return; } RepositoryGenerico <ActaDocumento> repository = new RepositoryGenerico <ActaDocumento>(); ActaDocumento actaDocumento = repository.Obtener(_idActaDocumento); actaDocumento.Descripcion = comentario; actaDocumento.ImprimirCarta = imprimirCarta.ConvertirBool(); actaDocumento.SetearSaltosLinea = setearSaltoLinea.ConvertirBoolNulleable(); EstadoDocumento estado = servParametricas.EstadoDocumentoObtener(idEstadoDocumento.ConvertirInt()); DocumentoVersion docVersion = actaDocumento.DocumentoVersion; servDocumento.GrabarDocumentoVersionEstado(docVersion, estado, actualizarEstadoFinal.ConvertirBool(), usuarioLogin); repository.Actualizar(actaDocumento); }
public DocumentoVersionEstado CrearDocumentoVersionEstado(TipoDocumento tipoDocumento, string idEstado, string fechaEstado, Usuario usuarioLogin) { ServicioParametricas servParametricas = new ServicioParametricas(); DocumentoVersionEstado versionEstado = new DocumentoVersionEstado(); versionEstado.Fecha = fechaEstado.ConvertirDateTime(); EstadoDocumento estadoActual = servParametricas.EstadoDocumentoObtener(idEstado.ConvertirInt()); versionEstado.Estado = estadoActual; versionEstado.Usuario = usuarioLogin; versionEstado.ProfesionalAutor = null; versionEstado.ProfesionalPresenta = null; versionEstado.ProfesionalResponsable = null; versionEstado.Observaciones = string.Empty; TipoDocumentoFlujoEstado flujoEstado = tipoDocumento.ObtenerFlujoDefault().ObtenerFlujoEstado(estadoActual); if (flujoEstado != null) { versionEstado.EstadoFinal = flujoEstado.Final; } else { versionEstado.EstadoFinal = false; } versionEstado.Validar(); return(versionEstado); }
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 ProcesarEstudiosFinalizados(Usuario usuarioLogin) { ServicioDocumentos servDocs = new ServicioDocumentos(); ServicioParametricas servParams = new ServicioParametricas(); List <EstudioDTO> estudios = this.repository.ListarEstudiosDTO(4).ToList <EstudioDTO>().ToList <EstudioDTO>(); List <Documento> docsEstudio = new List <Documento>(); estudios.ForEach(delegate(EstudioDTO dto) { docsEstudio = this.ObtenerDocumentos(dto.Id.ToString()); docsEstudio.ForEach(delegate(Documento doc) { try { if (doc.TipoDocumento.Vigente) { doc.Versiones.ToList <DocumentoVersion>().ForEach(delegate(DocumentoVersion dv) { EstadoDocumento proximoEstado = null; DocumentoVersionEstado estadoDoc = dv.ObtenerVersionEstado(); if (!estadoDoc.EstadoFinal.Value) { /* * IdEstado Descripcion * 1 INGRESADO * 2 EN EVALUACION * 3 APROBADO * 4 PEDIDO DE CAMBIOS * 5 TOMA CONOCIMIENTO */ switch (estadoDoc.Estado.Id) { case 1: // proximoEstado = servParams.EstadoDocumentoObtener(2); servDocs.GrabarDocumentoVersionEstado(dv, proximoEstado, false, usuarioLogin); //grabamos en evaluacion servDocs.Grabar(doc); servDocs.GrabarDocumentoVersionEstado(dv, null, true, usuarioLogin); //grabamos estado final servDocs.Grabar(doc); break; case 2: // servDocs.GrabarDocumentoVersionEstado(dv, null, true, usuarioLogin); //grabamos estado final servDocs.Grabar(doc); break; } } }); } } catch { //servDocs.Sincronizar(); } }); }); }
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); }