Files
csharpcode/patientman/PatientMan/Forms/frmReferralForm.cs
2025-08-02 05:20:17 +07:00

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;
}
}
}