private void PatientForm_Load(object sender, EventArgs e) { PatientName.Text = user.FullName; _container = new EntityModelContainer(); // собираем результаты всех обследований за все время MedicalResults.DataSource = (from measuredData in _container.MeasuredDataSet.AsParallel() where measuredData.OwnerCode == user.UserCode orderby measuredData.CreatingTime select new { Дата = measuredData.CreatingTime, Значение = measuredData.Value, Тип = "Измерение", Код = measuredData.Number }).Union( from healthStatus in _container.HealthStatusSet.AsParallel() where healthStatus.OwnerCode == user.UserCode select new { Дата = healthStatus.CreatingTime, Значение = healthStatus.Status, Тип = "Статус", Код = (long)healthStatus.Number }).ToList(); MedicalResults.Update(); BeginPeriod.MaxDate = DateTime.Now; EndPeriod.MaxDate = DateTime.Now; MedicalResults.Columns[0].Width = 100; MedicalResults.Columns[1].Width = 205; MedicalResults.Columns[2].Visible = false; MedicalResults.Columns[3].Visible = false; }
void RefreshMedicalResults() { _container = new EntityModelContainer(); _healthStatuses = _container.HealthStatusSet; user = _container.PatientSet.Find(user.UserCode); if (ShowHealthState.Checked && ShowMeasuredData.Checked) { GetAllResults(); } else { if (ShowHealthState.Checked) { GetOnlyHealthStatus(); } else { GetOnlyMeasured(); } } MedicalResults.Update(); MedicalResults.Columns[0].Width = 100; MedicalResults.Columns[1].Width = 205; MedicalResults.Columns[2].Visible = false; MedicalResults.Columns[3].Visible = false; }
void GetOnlyHealthStatus() { if (AllPeriodData.Checked) { MedicalResults.DataSource = (from healthStatus in _container.HealthStatusSet.AsParallel() where healthStatus.OwnerCode == user.UserCode orderby healthStatus.CreatingTime select new { Дата = healthStatus.CreatingTime, езультат = healthStatus.Status, Тип = "Статус", Код = (long)healthStatus.Number }).ToList(); } else { MedicalResults.DataSource = (from healthStatus in _container.HealthStatusSet.AsParallel() where healthStatus.OwnerCode == user.UserCode && DateTime.Compare(healthStatus.CreatingTime, BeginPeriod.Value) != -1 && DateTime.Compare(healthStatus.CreatingTime, EndPeriod.Value) != 1 orderby healthStatus.CreatingTime select new { Дата = healthStatus.CreatingTime, езультат = healthStatus.Status, Тип = "Статус", Код = (long)healthStatus.Number }).ToList(); } MedicalResults.Update(); }
void GetAllResults() { if (AllPeriodData.Checked) { if (AllDevicesData.Checked) { MedicalResults.DataSource = (from measuredData in user.MeasuredData.AsParallel() orderby measuredData.CreatingTime select new { Дата = measuredData.CreatingTime, езультат = measuredData.Value, Тип = "Измерение", Код = measuredData.Number }).Union( from healthStatus in _container.HealthStatusSet.AsParallel() orderby healthStatus.CreatingTime where healthStatus.OwnerCode == user.UserCode select new { Дата = healthStatus.CreatingTime, езультат = healthStatus.Status, Тип = "Статус", Код = (long)healthStatus.Number }).ToList(); } else { switch (ChooseDevice.SelectedIndex) { case 0: MedicalResults.DataSource = (from measuredData in user.MeasuredData.AsParallel() orderby measuredData.CreatingTime where _container.DeviceSet.Find(measuredData.DeviceCode).Function == DeviceFunction.Glucometer select new { Дата = measuredData.CreatingTime, езультат = measuredData.Value, Тип = "Измерение", Код = measuredData.Number }) .Union( from healthStatus in _container.HealthStatusSet.AsParallel() orderby healthStatus.CreatingTime where healthStatus.OwnerCode == user.UserCode select new { Дата = healthStatus.CreatingTime, езультат = healthStatus.Status, Тип = "Статус", Код = (long)healthStatus.Number }) .ToList(); break; case 1: MedicalResults.DataSource = (from measuredData in user.MeasuredData.AsParallel() orderby measuredData.CreatingTime where _container.DeviceSet.Find(measuredData.DeviceCode).Function == DeviceFunction.HeartRateMonitor select new { Дата = measuredData.CreatingTime, езультат = measuredData.Value, Тип = "Измерение", Код = measuredData.Number }) .Union( from healthStatus in _container.HealthStatusSet.AsParallel() orderby healthStatus.CreatingTime where healthStatus.OwnerCode == user.UserCode select new { Дата = healthStatus.CreatingTime, езультат = healthStatus.Status, Тип = "Статус", Код = (long)healthStatus.Number }) .ToList(); break; case 2: MedicalResults.DataSource = (from measuredData in user.MeasuredData.AsParallel() orderby measuredData.CreatingTime where _container.DeviceSet.Find(measuredData.DeviceCode).Function == DeviceFunction.BloodPressureMonitor select new { Дата = measuredData.CreatingTime, езультат = measuredData.Value, Тип = "Измерение", Код = measuredData.Number }) .Union( from healthStatus in _container.HealthStatusSet.AsParallel() orderby healthStatus.CreatingTime where healthStatus.OwnerCode == user.UserCode select new { Дата = healthStatus.CreatingTime, езультат = healthStatus.Status, Тип = "Статус", Код = (long)healthStatus.Number }) .ToList(); break; } } } else { if (AllDevicesData.Checked) { MedicalResults.DataSource = (from measuredData in user.MeasuredData.AsParallel() where measuredData.OwnerCode == user.UserCode && DateTime.Compare(measuredData.CreatingTime, BeginPeriod.Value) != -1 && DateTime.Compare(measuredData.CreatingTime, EndPeriod.Value) != 1 orderby measuredData.CreatingTime select new { Дата = measuredData.CreatingTime, езультат = measuredData.Value, Тип = "Измерение", Код = measuredData.Number }).Union( from healthStatus in _container.HealthStatusSet.AsParallel() where healthStatus.OwnerCode == user.UserCode && DateTime.Compare(healthStatus.CreatingTime, BeginPeriod.Value) != -1 && DateTime.Compare(healthStatus.CreatingTime, EndPeriod.Value) != 1 select new { Дата = healthStatus.CreatingTime, езультат = healthStatus.Status, Тип = "Статус", Код = (long)healthStatus.Number }).ToList(); } else { switch (ChooseDevice.SelectedIndex) { case 0: MedicalResults.DataSource = (from measuredData in user.MeasuredData.AsParallel() where measuredData.OwnerCode == user.UserCode && DateTime.Compare(measuredData.CreatingTime, BeginPeriod.Value) != -1 && DateTime.Compare(measuredData.CreatingTime, EndPeriod.Value) != 1 && _container .DeviceSet.Find(measuredData.DeviceCode).Function == DeviceFunction.Glucometer orderby measuredData.CreatingTime select new { Дата = measuredData.CreatingTime, езультат = measuredData.Value, Тип = "Измерение", Код = measuredData.Number }) .Union( from healthStatus in _container.HealthStatusSet.AsParallel() orderby healthStatus.CreatingTime where healthStatus.OwnerCode == user.UserCode && DateTime.Compare(healthStatus.CreatingTime, BeginPeriod.Value) != -1 && DateTime.Compare(healthStatus.CreatingTime, EndPeriod.Value) != 1 select new { Дата = healthStatus.CreatingTime, езультат = healthStatus.Status, Тип = "Статус", Код = (long)healthStatus.Number }) .ToList(); break; case 1: MedicalResults.DataSource = (from measuredData in user.MeasuredData.AsParallel() where measuredData.OwnerCode == user.UserCode && DateTime.Compare(measuredData.CreatingTime, BeginPeriod.Value) != -1 && DateTime.Compare(measuredData.CreatingTime, EndPeriod.Value) != 1 && _container .DeviceSet.Find(measuredData.DeviceCode).Function == DeviceFunction.HeartRateMonitor orderby measuredData.CreatingTime select new { Дата = measuredData.CreatingTime, езультат = measuredData.Value, Тип = "Измерение", Код = measuredData.Number }) .Union( from healthStatus in _container.HealthStatusSet.AsParallel() orderby healthStatus.CreatingTime where healthStatus.OwnerCode == user.UserCode && DateTime.Compare(healthStatus.CreatingTime, BeginPeriod.Value) != -1 && DateTime.Compare(healthStatus.CreatingTime, EndPeriod.Value) != 1 select new { Дата = healthStatus.CreatingTime, езультат = healthStatus.Status, Тип = "Статус", Код = (long)healthStatus.Number }) .ToList(); break; case 2: MedicalResults.DataSource = (from measuredData in user.MeasuredData.AsParallel() where measuredData.OwnerCode == user.UserCode && DateTime.Compare(measuredData.CreatingTime, BeginPeriod.Value) != -1 && DateTime.Compare(measuredData.CreatingTime, EndPeriod.Value) != 1 && _container .DeviceSet.Find(measuredData.DeviceCode).Function == DeviceFunction.BloodPressureMonitor orderby measuredData.CreatingTime select new { Дата = measuredData.CreatingTime, езультат = measuredData.Value, Тип = "Измерение", Код = measuredData.Number }) .Union( from healthStatus in _container.HealthStatusSet.AsParallel() where healthStatus.OwnerCode == user.UserCode && DateTime.Compare(healthStatus.CreatingTime, BeginPeriod.Value) != -1 && DateTime.Compare(healthStatus.CreatingTime, EndPeriod.Value) != 1 orderby healthStatus.CreatingTime select new { Дата = healthStatus.CreatingTime, езультат = healthStatus.Status, Тип = "Статус", Код = (long)healthStatus.Number }) .ToList(); break; } } } MedicalResults.Update(); }