Files
2025-08-02 05:20:17 +07:00

249 lines
9.7 KiB
C#

using System;
using System.Linq;
using System.Collections.Generic;
using Datalib.EntityClasses;
using Datalib.HelperClasses;
using SD.LLBLGen.Pro.ORMSupportClasses;
using System.Windows.Forms;
namespace PatientMan.Controls
{
public partial class usrExamInfo : PatientMan.usrControls.usrCommon
{
private TblProvinceEntity prov = new TblProvinceEntity();
private EntityCollection<TblDistrictEntity> districtCollection;
private EntityCollection<TblCommuneEntity> communeCollection;
public EntityCollection<TblExaminationInfoEntity> ExamInfos { get; set; }
public TblExaminationInfoEntity DeletedExam { get; set; }
public usrExamInfo()
{
InitializeComponent();
}
public override void LoadData()
{
ExamInfos = PatientInfor.TblExaminationInfos;
ISortExpression sorter = new SortExpression(TblExaminationInfoFields.ExamDate | SortOperator.Ascending);
adapter.FetchEntityCollection(ExamInfos, PatientInfor.GetRelationInfoTblExaminationInfos(), 0, sorter);
prov.Provinceid = PatientInfor.ProvinceId;
adapter.FetchEntity(prov);
districtCollection = prov.TblDistricts;
adapter.FetchEntityCollection(districtCollection, prov.GetRelationInfoTblDistricts());
Districtid.Properties.DataSource = districtCollection;
}
public override void BindingData()
{
ExamDate.DataBindings.Clear();
ReExamDate.DataBindings.Clear();
Status.DataBindings.Clear();
LateAppointmentReason.DataBindings.Clear();
TreatmentFollow.DataBindings.Clear();
TBscreen.DataBindings.Clear();
tbScreenResult.DataBindings.Clear();
OutPatientTreatment.DataBindings.Clear();
ReTreatment.DataBindings.Clear();
txtHeight.DataBindings.Clear();
txtWeight.DataBindings.Clear();
ClinicStage.DataBindings.Clear();
Rash.DataBindings.Clear();
Diarrhea.DataBindings.Clear();
Burning.DataBindings.Clear();
Blackouts.DataBindings.Clear();
Jaundice.DataBindings.Clear();
Colic.DataBindings.Clear();
Anemia.DataBindings.Clear();
Depression.DataBindings.Clear();
Nausea.DataBindings.Clear();
Motion.DataBindings.Clear();
Headache.DataBindings.Clear();
FatDistributionChanges.DataBindings.Clear();
IsClinic.DataBindings.Clear();
Districtid.DataBindings.Clear();
CommuneId.DataBindings.Clear();
NoSelfExam.DataBindings.Clear();
Poisoning.DataBindings.Clear();
ProgressTB.DataBindings.Clear();
ExamDate.DataBindings.Add("EditValue", ExamInfos, "ExamDate", true);
ReExamDate.DataBindings.Add("EditValue", ExamInfos, "ReExamDate", true);
Status.DataBindings.Add("EditValue", ExamInfos, "Status", true);
LateAppointmentReason.DataBindings.Add("Text", ExamInfos, "LateAppointmentReason", true);
TreatmentFollow.DataBindings.Add("EditValue", ExamInfos, "TreatmentFollow", true);
TBscreen.DataBindings.Add("EditValue", ExamInfos, "TBScreen", true);
OutPatientTreatment.DataBindings.Add("EditValue", ExamInfos, "OutPatientTreatment", true);
Districtid.DataBindings.Add("EditValue", ExamInfos, "DistrictId", true);
CommuneId.DataBindings.Add("EditValue", ExamInfos, "CommuneId", true);
txtHeight.DataBindings.Add("Text", ExamInfos, "Height", true);
txtWeight.DataBindings.Add("Text", ExamInfos, "Weight", true);
ClinicStage.DataBindings.Add("EditValue", ExamInfos, "ClinicStage", true);
Motion.DataBindings.Add("EditValue", ExamInfos, "Motion", true);
Rash.DataBindings.Add("EditValue", ExamInfos, "Rash", true);
Diarrhea.DataBindings.Add("EditValue", ExamInfos, "Diarrhea", true);
Burning.DataBindings.Add("EditValue", ExamInfos, "Burning", true);
Blackouts.DataBindings.Add("EditValue", ExamInfos, "Blackouts", true);
Jaundice.DataBindings.Add("EditValue", ExamInfos, "Jaundice", true);
Colic.DataBindings.Add("EditValue", ExamInfos, "Colic", true);
Anemia.DataBindings.Add("EditValue", ExamInfos, "Anemia", true);
Depression.DataBindings.Add("EditValue", ExamInfos, "Depression", true);
Nausea.DataBindings.Add("EditValue", ExamInfos, "Nausea", true);
Headache.DataBindings.Add("EditValue", ExamInfos, "Headache", true);
FatDistributionChanges.DataBindings.Add("EditValue", ExamInfos, "FatDistributionChanges", true);
tbScreenResult.DataBindings.Add("EditValue", ExamInfos, "TbScreenResult", true);
ReTreatment.DataBindings.Add("EditValue", ExamInfos, "ReTreatment", true);
Poisoning.DataBindings.Add("EditValue", ExamInfos, "Poisoning", true);
ProgressTB.DataBindings.Add("EditValue", ExamInfos, "ProgressTB", true);
IsClinic.DataBindings.Add("EditValue", ExamInfos, "IsClinic", true);
NoSelfExam.DataBindings.Add("EditValue", ExamInfos, "NoSelfExam", true);
}
public override void SaveRecord()
{
if (dxValidationProvider.Validate())
{
BindingContext[ExamInfos].EndCurrentEdit();
var position = this.BindingContext[ExamInfos].Position;
if (position == 0)
{
ExamInfos[position].DayDiff = null;
}
if (position > 0)
{
ExamInfos[position].DayDiff =
(short)
(System.Convert.ToDateTime(ExamInfos[position].ExamDate) -
System.Convert.ToDateTime(ExamInfos[position - 1].ReExamDate)).TotalDays;
if (ExamInfos[position].DayDiff == 0)
{
ExamInfos[position].Status = 1;
}
else
{
if (ExamInfos[position].DayDiff < 0)
{
ExamInfos[position].Status = 2;
}
else
{
ExamInfos[position].Status = 3;
}
}
}
if (ExamInfos[position].IsNew)
{
common.visitdate = (DateTime)ExamDate.EditValue;
}
ExamInfos[position].LateTimes = ExamInfos.Where(g => g.DayDiff > 0).Count().ToString();
adapter.SaveEntityCollection(ExamInfos, true, true);
base.SaveRecord();
}
}
public override void Cancel()
{
BindingContext[ExamInfos].CancelCurrentEdit();
base.Cancel();
}
private void lblStatus_Click(object sender, EventArgs e)
{
Status.EditValue = null;
}
private void labelObey_Click(object sender, EventArgs e)
{
TreatmentFollow.EditValue = null;
}
public override void DeleteRecord()
{
DeletedExam = (TblExaminationInfoEntity) ExamInfos[BindingContext[ExamInfos].Position];
ExamInfos.Remove(DeletedExam);
adapter.DeleteEntity(DeletedExam);
base.DeleteRecord();
}
private void ExamDate_Validated(object sender, EventArgs e)
{
common.visitdate = (DateTime) ExamDate.EditValue;
}
private void IsClinic_EditValueChanged(object sender, EventArgs e)
{
this.ClinicBox.Enabled = (this.IsClinic.EditValue.ToString() == "1");
}
public void ControlArange()
{
this.ClinicBox.Enabled = (this.IsClinic.EditValue.ToString() == "1");
}
private void TBscreen_EditValueChanged(object sender, EventArgs e)
{
this.tbScreenResult.Visible = (this.TBscreen.EditValue.ToString() == "1");
}
private void OutPatientTreatment_EditValueChanged(object sender, EventArgs e)
{
if (OutPatientTreatment.Checked)
{
this.Districtid.EditValue = PatientInfor.DistrictId;
this.CommuneId.EditValue = PatientInfor.CommuneId;
}
else
{
this.Districtid.EditValue = null;
this.CommuneId.EditValue = null;
}
}
private void Districtid_EditValueChanged(object sender, EventArgs e)
{
if (Districtid.EditValue == null) return;
try
{
var DistEntity = new TblDistrictEntity(Districtid.EditValue.ToString());
communeCollection = DistEntity.TblCommunes;
adapter.FetchEntityCollection(communeCollection, DistEntity.GetRelationInfoTblCommunes());
CommuneId.Properties.DataSource = communeCollection;
}
catch (InvalidCastException err)
{
MessageBox.Show(err.Message);
}
}
private void NoSelfExam_CheckedChanged(object sender, EventArgs e)
{
this.TBscreen.Checked = !NoSelfExam.Checked;
this.TBscreen.Visible = !NoSelfExam.Checked;
this.IsClinic.Checked = !NoSelfExam.Checked;
this.IsClinic.Enabled = !NoSelfExam.Checked;
}
private void tbScreenResult_KeyPress(object sender, KeyPressEventArgs e)
{
}
}
}