232 lines
8.2 KiB
C#
232 lines
8.2 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using Datalib.EntityClasses;
|
|
using Datalib.HelperClasses;
|
|
using Datalib.Linq;
|
|
using System.Windows.Forms;
|
|
using SD.LLBLGen.Pro.ORMSupportClasses;
|
|
|
|
namespace PatientMan.Controls
|
|
{
|
|
public partial class usrReferralInfo : PatientMan.usrControls.usrCommon
|
|
{
|
|
public EntityCollection <TblReferralsToEntity> ReferralInfos { get; set; }
|
|
public TblReferralsToEntity Deleted;
|
|
public usrReferralInfo()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
public override void LoadData()
|
|
{
|
|
ReferralInfos = PatientInfor.TblReferralsTos;
|
|
ISortExpression sorter = new SortExpression(TblReferralsToFields.EndDate | SortOperator.Ascending);
|
|
adapter.FetchEntityCollection(ReferralInfos, PatientInfor.GetRelationInfoTblReferralsTos(), 0, sorter);
|
|
}
|
|
|
|
public override void BindingData()
|
|
{
|
|
|
|
EndDate.DataBindings.Clear();
|
|
Provinceid.DataBindings.Clear();
|
|
AgencyTypeID.DataBindings.Clear();
|
|
ReferralAgency.DataBindings.Clear();
|
|
Status.DataBindings.Clear();
|
|
TypeID.DataBindings.Clear();
|
|
ReceiveServiceDate.DataBindings.Clear();
|
|
DeathReasonID.DataBindings.Clear();
|
|
Note.DataBindings.Clear();
|
|
|
|
|
|
EndDate.DataBindings.Add("EditValue", ReferralInfos, "EndDate", true);
|
|
Provinceid.DataBindings.Add("EditValue", ReferralInfos, "Provinceid", true);
|
|
AgencyTypeID.DataBindings.Add("EditValue", ReferralInfos, "AgencyTypeId", true);
|
|
ReferralAgency.DataBindings.Add("EditValue", ReferralInfos, "ReferralAgency", true);
|
|
Status.DataBindings.Add("EditValue", ReferralInfos, "Status", true);
|
|
ReceiveServiceDate.DataBindings.Add("EditValue", ReferralInfos, "ReceiveServiceDate", true);
|
|
Note.DataBindings.Add("Text", ReferralInfos, "Note", true);
|
|
TypeID.DataBindings.Add("EditValue", ReferralInfos, "TypeId", true);
|
|
DeathReasonID.DataBindings.Add("EditValue", ReferralInfos, "DeathReasonId", true);
|
|
}
|
|
public override void LoadLibrary()
|
|
{
|
|
var Pro = new EntityCollection<TblProvinceEntity>();
|
|
var Agency = new EntityCollection<TblAgencyEntity>();
|
|
adapter.FetchEntityCollection(Pro, null);
|
|
adapter.FetchEntityCollection(Agency, null);
|
|
Provinceid.Properties.DataSource = Pro;
|
|
AgencyTypeID.Properties.DataSource = Agency;
|
|
}
|
|
public override void SaveRecord()
|
|
{
|
|
BindingContext[ReferralInfos].EndCurrentEdit();
|
|
adapter.SaveEntityCollection(ReferralInfos, true, true);
|
|
string PatientId = ReferralInfos[0].PatientId;
|
|
DateTime EndDate = (DateTime)this.EndDate.EditValue;
|
|
switch (TypeID.EditValue.ToString())
|
|
{
|
|
case "09":
|
|
EndExam(PatientId, EndDate);
|
|
EndTreatment(PatientId, EndDate);break;
|
|
case "10":
|
|
EndExam(PatientId, EndDate);
|
|
EndTreatment(PatientId, EndDate);break;
|
|
case "11":
|
|
|
|
EndExam(PatientId, EndDate);
|
|
EndTreatment(PatientId, EndDate);
|
|
FillDeathDate(PatientId, EndDate);
|
|
|
|
break;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
public override void Cancel()
|
|
{
|
|
BindingContext[ReferralInfos].CancelCurrentEdit();
|
|
base.Cancel();
|
|
}
|
|
|
|
|
|
|
|
public override void DeleteRecord()
|
|
{
|
|
Deleted = (TblReferralsToEntity)ReferralInfos[BindingContext[ReferralInfos].Position];
|
|
switch (Deleted.TypeId)
|
|
{
|
|
case "09":
|
|
recoverExam(Deleted);
|
|
recoverTreatment(Deleted);
|
|
break;
|
|
case "10":
|
|
recoverExam(Deleted);
|
|
recoverTreatment(Deleted);
|
|
break;
|
|
case "11":
|
|
recoverExam(Deleted);
|
|
recoverTreatment(Deleted);
|
|
recoverDeathStatus(Deleted);
|
|
break;
|
|
}
|
|
|
|
ReferralInfos.Remove(Deleted);
|
|
adapter.DeleteEntity(Deleted);
|
|
base.DeleteRecord();
|
|
}
|
|
|
|
private void recoverDeathStatus(TblReferralsToEntity Deleted)
|
|
{
|
|
try
|
|
{
|
|
string PatientId = Deleted.PatientId;
|
|
Forms.frmPatientInfo frm = (Forms.frmPatientInfo)this.ParentForm;
|
|
TblPatientEntity Patient = frm.usrExamInfo.PatientInfor;
|
|
Patient.DeathDate = null;
|
|
adapter.SaveEntity(Patient,true,true);
|
|
}
|
|
catch(Exception err)
|
|
{
|
|
MessageBox.Show(err.Message);
|
|
}
|
|
|
|
}
|
|
|
|
private void recoverExam(TblReferralsToEntity Deleted)
|
|
{
|
|
try
|
|
{
|
|
Forms.frmPatientInfo frm = (Forms.frmPatientInfo)this.ParentForm;
|
|
TblExaminationInfoEntity Exam = frm.usrExamInfo.ExamInfos.Where(q => q.EndExamDate == Deleted.EndDate).First();
|
|
Exam.EndExamDate = null;
|
|
Exam.ReasonEnd = null;
|
|
adapter.SaveEntity(Exam,true,true);
|
|
}
|
|
catch
|
|
{
|
|
|
|
}
|
|
|
|
}
|
|
|
|
private void recoverTreatment(TblReferralsToEntity Deleted)
|
|
{
|
|
try
|
|
{
|
|
Forms.frmPatientInfo frm = (Forms.frmPatientInfo)this.ParentForm;
|
|
TblTreatmentInfoEntity Treatment = frm.usrTreatment.TreatmentInfos.Where(q => q.TreatmentId == "01").Where(q => q.TreatmentEdate == Deleted.EndDate).First();
|
|
Treatment.ReasonId=null;
|
|
Treatment.TreatmentEdate = null;
|
|
adapter.SaveEntity(Treatment,true,true);
|
|
}
|
|
catch
|
|
{
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
public override void Print()
|
|
{
|
|
if (TypeID.EditValue.ToString() == "09")
|
|
{
|
|
base.Print();
|
|
Forms.frmReferralForm frm = new Forms.frmReferralForm();
|
|
frm.ReferralInfo = (TblReferralsToEntity)ReferralInfos[BindingContext[ReferralInfos].Position];
|
|
frm.Show();
|
|
frm.MailMerge();
|
|
}
|
|
}
|
|
|
|
private void TypeID_EditValueChanged(object sender, EventArgs e)
|
|
{
|
|
this.DeathInfo.Visible = (TypeID.EditValue.ToString() == "11");
|
|
this.ReferralInfo.Visible = (TypeID.EditValue.ToString() == "09");
|
|
}
|
|
|
|
private void EndExam(string ParientId, DateTime EndDate)
|
|
{
|
|
try
|
|
{
|
|
Forms.frmPatientInfo frm = (Forms.frmPatientInfo)this.ParentForm;
|
|
TblExaminationInfoEntity Exam = frm.usrExamInfo.ExamInfos.Where(q => q.ExamDate <=EndDate).Last();
|
|
Exam.EndExamDate = EndDate;
|
|
Exam.ReasonEnd = this.TypeID.EditValue.ToString();
|
|
adapter.SaveEntity(Exam, true, true);
|
|
}
|
|
catch(Exception err)
|
|
{
|
|
MessageBox.Show(err.Message);
|
|
}
|
|
|
|
}
|
|
private void EndTreatment(string ParientId, DateTime EndDate)
|
|
{
|
|
try
|
|
{
|
|
Forms.frmPatientInfo frm = (Forms.frmPatientInfo)this.ParentForm;
|
|
TblTreatmentInfoEntity Treatment = frm.usrTreatment.TreatmentInfos.Where(q => q.TreatmentId == "01").Where(q => q.TreatmentSdate <= EndDate).Last();
|
|
Treatment.ReasonId = this.TypeID.EditValue.ToString();
|
|
Treatment.TreatmentEdate = EndDate;
|
|
adapter.SaveEntity(Treatment, true, true);
|
|
}
|
|
catch(Exception err)
|
|
{
|
|
MessageBox.Show(err.Message );
|
|
}
|
|
|
|
}
|
|
private void FillDeathDate(string PatientId, DateTime EndDate)
|
|
{
|
|
TblPatientEntity Patient = new TblPatientEntity(PatientId);
|
|
adapter.FetchEntity(Patient, null, null);
|
|
Patient.DeathDate = (DateTime)this.EndDate.EditValue;
|
|
adapter.SaveEntity(Patient, true, true);
|
|
|
|
}
|
|
}
|
|
}
|