private void AddCertainDays(Medicament medicament) // функция добавления расписания, при выбранных днях недели { var startDate = medicament.StartDate; startDate = startDate.AddDays(1); for (int i = 0; i < medicament.DurationOfAdmission; i++) { for (int j = 0; j < medicament.Days.Count; j++) { if (startDate.DayOfWeek.ToString() == medicament.Days[j].ToString()) { var oneDay = FindADay(startDate); if (oneDay != null) { TimesADay(oneDay, medicament); } else { oneDay = new OneDay(); oneDay.Day = startDate; _oneDays.Add(oneDay); TimesADay(oneDay, medicament); } break; } } startDate = startDate.AddDays(1); } }
private void TimesADay(OneDay oneday, Medicament medicament) // функция, которая добавляет в расписание дня несколько приемов препарата, если они есть { var hours = 12.0 / medicament.TimesADay; for (int i = 0; i < medicament.TimesADay; i++) { oneday.LightMedicaments.Add(new LightMedicament(TimeSpan.FromHours(9 + i * hours), medicament)); } }
private void ListBoxProfiles_SelectionChanged(object sender, SelectionChangedEventArgs e) { ListBoxTimesMedicament.Items.Clear(); ProfileName.Text = ((String)ListBoxProfiles.SelectedItem); Human humanFind = null; foreach (var human in _people) { if (human.Name == ProfileName.Text) { humanFind = human; break; } } var selDate = DateTime.Parse(TextBlockSelectedDate.Text); if (humanFind != null) { BitmapImage bi3 = new BitmapImage(); try { bi3.BeginInit(); bi3.UriSource = humanFind.Avatar; bi3.EndInit(); Avatar.Stretch = Stretch.Uniform; Avatar.Source = bi3; } catch (Exception) { } OneDay oneDayFind = null; foreach (var oneDay in humanFind.OneDays) { if (oneDay.Day == selDate) { oneDayFind = oneDay; break; } } if (oneDayFind != null) { CheckBox cbMonday = null; foreach (var lightMedicament in oneDayFind.LightMedicaments) { cbMonday = new CheckBox(); cbMonday.Checked += CbMondayOnChecked; cbMonday.ToolTip = lightMedicament.Medicament1.Notes; cbMonday.Content = lightMedicament.Time.ToString() + " | " + lightMedicament.Medicament1.Title + " - " + lightMedicament.Medicament1.Name + " " + lightMedicament.Medicament1.Num + " " + lightMedicament.Medicament1.UnitOfPreparation; cbMonday.IsChecked = lightMedicament.isDone; ListBoxTimesMedicament.Items.Add(cbMonday); } } } }
private void AddEveryDay(Medicament medicament) // функция добавления препарата, если выбран режим каждый день { var startDate = medicament.StartDate; for (int i = 0; i < medicament.DurationOfAdmission; i++) { startDate = startDate.AddDays(1); var oneDay = FindADay(startDate); if (oneDay != null) { TimesADay(oneDay, medicament); } else { oneDay = new OneDay(); oneDay.Day = startDate; _oneDays.Add(oneDay); TimesADay(oneDay, medicament); } } }
private void AddDailyInterval(Medicament medicament) { var startDate = medicament.StartDate; startDate = startDate.AddDays(1); for (int i = 0; i < medicament.DurationOfAdmission; i++) { var oneDay = FindADay(startDate); if (oneDay != null) { TimesADay(oneDay, medicament); } else { oneDay = new OneDay(); oneDay.Day = startDate; _oneDays.Add(oneDay); TimesADay(oneDay, medicament); } startDate = startDate.AddDays(medicament.DaysOfDailyInterval); } }
private void CbMondayOnChecked(object sender, RoutedEventArgs routedEventArgs) { ProfileName.Text = ((String)ListBoxProfiles.SelectedItem); Human humanFind = null; foreach (var human in _people) { if (human.Name == ProfileName.Text) { humanFind = human; break; } } var selDate = DateTime.Parse(TextBlockSelectedDate.Text); if (humanFind != null) { OneDay oneDayFind = null; foreach (var oneDay in humanFind.OneDays) { if (oneDay.Day == selDate) { oneDayFind = oneDay; break; } } if (oneDayFind != null) { foreach (var lightMedicament in oneDayFind.LightMedicaments) { if (((CheckBox)sender).Content.ToString() == lightMedicament.Time.ToString() + " | " + lightMedicament.Medicament1.Title + " - " + lightMedicament.Medicament1.Name + " " + lightMedicament.Medicament1.Num + " " + lightMedicament.Medicament1.UnitOfPreparation && ((CheckBox)sender).ToolTip.ToString() == lightMedicament.Medicament1.Notes) { lightMedicament.isDone = ((CheckBox)sender).IsEnabled; } } } } }
private void TimerTick(object state) { foreach (var human in _people) { OneDay oneDayFind = null; foreach (var oneDay in human.OneDays) { if (oneDay.Day == DateTime.Today) { oneDayFind = oneDay; break; } else if (oneDay.Day > DateTime.Today) { break; } } if (oneDayFind == null) { break; } foreach (var lightMedicament in oneDayFind.LightMedicaments) { if (lightMedicament.isDone == false && lightMedicament.Time > DateTime.Now.TimeOfDay.Add(TimeSpan.FromMinutes(-5)) && lightMedicament.Time < DateTime.Now.TimeOfDay.Add(TimeSpan.FromMinutes(5))) { var res = MessageBox.Show("Time to " + lightMedicament.Medicament1.Name + " " + lightMedicament.Medicament1.Num + lightMedicament.Medicament1.UnitOfPreparation + " | Note: " + lightMedicament.Medicament1.Notes, human.Name, MessageBoxButton.YesNo, MessageBoxImage.Warning); if (res == MessageBoxResult.Yes) { lightMedicament.isDone = true; } } } } }