using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using Datalib.DatabaseSpecific; using Datalib.EntityClasses; using Datalib.FactoryClasses; using Datalib.HelperClasses; using DevExpress.XtraRichEdit; using DevExpress.XtraRichEdit.API.Native; using Datalib.Linq; using System.Linq; namespace PatientMan.Forms { public partial class frmReferralForm : PatientMan.BasicForms.frmCommon { public TblReferralsToEntity ReferralInfo { get; set; } public frmReferralForm() { InitializeComponent(); } private void frmReferralForm_Load(object sender, EventArgs e) { string path = Application.StartupPath; string templateFile = path + @"\templates\Referral.doc"; this.richEditControl.Document.LoadDocument(templateFile, DevExpress.XtraRichEdit.DocumentFormat.Doc); } public void MailMerge() { LinqMetaData Meta = new LinqMetaData(); Meta.AdapterToUse = adapter; var info = (from q in Meta.TblPatient where q.PatientId == ReferralInfo.PatientId select new cslReferralInfo { PatientID = q.PatientId, PatientName = q.PatientName, BirthYear = q.BirthYear, Adress = q.Address, SiteName = SettingInfo.SiteName, HIVConfirmDate = q.HivConfirmedDate.Value.ToShortDateString(), RegisterDate = q.DateofRegistration.Value.ToShortDateString(), ReferralAgency = ReferralInfo.ReferralAgency, }).ToList(); info[0].FromProvince = Meta.TblProvince.Where(m => m.Provinceid == SettingInfo.ProvinceId).First().Provincename; info[0].ToProvince= Meta.TblProvince.Where(m => m.Provinceid == ReferralInfo.ProvinceId).First().Provincename; info[0].LastCD4 = (double)Meta.TblPreClinicsInfo.Where(m => m.Testid == "01").Where (m=>m.PatientId == ReferralInfo.PatientId ).OrderByDescending(m => m.TestDate).First().QuantityResult; info[0].ClinicStage = Meta.TblExaminationInfo.Where(m => m.PatientId == ReferralInfo.PatientId).Where(m=>m.ClinicStage!=null).OrderByDescending(m => m.ExamDate).First().ClinicStage.ToString(); richEditControl.Options.MailMerge.DataSource = info; richEditControl.Options.MailMerge.ViewMergedData = true; MailMergeOptions myMergeOptions = richEditControl.Document.CreateMailMergeOptions(); myMergeOptions.FirstRecordIndex = 1; myMergeOptions.LastRecordIndex = 1; myMergeOptions.MergeMode = MergeMode.NewSection; richEditControl.Options.MailMerge.ViewMergedData = true; // xtraTabControl1.SelectedTabPageIndex = 1; } } }