using System; using System.Collections.Generic; using System.Linq; using Datalib.DatabaseSpecific; using System.Windows.Forms; using Datalib.Linq; using Datalib.EntityClasses; using Datalib.FactoryClasses; using Datalib.HelperClasses; using PatientMan.Classes; namespace PatientMan.Classes { class clsLateAppointment { static DataAccessAdapter adapter = new DataAccessAdapter(SettingInfo.Constr); LinqMetaData meta = new LinqMetaData(adapter); public void FixLateAppointMent() { if (MessageBox.Show("Quá trình hiệu chỉnh có thễ sẽ diễn ra trong thời gian dài nếu dữ liệu lớn. Bạn có chắn chắn thực hiện", "Cảnh báo", MessageBoxButtons.OKCancel) == DialogResult.Cancel) return; List patients = meta.TblPatient.OrderBy(m => m.PatientId).Select(m => m.PatientId).ToList(); #region "Patients" foreach (string PatientId in patients) { var PatientExams = meta.TblExaminationInfo.Where(m => m.PatientId == PatientId).OrderBy(m => m.ExamDate).ToList(); for (int i = 0; i < PatientExams.Count() - 1; i++) { short DayDiff = (i==0)?(short)0: (short)(System.Convert.ToDateTime(PatientExams[i].ExamDate)-System.Convert.ToDateTime(PatientExams[i - 1].ReExamDate)).TotalDays; string UniqueKey = PatientExams[i].UniqueKey; TblExaminationInfoEntity ExamInfo = new TblExaminationInfoEntity(UniqueKey); adapter.FetchEntity(ExamInfo); ExamInfo.DayDiff = DayDiff; if (DayDiff == 0) { ExamInfo.Status = 1; } else { if (DayDiff < 0) { ExamInfo.Status = 2; } else { ExamInfo.Status = 3; } } adapter.SaveEntity(ExamInfo, true); } } #endregion MessageBox.Show("Quá trình hiệu chỉnh đã kêt thúc", "Hiệu chỉnh dữ liệu", MessageBoxButtons.OK); } } }