private void ProcesarDocumentos(List <ActaDocumento> actaDocumentos) { if (actaDocumentos == null || actaDocumentos.Count == 0) { return; } CartaRespuestaModelo modeloCarta = actaEstudio.CartaRespuestaModelo; estudioTratado = ProcesadorHelpers.ObtenerDatosEstudioTratado(actaEstudio.Estudio); List <DocumentoTratado> documentosEvaluados = new List <DocumentoTratado>(); List <DocumentoTratado> documentosTomaConocimiento = new List <DocumentoTratado>(); List <DocumentoTratado> documentosPedidoCambio = new List <DocumentoTratado>(); DocumentoTratado documentoTratado = new DocumentoTratado(); int documentosEvaluadosAprobados = 0; actaDocumentos.OrderBy(item => item.OrdenGrupoTipoDocumento) .ToList <ActaDocumento>() .ForEach(delegate(ActaDocumento actaDoc) { if (actaDoc.DocumentoVersion.Documento.TipoDocumento.ListarCartaRespuesta) { if (actaDoc.DocumentoVersion.Documento.TipoDocumento.TipoDocumentoGrupo == null) { throw new ApplicationException("Debe asignar Grupo para " + actaDoc.DocumentoVersion.Documento.TipoDocumento.Descripcion); } if (actaDoc.DocumentoVersion.Documento.TipoDocumento.TipoDocumentoGrupo.SeEvalua()) { if (actaDoc.DocumentoVersion.Documento.IdEstadoActual.Equals(IdEstadoAprobado)) { documentosEvaluadosAprobados++; } documentoTratado = ProcesadorHelpers.ObtenerDocumentoTratado(actaDoc, false); documentoTratado.Orden = string.Format("{0}{1}{2}", actaDoc.Acta.Fecha.ToString("yyyyMMdd"), actaDoc.OrdenGrupoTipoDocumento.ToString(), actaDoc.OrdenDocumento.ToString("00")); documentosEvaluados.Add(documentoTratado); } if (actaDoc.DocumentoVersion.Documento.TipoDocumento.TipoDocumentoGrupo.SeTomaConocimiento()) { documentoTratado = ProcesadorHelpers.ObtenerDocumentoTratado(actaDoc, false); documentoTratado.Orden = string.Format("{0}{1}{2}", actaDoc.Acta.Fecha.ToString("yyyyMMdd"), actaDoc.OrdenGrupoTipoDocumento.ToString(), actaDoc.OrdenDocumento.ToString("00")); documentosTomaConocimiento.Add(documentoTratado); } EstadoDocumento estadoDocumento = actaDoc.DocumentoVersion.ObtenerVersionEstado().Estado; if (estadoDocumento.Id.Equals(this.IdEstadoPedidoCambio)) { documentoTratado = ProcesadorHelpers.ObtenerDocumentoTratado(actaDoc, false); documentoTratado.Orden = string.Format("{0}{1}{2}", actaDoc.Acta.Fecha.ToString("yyyyMMdd"), actaDoc.OrdenGrupoTipoDocumento.ToString(), actaDoc.OrdenDocumento.ToString("00")); documentosPedidoCambio.Add(documentoTratado); } } }); List <TipoDocumentoTratado> documentosTratados = ProcesarDocumentosTratados(TiposDocumentosTratados, actaDocumentos); List <TipoDocumentoTratado> documentosTratadosEvaluados = ProcesarDocumentosTratados(TiposDocumentosEvaluados, actaDocumentos); List <string> vocalesImprime = new List <string>(); Vocales.ForEach(delegate(Profesional profesional) { vocalesImprime.Add(string.Format("{0} ({1})", profesional.NombreYApellido, (profesional.RolComite != null) ? profesional.RolComite.Descripcion : string.Empty)); }); IDictionary datos; if (this.NombrePlantilla.Contains("PlantillaAprobacionEstudio")) { datos = ObtenerDatosPlantillaAprobacionEstudio(modeloCarta, documentosTratados, documentosTratadosEvaluados, vocalesImprime); } else { datos = ObtenerDatosPlantilla(modeloCarta, documentosEvaluados, documentosTomaConocimiento, documentosPedidoCambio, vocalesImprime); } INVelocity fileEngine = NVelocityFactory.CreateNVelocityFileEngine(ProcesadorHelpers.DirectorioPlantillas, true); HTMLProcesado.Add(fileEngine.Process(datos, NombrePlantilla)); }
private void TraerVocales(object sender, EventArgs e) { Vocales nombre = new Vocales(); nombre.Show(); }