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 districtCollection; private EntityCollection communeCollection; public EntityCollection 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) { } } }