/// <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); }); } } }
//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); }
//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 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 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 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); }