65 lines
2.3 KiB
C#
65 lines
2.3 KiB
C#
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 <string> 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);
|
|
}
|
|
}
|
|
}
|