public ActaEstudioDTO DameActaEstudioDTO(Estudio estudio, ActaDocumento actaDocumento) { ActaEstudioDTO dto = this.DameActaEstudioDTO(estudio); dto.OrdenEstudio = actaDocumento.OrdenEstudio; return(dto); }
public static DocumentoTratado ObtenerDocumentoTratado(ActaDocumento actaDocumento, bool quitarTagP) { try { DocumentoTratado documentoTratado = new DocumentoTratado(); //agregar property ORDEN documentoTratado.Documento = actaDocumento.DocumentoVersion.Documento.Descripcion; documentoTratado.Version = actaDocumento.DocumentoVersion.Descripcion; documentoTratado.FechaVersion = actaDocumento.DocumentoVersion.FechaToString; documentoTratado.ResponsableComite = (actaDocumento.ResponsableComite == null) ? string.Empty : actaDocumento.ResponsableComite.NombreCompleto; if (!actaDocumento.SetearSaltosLinea.HasValue || !actaDocumento.SetearSaltosLinea.Value) { documentoTratado.Comentario = actaDocumento.ComentarioDocumento.Replace("\n", Constantes.SaldoLinea); } else { documentoTratado.Comentario = actaDocumento.ComentarioDocumento; } return(documentoTratado); } catch (Exception ex) { Logger.LogError("ObtenerDocumentoTratado", ex); throw; } }
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 List <ActaDocumento> ListarDocumentoTratadosXEstudio(string idEstudio) { List <ActaDocumento> docsTratados = new List <ActaDocumento>(); if (idEstudio.ConvertirInt() != -1) { docsTratados = repository.ObtenerDocumentoTratadosXEstudio(idEstudio.ConvertirInt()).ToList <ActaDocumento>(); } List <ActaDocumento> docsTratadosReturn = new List <ActaDocumento>(); docsTratados.ForEach(delegate(ActaDocumento actaDoc) { ActaDocumento actaDocReturn = docsTratadosReturn.Find(delegate(ActaDocumento ad) { return(ad.DocumentoVersion.Documento.Equals(actaDoc.DocumentoVersion.Documento)); }); if (actaDocReturn != null) { docsTratadosReturn.Remove(actaDocReturn); } docsTratadosReturn.Add(actaDoc); }); return(docsTratadosReturn); }
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 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); }
public void GrabarOrdenDocumentos(string idActa, string documentos, string estudios) { JavaScriptSerializer serializer = new JavaScriptSerializer(); Acta acta = this.Obtener(idActa); ServiciosHelpers.ValidarClave(acta); //actualizo orden de los documentos List <ActaOrdenDocumentosJsonDTO> actaDocumentosDTO = serializer.Deserialize <List <ActaOrdenDocumentosJsonDTO> >(documentos); actaDocumentosDTO.ForEach(delegate(ActaOrdenDocumentosJsonDTO docDTO) { ActaDocumento actaDocumento = acta.Documentos.ToList <ActaDocumento>().Find(delegate(ActaDocumento actaDoc) { return(actaDoc.Id == docDTO.IdActaDocumento); }); if (actaDocumento != null) { actaDocumento.OrdenDocumento = docDTO.OrdenDocumento; } }); //actualizo orden de los estudios actaDocumentosDTO = serializer.Deserialize <List <ActaOrdenDocumentosJsonDTO> >(estudios); actaDocumentosDTO.ForEach(delegate(ActaOrdenDocumentosJsonDTO docDTO) { List <ActaDocumento> actaDocumentos = acta.Documentos.ToList <ActaDocumento>().FindAll(delegate(ActaDocumento actaDoc) { return(actaDoc.IdEstudio == docDTO.IdEstudio); }); if (actaDocumentos != null) { actaDocumentos.ForEach(delegate(ActaDocumento actaDoc) { actaDoc.OrdenEstudio = docDTO.OrdenEstudio; }); } }); this.Grabar(acta); }
public void GrabarActaDocumento(ActaDocumento actaDocumento) { }