public XtraReport GetDocumentosDeInvitados(bool aParaProyectoInstituto) { NegocioDataContext dataContext = new NegocioDataContext(); try { List <ParticipantesDeProyectos> invitados = ParticipantesDeProyectos.Where( c => c.TipoParticipante == Enumerados.TipoParticipante.Invitado.ToString()).ToList(); ImageFullPageXtraReport documentosXtraReport = new ImageFullPageXtraReport(); documentosXtraReport.CreateDocument(); documentosXtraReport.Pages.RemoveAt(0); foreach (var invitado in invitados) { ImageFullPageXtraReport reporteFullPageXtraReport = new ImageFullPageXtraReport(); var imagenes = dataContext.DocumentosInvitados.Where(c => c.ParticipanteId == invitado.ParticipanteID) .ToArray(); foreach (var documento in imagenes) { byte[] pictBinary = documento.Imagenes.Imagen.ToArray(); MemoryStream ms = new MemoryStream(pictBinary); Bitmap imagenBitmap = new Bitmap(ms); reporteFullPageXtraReport.xrPictureBox1.Image = imagenBitmap; if (!aParaProyectoInstituto) { reporteFullPageXtraReport.Watermark.Text = ""; } reporteFullPageXtraReport.CreateDocument(); documentosXtraReport.Pages.AddRange(reporteFullPageXtraReport.Pages); } } return(documentosXtraReport); } catch (Exception) { throw; } }
/// <summary> /// Devuelve un texto de fundamentacion para tramites migratorios /// </summary> /// <param name="muestroDesempeños">true-Muestra los desempeños de los integrantes</param> /// <returns></returns> public string GetTextoFundamentacionTramitesMigratorios(bool muestroDesempeños) { try { var tipoTramites = ParticipantesDeProyectos.Where(c => c.TipoTramiteMigratorio != null) .DistinctBy(c => c.TipoTramiteMigratorio) .Select(c => c.TipoTramiteMigratorio).ToArray(); string cadena = String.Empty; for (int j = 0; j < tipoTramites.Count(); j++) { var tipoTramite = tipoTramites[j]; if (j != 0) { cadena += " y "; } //1er tramite var participantes = ParticipantesDeProyectos.Where(c => c.TipoTramiteMigratorio == tipoTramite).ToArray(); var tramite = (Enumerados.TipoTramiteMigratorio)tipoTramite; cadena += string.Format("{0} de: ", tramite.StringValue()); for (int i = 0; i < participantes.Count(); i++) { var participante = participantes[i]; if (i == participantes.Count() - 1 && i != 0) { cadena += "y de "; } cadena += string.Format("{0} {1} {2}", participante.NombreCompleto, muestroDesempeños ? " - " + participante.Desempenno : string.Empty, i == tipoTramites.Count() - 1 ? ". " : ", "); } } //string prorrogas = String.Empty; //string confeccionOrdiarios = String.Empty;//string confeccionOficiales = String.Empty; //if (TieneProrrogas) //{ // prorrogas += " Confección de Prorrogas de: "; //} //if (TieneConfeccionPasaportesOrdinarios) // confeccionOrdiarios += " Confección de Pasaportes Ordinarios de: "; //if (TieneConfeccionPasaportesOficiales) // confeccionOficiales += " Confección de Pasaportes Oficiales de: "; //var participantes = ParticipantesDeProyectos; //foreach (var participante in participantes) //{ // if (participante.TipoTramiteMigratorio != null) // switch (participante.TipoTramiteMigratorio) // { // case (int)Enumerados.TipoTramiteMigratorio.Prorroga: // { // prorrogas += string.Format("{0}{1},", participante.NombreCompleto, // muestroDesempeños ? "-" + participante.Artista.AbrevDesempenno : string.Empty); // break; // } // case (int)Enumerados.TipoTramiteMigratorio.ConfeccionDePasaporteOrdinario: // { // confeccionOrdiarios += string.Format("{0}{1},", participante.NombreCompleto, // muestroDesempeños ? "-" + participante.Artista.AbrevDesempenno : string.Empty); // break; // } // case (int)Enumerados.TipoTramiteMigratorio.ConfeccionDePasaporteOficial: // { // confeccionOficiales += string.Format("{0}{1},", participante.NombreCompleto, // muestroDesempeños ? "-" + participante.Artista.AbrevDesempenno : string.Empty); // break; // } // }; //} //prorrogas = prorrogas.Acabado(); //confeccionOrdiarios = confeccionOrdiarios.Acabado(); //confeccionOficiales = confeccionOficiales.Acabado(); //return String.Format("{0},{1},{2}", prorrogas, confeccionOrdiarios, confeccionOficiales).Acabado(); return(cadena); } catch (Exception) { return(String.Empty); } }