public void InitialisePerSessionData() { var stopwatch = Stopwatch.StartNew(); dbContext.Configuration.AutoDetectChangesEnabled = false; dbContext.Configuration.LazyLoadingEnabled = false; dbContext.Configuration.ProxyCreationEnabled = false; PerSessionDataStorage storage = new PerSessionDataStorage(); storage.SaveData(dbContext.Clinics.ToList()); storage.SaveData(dbContext.Users.ToList()); storage.SaveData(dbContext.Patients.ToList()); storage.SaveData(dbContext.Visits.ToList()); storage.SaveData(dbContext.Forms.ToList()); storage.SaveData(dbContext.AdverseEventFormDatas.ToList()); storage.SaveData(dbContext.DemographicFormDatas.ToList()); storage.SaveData(dbContext.VitalsFormDatas.ToList()); storage.SaveData(dbContext.ElectrocardiogramFormDatas.ToList()); storage.SaveData(dbContext.InventoryFormDatas.ToList()); storage.SaveData(dbContext.HappinessFormDatas.ToList()); storage.SaveData(dbContext.Questions.ToList()); storage.SaveData(dbContext.Attachments.ToList()); storage.SaveData(dbContext.ChangeNotes.ToList()); storage.SaveData(dbContext.RepeatableInventoryDatas.ToList()); storage.SaveData(dbContext.Queries.ToList()); stopwatch.Stop(); DatesCorrector corrector = new DatesCorrector(); int datesChange = corrector.GetDaysChange(dbContext); corrector.SetDatesToToday(datesChange, storage); }
public void SetDatesToToday(int daysChange, PerSessionDataStorage storage) { Stopwatch stopwatch = Stopwatch.StartNew(); foreach (var patient in storage.GetData<Patient>()) { patient.EnrollDate = AddDays(daysChange, patient.EnrollDate); patient.RandomisationDate = AddDays(daysChange, patient.RandomisationDate); } foreach (var visit in storage.GetData<Visit>()) { visit.VisitDate = AddDays(daysChange, visit.VisitDate); visit.ExpectedVisitDate = AddDays(daysChange, visit.ExpectedVisitDate); } foreach (var question in storage.GetData<RepeatableInventoryData>().Select(rid => rid.DateUsed)) { question.Value = AddDays(daysChange, question.Value); } foreach (var formData in storage.GetData<InventoryFormData>()) { formData.ReceiptDate.Value = AddDays(daysChange, formData.ReceiptDate.Value); formData.ShipDate.Value = AddDays(daysChange, formData.ShipDate.Value); } foreach (var query in storage.GetData<Query>()) { query.QueryTime = AddDays(daysChange, query.QueryTime); query.AnswerTime = AddDays(daysChange, query.AnswerTime); } foreach (var changeNote in storage.GetData<ChangeNote>()) { changeNote.ChangeDate = AddDays(daysChange, changeNote.ChangeDate); } stopwatch.Stop(); }
public void SetDatesToToday(int daysChange, PerSessionDataStorage storage) { Stopwatch stopwatch = Stopwatch.StartNew(); foreach (var patient in storage.GetData <Patient>()) { patient.EnrollDate = AddDays(daysChange, patient.EnrollDate); patient.RandomisationDate = AddDays(daysChange, patient.RandomisationDate); } foreach (var visit in storage.GetData <Visit>()) { visit.VisitDate = AddDays(daysChange, visit.VisitDate); visit.ExpectedVisitDate = AddDays(daysChange, visit.ExpectedVisitDate); } foreach (var question in storage.GetData <RepeatableInventoryData>().Select(rid => rid.DateUsed)) { question.Value = AddDays(daysChange, question.Value); } foreach (var formData in storage.GetData <InventoryFormData>()) { formData.ReceiptDate.Value = AddDays(daysChange, formData.ReceiptDate.Value); formData.ShipDate.Value = AddDays(daysChange, formData.ShipDate.Value); } foreach (var query in storage.GetData <Query>()) { query.QueryTime = AddDays(daysChange, query.QueryTime); query.AnswerTime = AddDays(daysChange, query.AnswerTime); } foreach (var changeNote in storage.GetData <ChangeNote>()) { changeNote.ChangeDate = AddDays(daysChange, changeNote.ChangeDate); } stopwatch.Stop(); }