Esempio n. 1
0
        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;
        }
Esempio n. 2
0
        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;
        }
Esempio n. 3
0
        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();
        }
Esempio n. 4
0
        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();
        }