/// <summary> /// ファイル読込 /// </summary> public override async void Read() { Drugs = new ObservableCollection <Drug>(); await Task.Run(() => { if (Element != null) { foreach (var element in Element.Elements(_ElementName)) { var drug = new Drug(); drug.CreateDateTime = GetAttribute(element, nameof(Drug.CreateDateTime), drug.CreateDateTime); drug.Name = GetValue(element, nameof(Drug.Name), drug.Name); var child = element.Element(nameof(Drug.Breakfast)); drug.Breakfast.IsDrug = GetValue(child, nameof(Timing.IsDrug), drug.Breakfast.IsDrug); drug.Breakfast.Kind = GetValue(child, nameof(Timing.Kind), drug.Breakfast.Kind); drug.Breakfast.Volume = GetValue(child, nameof(Timing.Volume), drug.Breakfast.Volume); child = element.Element(nameof(Drug.Lunch)); drug.Lunch.IsDrug = GetValue(child, nameof(Timing.IsDrug), drug.Lunch.IsDrug); drug.Lunch.Kind = GetValue(child, nameof(Timing.Kind), drug.Lunch.Kind); drug.Lunch.Volume = GetValue(child, nameof(Timing.Volume), drug.Lunch.Volume); child = element.Element(nameof(Drug.Dinner)); drug.Dinner.IsDrug = GetValue(child, nameof(Timing.IsDrug), drug.Dinner.IsDrug); drug.Dinner.Kind = GetValue(child, nameof(Timing.Kind), drug.Dinner.Kind); drug.Dinner.Volume = GetValue(child, nameof(Timing.Volume), drug.Dinner.Volume); child = element.Element(nameof(Drug.Sleep)); drug.Sleep.IsDrug = GetValue(child, nameof(Timing.IsDrug), drug.Sleep.IsDrug); drug.Sleep.Kind = GetValue(child, nameof(Timing.Kind), drug.Sleep.Kind); drug.Sleep.Volume = GetValue(child, nameof(Timing.Volume), drug.Sleep.Volume); child = element.Element(nameof(Drug.ToBeTaken)); drug.ToBeTaken.IsDrug = GetValue(child, nameof(Timing.IsDrug), drug.ToBeTaken.IsDrug); drug.ToBeTaken.Kind = GetValue(child, nameof(Timing.Kind), drug.ToBeTaken.Kind); drug.ToBeTaken.Volume = GetValue(child, nameof(Timing.Volume), drug.ToBeTaken.Volume); child = element.Element(nameof(Drug.Appoint)); drug.Appoint.IsDrug = GetValue(child, nameof(Timing.IsDrug), drug.Appoint.IsDrug); drug.Appoint.Kind = GetValue(child, nameof(Timing.Kind), drug.Appoint.Kind); drug.Appoint.Volume = GetValue(child, nameof(Timing.Volume), drug.Appoint.Volume); drug.AppointTime = GetAttribute(child, nameof(Drug.AppointTime), drug.AppointTime); child = element.Element(nameof(Drug.HourEach)); drug.HourEach.IsDrug = GetValue(child, nameof(Timing.IsDrug), drug.HourEach.IsDrug); drug.HourEach.Kind = GetValue(child, nameof(Timing.Kind), drug.HourEach.Kind); drug.HourEach.Volume = GetValue(child, nameof(Timing.Volume), drug.HourEach.Volume); drug.HourEachTime = GetAttribute(child, nameof(Drug.HourEachTime), drug.HourEachTime); drug.HourEachNextTime = GetAttribute(child, nameof(Drug.HourEachNextTime), drug.HourEachNextTime); drug.TotalVolume = GetValue(element, nameof(Drug.TotalVolume), drug.TotalVolume); drug.PrescriptionAlarmVolume = GetValue(element, nameof(Drug.PrescriptionAlarmVolume), drug.PrescriptionAlarmVolume); drug.Remarks = GetValue(element, nameof(Drug.Remarks), drug.Remarks); drug.MakeDrugTiming(); Drugs.Add(drug); } } }); }