78 lines
3.0 KiB
C#
78 lines
3.0 KiB
C#
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;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
}
|