/// <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 List <Documento> ListarDocumentosDelEstudiosDelActa(string idActa, string idEstudio) { ServicioEstudios servEstudios = new ServicioEstudios(); List <Documento> documentosReturn = new List <Documento>(); Documento documento = null; //DocumentoVersion documentoVersion = null; Acta acta = this.Obtener(idActa); int _idEstudio = idEstudio.ConvertirInt(); if (_idEstudio != -1) { acta.Documentos.ToList <ActaDocumento>().ForEach(delegate(ActaDocumento actaDocumento) { if (actaDocumento.DocumentoVersion.Documento.Estudio.Id == _idEstudio) { documento = new Documento(); documento.Id = actaDocumento.DocumentoVersion.Documento.Id; documento.Descripcion = actaDocumento.DocumentoVersion.Documento.Descripcion; documento.TipoDocumento = actaDocumento.DocumentoVersion.Documento.TipoDocumento; documento.Limitante = false; documento.Estudio = actaDocumento.DocumentoVersion.Documento.Estudio; documento.AgregarVersion(actaDocumento.DocumentoVersion); documentosReturn.Add(documento); } }); } return(documentosReturn); }
//metodo que se invoca al agregar documentos public void GrabarEstudioActa(Acta acta, string idEstudio) { ServicioParametricas servParametricas = new ServicioParametricas(); ServicioEstudios servEstudios = new ServicioEstudios(); ActaEstudio actaEstudio = null; Estudio estudio = null; if (acta.Estudios.Count > 0) { actaEstudio = acta.ObtenerEstudio(idEstudio.ConvertirInt()); } if (actaEstudio == null) { estudio = servEstudios.Obtener(idEstudio); actaEstudio = new ActaEstudio(); actaEstudio.Estudio = estudio; actaEstudio.EstadoEstudio = estudio.Estado; actaEstudio.OrdenEstudio = acta.ObtenerOrdenEstudio(estudio.Id); acta.AgregarEstudio(actaEstudio); } }
public List <ActaEstudioDTO> ListarEstudiosDelActa(Acta acta) { ServicioEstudios servEstudios = new ServicioEstudios(); List <ActaEstudioDTO> estudiosReturn = new List <ActaEstudioDTO>(); acta.Documentos.ToList <ActaDocumento>().ForEach(delegate(ActaDocumento actaDocumento) { ActaEstudioDTO estudioDTO = estudiosReturn.Find(delegate(ActaEstudioDTO estudio) { return(estudio.Id == actaDocumento.DocumentoVersion.Documento.Estudio.Id); }); if (estudioDTO == null) { ActaEstudioDTO dto = servEstudios.DameActaEstudioDTO(actaDocumento.DocumentoVersion.Documento.Estudio, actaDocumento); //dto.DocumentosTratados = ListarDocumentosDelActa(acta, dto.Id); estudiosReturn.Add(dto); } }); acta.Notas.ToList <Nota>().ForEach(delegate(Nota nota) { ActaEstudioDTO estudioDTO = estudiosReturn.Find(delegate(ActaEstudioDTO estudio) { return(estudio.Id == nota.IdEstudio); }); if (estudioDTO == null) { Estudio estudio = servEstudios.Obtener(nota.IdEstudio.ToString()); estudiosReturn.Add(servEstudios.DameActaEstudioDTO(estudio)); } }); return(estudiosReturn); }
public List <ActaEstudioDTO> ListarEstudiosDelActa(string idActa) { ServicioEstudios servEstudios = new ServicioEstudios(); Acta acta = this.Obtener(idActa); return(ListarEstudiosDelActa(acta)); }
public int Grabar(Documento documento) { documento.Validar(); repository.Actualizar(documento); ServicioEstudios servEstudio = new ServicioEstudios(); servEstudio.GrabarEstudioSemaforo(documento.IdEstudio.ToString()); return(documento.Id); }
//metodo que se invoca cuando setea estados, modelo carta de respuesta, texto desde el acta public void GrabarDatosEstudio(string idActa, string datosActaEstudio) { ServicioParametricas servParametricas = new ServicioParametricas(); ServicioEstudios servEstudios = new ServicioEstudios(); Acta acta = this.Obtener(idActa); ActaEstudio actaEstudio = null; dynamic datosAux = ServiciosHelpers.DeserializarGenerico(datosActaEstudio); int idEstudio = datosAux.IdEstudio; actaEstudio = acta.ObtenerEstudio(idEstudio); if (actaEstudio == null) { actaEstudio = new ActaEstudio(); actaEstudio.Estudio = servEstudios.Obtener(idEstudio.ToString()); actaEstudio.OrdenEstudio = acta.ObtenerOrdenEstudio(idEstudio); } actaEstudio.EstadoEstudio = servParametricas.EstadoEstudioObtener(datosAux.IdEstadoEstudio); actaEstudio.CartaRespuestaModelo = this.CartaRespuestaModeloObtener(datosAux.IdCartaRespuestaModelo); actaEstudio.TextoLibreCartaRespuesta = datosAux.TextoLibreCartaRespuesta; acta.AgregarEstudio(actaEstudio); this.Grabar(acta); /*actualizamos las notas del estudio*/ RepositoryGenerico <Nota> notaRepository = new RepositoryGenerico <Nota>(); Nota nota = null; int idNotaAntesDocumentos = acta.Notas.ToList <Nota>().Find(item => item.IdEstudio == idEstudio && !item.ActaImprimeAlFinal).Id; nota = notaRepository.Obtener(idNotaAntesDocumentos); nota.Texto = string.Format("{0}", datosAux.ComentarioAntesDocumentos); notaRepository.Actualizar(nota); nota = null; int idNotaDespuesDocumentos = acta.Notas.ToList <Nota>().Find(item => item.IdEstudio == idEstudio && item.ActaImprimeAlFinal).Id; nota = notaRepository.Obtener(idNotaDespuesDocumentos); nota.Texto = string.Format("{0}", datosAux.ComentarioDespuesDocumentos); notaRepository.Actualizar(nota); if (!acta.Cerrada && actaEstudio.EstadoEstudio != null) { servEstudios.GrabarEstado(actaEstudio.Estudio.Id.ToString(), actaEstudio.EstadoEstudio.Id.ToString()); } }
public void GrabarNota(string idActa, string idNota, string imprimeAlFinal) { ServicioEstudios servEstudio = new ServicioEstudios(); Acta acta = this.Obtener(idActa); Nota nota = servEstudio.ObtenerNota(idNota); nota.ActaImprimeAlFinal = string.IsNullOrEmpty(imprimeAlFinal) ? false : (imprimeAlFinal.Equals("1") ? true : false); acta.AgregarNota(nota); this.Grabar(acta); }
public Documento Obtener(string idDocumento) { ServicioEstudios servEstudio = new ServicioEstudios(); Documento documento = null; int _idDocumento = idDocumento.ConvertirInt(); if (_idDocumento != -1) { documento = repository.Obtener(_idDocumento); documento.Estudio = servEstudio.Obtener(documento.IdEstudio.ToString()); this.ObtenerRecordatoriosAlertas(documento); } return(documento); }
public Acta Obtener(string idActa) { ServicioEstudios servEstudio = new ServicioEstudios(); Acta acta = null; if (idActa.ConvertirInt() != -1) { acta = repository.Obtener(idActa.ConvertirInt()); acta.ComentarioInicialFijo = ServiciosHelpers.ObtenerTextoPlano(acta.ComentarioInicialFijo); acta.ComentarioInicial = ServiciosHelpers.ObtenerTextoPlano(acta.ComentarioInicial); acta.ComentarioFinal = ServiciosHelpers.ObtenerTextoPlano(acta.ComentarioFinal); //TODO: Para optimizar performance si quitamos del hbm el mapeo de documentos y notas, se deberian modificar todos las grabaciones de estos objetos //acta.Documentos = repository.ObtenerActaDocumentosTratados(idActa.ConvertirInt()); acta.Notas = repository.ObtenerActaNotas(idActa.ConvertirInt()); } if (acta != null) { acta.Documentos.ToList <ActaDocumento>().ForEach(delegate(ActaDocumento actaDoc) { actaDoc.DocumentoVersion.Documento.Estudio = servEstudio.ObtenerSoloEstudio(actaDoc.DocumentoVersion.Documento.IdEstudio.ToString()); actaDoc.Descripcion = ServiciosHelpers.ObtenerTextoPlano(actaDoc.ComentarioDocumento); acta.Notas.ToList <Nota>().FindAll(item => item.IdEstudio == actaDoc.IdEstudio) .ForEach(delegate(Nota nota) { nota.ActaOrden = actaDoc.OrdenEstudio; }); }); List <Nota> listNotas = acta.Notas.ToList <Nota>() .OrderBy(item => item.ActaOrden) .ToList <Nota>(); listNotas.ForEach(delegate(Nota nota) { nota.Estudio = servEstudio.ObtenerSoloEstudio(nota.IdEstudio.ToString()); nota.Texto = ServiciosHelpers.ObtenerTextoPlano(nota.Texto); }); acta.Notas.Clear(); acta.Notas = listNotas; // .OrderBy(item => (item.ActaImprimeAlFinal ? 0 : 1) } return(acta); }
public void EliminarNota(string idActa, string idNota) { ServicioEstudios servEstudio = new ServicioEstudios(); int _idNota = idNota.ConvertirInt(); if (_idNota == -1) { throw new ApplicationException("No seleccionó nota que desea eliminar"); } Acta acta = this.Obtener(idActa); Nota nota = servEstudio.ObtenerNota(idNota); acta.EliminarNota(nota); this.Grabar(acta); }
public Documento ObtenerDocumento(string idEstudio, string idDocumento) { ServicioEstudios servEstudio = new ServicioEstudios(); Estudio estudio = servEstudio.Obtener(idEstudio); Documento documento = null; int _idDocumento = idDocumento.ConvertirInt(); if (_idDocumento == -1) { documento = new Documento(); } else { documento = estudio.ObtenerDocumento(_idDocumento); this.ObtenerRecordatoriosAlertas(documento); } documento.Estudio = estudio; return(documento); }
public void EliminarDocumento(string idEstudio, string idDocumento) { ServicioEstudios servEstudio = new ServicioEstudios(); Estudio estudio = servEstudio.Obtener(idEstudio); Documento documento = null; int _idDocumento = idDocumento.ConvertirInt(); if (estudio != null && _idDocumento != -1) { documento = estudio.ObtenerDocumento(_idDocumento); } if (documento == null) { throw new ApplicationException("No existe el documento que desea eliminar"); } estudio.EliminarDocumento(documento); servEstudio.Grabar(estudio); }
public ActaDTO ObtenerActaDTO(string idActa) { ServicioEstudios servEstudios = new ServicioEstudios(); Acta acta = this.Obtener(idActa); ActaDTO actaReturn = new ActaDTO(); actaReturn.IdActa = acta.Id; actaReturn.Descripcion = acta.Descripcion; actaReturn.FechaActa = acta.Fecha; actaReturn.Hora = acta.Hora; actaReturn.Cerrada = acta.Cerrada; actaReturn.ComentarioInicialFijo = acta.ComentarioInicialFijo; actaReturn.ComentarioInicial = acta.ComentarioInicial; actaReturn.ComentarioFinal = acta.ComentarioFinal; actaReturn.EstudiosTratados = ListarEstudiosDelActa(acta); actaReturn.Participantes = acta.Participantes; return(actaReturn); }
public void Grabar(string id, string datos, string fechaAlta, string fechaActivacion, string idEstudio, string documentos) { JavaScriptSerializer serializer = new JavaScriptSerializer(); Recordatorio recordatorio = null; Recordatorio recordatorioAux = serializer.Deserialize <Recordatorio>(datos); if (id.ConvertirInt() == -1) { recordatorio = new Recordatorio(); recordatorio.FechaAlta = DateTime.Now; } else { recordatorio = this.Obtener(id); } recordatorio.Descripcion = recordatorioAux.Descripcion == null ? string.Empty : recordatorioAux.Descripcion; recordatorio.Vigente = true; recordatorio.TipoRecordatorio = this.TipoRecordatorioObtener(recordatorioAux.TipoRecordatorio.Id); recordatorio.EstadoRecordatorio = this.EstadoRecordatorioObtener(recordatorioAux.EstadoRecordatorio.Id); if (fechaActivacion.ConvertirDateTime() != DateTime.MinValue) { recordatorio.FechaActivacion = fechaActivacion.ConvertirDateTime(); } recordatorio.AvisoMail = recordatorioAux.AvisoMail.HasValue ? recordatorioAux.AvisoMail : false; recordatorio.AvisoPopup = recordatorioAux.AvisoPopup.HasValue ? recordatorioAux.AvisoPopup : false; recordatorio.Color = recordatorioAux.Color; recordatorio.Texto = recordatorioAux.Texto; recordatorio.Destinatarios = recordatorioAux.Destinatarios; recordatorio.DestinatariosCC = recordatorioAux.DestinatariosCC; recordatorio.Asunto = recordatorioAux.Asunto; recordatorio.TextoMail = recordatorioAux.TextoMail; recordatorio.EstadoMail = recordatorioAux.EstadoMail; ServicioEstudios servEstudio = new ServicioEstudios(); recordatorio.Estudio = servEstudio.Obtener(idEstudio); decimal mesesAlerta = -1; if (recordatorio.FechaActivacion.HasValue) { mesesAlerta = Math.Abs((DateTime.Now.Month - recordatorio.FechaActivacion.Value.Month) + 12 * (DateTime.Now.Year - recordatorio.FechaActivacion.Value.Year)); } string[] recordatorioDocumentos = documentos.Split(';'); foreach (string documento in recordatorioDocumentos) { if (documento.ConvertirInt() > 0) { Documento docAgregar = recordatorio.Estudio.Documentos.ToList <Documento>().Find(delegate(Documento doc) { return(doc.Id == documento.ConvertirInt()); }); if (docAgregar != null) { recordatorio.AgregarDocumento(docAgregar, int.Parse(mesesAlerta.ToString())); } } } recordatorio.Validar(); repository.Actualizar(recordatorio); }
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)); }