/// <summary> /// Carga los RTF´s de Header y Fotter segun el Lead Source o el lenguage que se seleccione /// </summary> ///<history> ///[jorcanche] created 12/05/2016 ///</history> private async void LoadRTF() { if (cmbLanguage.SelectedIndex == -1 || cmbLeadSource.SelectedIndex == -1) { return; } rtbHeader.Document.Blocks.Clear(); rtbFooter.Document.Blocks.Clear(); _rtfInvitation = await BRInvitation.GetInvitationFooterHeader(cmbLeadSource.SelectedValue.ToString(), cmbLanguage.SelectedValue.ToString()); if (_rtfInvitation == null) { return; } UIRichTextBoxHelper.LoadRTF(ref rtbHeader, _rtfInvitation.itRTFHeader); UIRichTextBoxHelper.LoadRTF(ref rtbFooter, _rtfInvitation.itRTFFooter); }
/// <summary> ///Prepara el reporte de invitación para ser visualizado /// </summary> /// <history> /// [jorcanche] 16/04/2016 created /// [jorcanche] 12/05/2016 Se cambio de frmInvitaciona RptinvitationHelper /// </history> public static async void RptInvitation(int guest = 0, string peID = "USER", Window window = null) { //Traemos la informacion del store y la almacenamos en un procedimiento InvitationData invitationData = await BRInvitation.RptInvitationData(guest); //Le damos memoria al reporte de Invitacion var rptInvi = new rptInvitation(); /************************************************************************************************************ * Información Adiocional sobre el DataSource del Crystal ************************************************************************************************************* * Para que el DataSource acepte una entidad primero se debe de converir a lista * 1.- ObjectHelper.ObjectToList(invitationData.Invitation) * Pero sí al convertirlo hay propiedades nulas, el DataSource no lo aceptara y marcara error; para evitar esto * se debera convertir a DateTable para que no tenga nulos. * 2.- TableHelper.GetDataTableFromList(ObjectHelper.ObjectToList(invitationData.Invitation)) *************************************************************************************************************/ //Le agregamos la informacion rptInvi.SetDataSource(TableHelper.GetDataTableFromList(ObjectHelper.ObjectToList(new IM.Base.Classes.RptInvitationIM(invitationData.Invitation)))); //Cargamos los subreportes rptInvi.Subreports["rptInvitationGuests.rpt"].SetDataSource(TableHelper.GetDataTableFromList(invitationData.InvitationGuest?.Select(c => new IM.Base.Classes.RptInvitationGuestsIM(c)).ToList() ?? new List <Classes.RptInvitationGuestsIM>())); rptInvi.Subreports["rptInvitationDeposits.rpt"].SetDataSource(invitationData.InvitationDeposit?.Select(c => new IM.Base.Classes.RptInvitationDepositsIM(c)).ToList() ?? new List <Classes.RptInvitationDepositsIM>()); rptInvi.Subreports["rptInvitationGifts.rpt"].SetDataSource(TableHelper.GetDataTableFromList(invitationData.InvitationGift?.Select(c => new IM.Base.Classes.RptInvitationGiftsIM(c)).ToList() ?? new List <Classes.RptInvitationGiftsIM>())); //Cambiamos el lenguaje de las etiquetas. CrystalReportHelper.SetLanguage(rptInvi, invitationData.Invitation.gula); //Fecha y hora rptInvi.SetParameterValue("lblDateTime", BRHelpers.GetServerDateTime()); //Cambiado por rptInvi.SetParameterValue("lblChangedBy", peID); //Cargamos el Viewer var frmViewer = new frmViewer(rptInvi) { Owner = window }; frmViewer.ShowDialog(); }