From 65ac72fb50e8853ad5747aeeb08c1923d77cf248 Mon Sep 17 00:00:00 2001 From: Daniel Kraus Date: Thu, 13 Aug 2015 19:20:20 +0200 Subject: [PATCH] Use serialized Settings as defaults; fixes. --- zaaReloaded2/Controller/Settings.cs | 2 +- zaaReloaded2/Controller/SettingsRepository.cs | 57 +---- zaaReloaded2/Defaults/clinic.zaaReloaded | 158 +++++++++++++ .../{Thesaurus => }/Defaults/parameters.txt | 0 .../{Thesaurus => }/Defaults/units.txt | 0 zaaReloaded2/Defaults/ward.zaaReloaded | 208 ++++++++++++++++++ zaaReloaded2/Thesaurus/Parameters.cs | 3 +- zaaReloaded2/Thesaurus/Units.cs | 2 +- zaaReloaded2/ViewModels/SettingsViewModel.cs | 14 +- zaaReloaded2/zaaReloaded2.csproj | 7 +- 10 files changed, 396 insertions(+), 55 deletions(-) create mode 100755 zaaReloaded2/Defaults/clinic.zaaReloaded rename zaaReloaded2/{Thesaurus => }/Defaults/parameters.txt (100%) rename zaaReloaded2/{Thesaurus => }/Defaults/units.txt (100%) create mode 100755 zaaReloaded2/Defaults/ward.zaaReloaded diff --git a/zaaReloaded2/Controller/Settings.cs b/zaaReloaded2/Controller/Settings.cs index 8a965d9..561e561 100755 --- a/zaaReloaded2/Controller/Settings.cs +++ b/zaaReloaded2/Controller/Settings.cs @@ -90,7 +90,7 @@ namespace zaaReloaded2.Controller /// Gets the unique ID of this Settings object. The unique /// ID is not included in deep-copying (cloning). /// - public Guid Uid { get; private set; } + public Guid Uid { get; internal set; } #endregion diff --git a/zaaReloaded2/Controller/SettingsRepository.cs b/zaaReloaded2/Controller/SettingsRepository.cs index 61614c7..7b009b3 100755 --- a/zaaReloaded2/Controller/SettingsRepository.cs +++ b/zaaReloaded2/Controller/SettingsRepository.cs @@ -185,52 +185,19 @@ namespace zaaReloaded2.Controller { SettingsList.Clear(); - // Shortcut to assembly properties - zaaReloaded2.Properties.Settings def = zaaReloaded2.Properties.Settings.Default; + Assembly myAssembly = this.GetType().Assembly; + SoapFormatter deserializer = new SoapFormatter(); + Stream stream = myAssembly.GetManifestResourceStream("zaaReloaded2.Defaults.ward.zaaReloaded"); + Settings settings = deserializer.Deserialize(stream) as Settings; + settings.Name = Properties.Settings.Default.SettingsNameWard + BUILTIN_LABEL; + settings.Uid = Guid.Parse(DEFAULT_SETTINGS_1_UID); + SettingsList.Add(settings); - // TODO: May want to create deep copies of this list below - List defaultItems = new List() - { - new Items(def.DefaultItemsClinicalChem), - new Items(def.DefaultItemsInflammation), - new Items(def.DefaultItemsCardio), - new Items(def.DefaultItemsKidney), - new Items(def.DefaultItemsLiver), - new Items(def.DefaultItemsLipids), - new Items(def.DefaultItemsHematology), - new Items(def.DefaultItemsCoagulation), - new Items(def.DefaultItemsDrugs), - new Items(def.DefaultItemsCollectedUrine), - new Items(def.DefaultItemsSpotUrine), - new Items(def.DefaultItemsOther), - }; - - // Configure the settings for the ward - SettingsList.Add( - new Settings( - def.SettingsNameWard + BUILTIN_LABEL, - new List() - { - new TwoColumns(), - new SelectFirstDay(defaultItems), - new NextColumn(), - new SelectLastDay(defaultItems) - }, - Guid.Parse(DEFAULT_SETTINGS_1_UID) - ) - ); - - // Configure the settings for the outpatient clinic - SettingsList.Add( - new Settings( - def.SettingsNameClinic + BUILTIN_LABEL, - new List() - { - new SelectEachDay(defaultItems), - }, - Guid.Parse(DEFAULT_SETTINGS_2_UID) - ) - ); + stream = myAssembly.GetManifestResourceStream("zaaReloaded2.Defaults.clinic.zaaReloaded"); + settings = deserializer.Deserialize(stream) as Settings; + settings.Name = Properties.Settings.Default.SettingsNameClinic + BUILTIN_LABEL; + settings.Uid = Guid.Parse(DEFAULT_SETTINGS_2_UID); + SettingsList.Add(settings); } #endregion diff --git a/zaaReloaded2/Defaults/clinic.zaaReloaded b/zaaReloaded2/Defaults/clinic.zaaReloaded new file mode 100755 index 0000000..97fc7d3 --- /dev/null +++ b/zaaReloaded2/Defaults/clinic.zaaReloaded @@ -0,0 +1,158 @@ + + + +1 + +<_a>-97947944 +<_b>-28017 +<_c>17434 +<_d>191 +<_e>72 +<_f>82 +<_g>56 +<_h>48 +<_i>158 +<_j>105 +<_k>95 + +NepA neu +IfSpecialItem +1 + + + + +zaaReloaded2.Controller.Elements.SelectEachDay +4 +zaaReloaded2, Version=1.0.0.0, Culture=neutral, PublicKeyToken=6ec8d075a1ab1383 + + +1 +19 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +zaaReloaded2.Controller.Elements.Items +4 + + + +1 +Klinische Chemie: Na, K, Cl, Mg, Ca, P, CaxP, Alb, Prot, Haptoglobin, LDH, Glukose, Harnsäure + + +1 +Entzündung/Immunsystem: CRP, Pct, C3c, C4, Anti-DNAse B, ASL + + +1 +Kardiale Marker: CK, CKMB, Trop, NTproBNP + + +1 +Niere: Krea, Hst, eGFR (CKD-EPI) + + +1 +Sammelurin: SU-Proteinurie, SU-Alb, SU-CrCl, SU-HstCl, SU-GFR, SU-Natrium, SU-Zeit, SU-Volumen + + +1 +Spot-Urin: U-* + + +1 +Leber: GOT, GGT, GPT, AP, Bilirubin, CHE + + +1 +Blutfette: TG, Chol, LDL, HDL, Lp(a) + + +1 +Hämatologie: Hb, Hkt, Reti, Leu, Thr, MCV, HbA1c, Retikulozyten, Fragmentozyten + + +1 +Gerinnung: Quick, INR, PTT, Fibrinogen, ATIII, Anti-Xa + + +1 +Diff.-BB: Ery, Neu, Lym, Mon, Baso, Eos + + +1 +Hormone: iPTH, TSH + + +1 +Medikamente: TAC, CSA, SIR, Vancomycin, Gentamicin, Tobramicin + + +1 +Eisenhaushalt: Eisen, Ferritin, Transferrin, Tf.-Sätt. + + +1 +BGA: pH, Std.-Bic., BE + + +zaaReloaded2.Controller.Elements.CustomText +4 + + + +1 +Virologie (EDTA-Blut): CMV-PCR, BKV-PCR + + +1 +Nephrolog. Sediment: pH, Proteinurie, Ery /µl, Leu /µl, Plattenep. /µl, Bakt., Schleimfäden + + +1 +Autoantikörper: ANCA (IF), MPO-ANCA (ELISA), PR3-ANCA (ELISA), ANA (IF), AnDNA (ELISA), AnDNA (RIA) + + +1 +Hepatitis-Serologie: Anti-HBs, Anti-HBc + + + diff --git a/zaaReloaded2/Thesaurus/Defaults/parameters.txt b/zaaReloaded2/Defaults/parameters.txt similarity index 100% rename from zaaReloaded2/Thesaurus/Defaults/parameters.txt rename to zaaReloaded2/Defaults/parameters.txt diff --git a/zaaReloaded2/Thesaurus/Defaults/units.txt b/zaaReloaded2/Defaults/units.txt similarity index 100% rename from zaaReloaded2/Thesaurus/Defaults/units.txt rename to zaaReloaded2/Defaults/units.txt diff --git a/zaaReloaded2/Defaults/ward.zaaReloaded b/zaaReloaded2/Defaults/ward.zaaReloaded new file mode 100755 index 0000000..fe9677f --- /dev/null +++ b/zaaReloaded2/Defaults/ward.zaaReloaded @@ -0,0 +1,208 @@ + + + +1 + +<_a>-1732917544 +<_b>21822 +<_c>16721 +<_d>134 +<_e>250 +<_f>231 +<_g>106 +<_h>44 +<_i>93 +<_j>252 +<_k>234 + +Station neu +IfSpecialOrAbnormal +4 + + + + + + + + + + +zaaReloaded2.Controller.Elements.TwoColumns +4 +zaaReloaded2, Version=1.0.0.0, Culture=neutral, PublicKeyToken=6ec8d075a1ab1383 + + +1 +0 + + +zaaReloaded2.Controller.Elements.SelectFirstDay +4 + + + +1 +17 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +zaaReloaded2.Controller.Elements.NextColumn +4 + + + +1 +0 + + +zaaReloaded2.Controller.Elements.SelectLastDay +4 + + + +1 +17 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +zaaReloaded2.Controller.Elements.Items +4 + + + +1 +Klinische Chemie: Na, K, Cl, Mg, Ca, P, CaxP, Alb, Prot, Haptoglobin, LDH, Glukose, Harnsäure + + +1 +Entzündung/Immunsystem: CRP, Pct, C3c, C4, Anti-DNAse B, ASL + + +1 +Kardiale Marker: CK, CKMB, Trop, NTproBNP + + +1 +Niere: Krea, Hst, eGFR (CKD-EPI) + + +1 +Sammelurin: SU-Proteinurie, SU-Alb, SU-CrCl, SU-HstCl, SU-GFR, SU-Natrium, SU-Zeit, SU-Volumen + + +1 +Spot-Urin: U-* + + +1 +Leber: GOT, GGT, GPT, AP, Bilirubin, CHE + + +1 +Blutfette: TG, Chol, LDL, HDL, Lp(a) + + +1 +Hämatologie: Hb, Hkt, Reti, Leu, Thr, MCV, HbA1c, Retikulozyten, Fragmentozyten + + +1 +Gerinnung: Quick, INR, PTT, Fibrinogen, ATIII, Anti-Xa + + +1 +Diff.-BB: Ery, Neu, Lym, Mon, Baso, Eos + + +1 +Hormone: iPTH, TSH + + +1 +Medikamente: TAC, CSA, SIR, Vancomycin, Gentamicin, Tobramicin + + +1 +Eisenhaushalt: Eisen, Ferritin, Transferrin, Tf.-Sätt. + + +1 +BGA: pH, Std.-Bic., BE + + +1 +Hepatitis-Serologie: Anti-HBs, Anti-HBc + + +1 +Weitere Werte: * + + + diff --git a/zaaReloaded2/Thesaurus/Parameters.cs b/zaaReloaded2/Thesaurus/Parameters.cs index 981e7d8..7600e85 100755 --- a/zaaReloaded2/Thesaurus/Parameters.cs +++ b/zaaReloaded2/Thesaurus/Parameters.cs @@ -124,7 +124,7 @@ namespace zaaReloaded2.Thesaurus protected override System.IO.Stream GetDefaultStream() { return Assembly.GetExecutingAssembly().GetManifestResourceStream( - "zaaReloaded2.Thesaurus.Defaults.parameters.txt"); + "zaaReloaded2.Defaults.parameters.txt"); } /// @@ -137,6 +137,5 @@ namespace zaaReloaded2.Thesaurus } #endregion - } } diff --git a/zaaReloaded2/Thesaurus/Units.cs b/zaaReloaded2/Thesaurus/Units.cs index 5f08df3..71f321d 100755 --- a/zaaReloaded2/Thesaurus/Units.cs +++ b/zaaReloaded2/Thesaurus/Units.cs @@ -72,7 +72,7 @@ namespace zaaReloaded2.Thesaurus protected override System.IO.Stream GetDefaultStream() { return Assembly.GetExecutingAssembly().GetManifestResourceStream( - "zaaReloaded2.Thesaurus.Defaults.units.txt"); + "zaaReloaded2.Defaults.units.txt"); } /// diff --git a/zaaReloaded2/ViewModels/SettingsViewModel.cs b/zaaReloaded2/ViewModels/SettingsViewModel.cs index 7bceeb5..db33e3f 100755 --- a/zaaReloaded2/ViewModels/SettingsViewModel.cs +++ b/zaaReloaded2/ViewModels/SettingsViewModel.cs @@ -445,18 +445,24 @@ namespace zaaReloaded2.ViewModels if (IsTopLevelElement()) { // First level of the hierarchy - Elements.Remove(LastSelectedElement); - ElementBase element = LastSelectedElement.RevealModelObject() as ElementBase; - _settings.Elements.Remove(element); + int index = Elements.IndexOf(LastSelectedElement); + Elements.RemoveAt(index); + _settings.Elements.RemoveAt(index); + if (index == Elements.Count) index--; + LastSelectedElement = null; + if (Elements.Count > 0) Elements[index].IsSelected = true; } else { // Second level of the hierarchy FormatElementViewModel formatVM = LastSelectedElement as FormatElementViewModel; ControlElementViewModel parent = formatVM.Parent; + int index = parent.Elements.IndexOf(formatVM); parent.RemoveChildElement(formatVM); + if (index == parent.Elements.Count) index--; + LastSelectedElement = null; + if (parent.Elements.Count > 0) parent.Elements[index].IsSelected = true; } - LastSelectedElement = null; } } diff --git a/zaaReloaded2/zaaReloaded2.csproj b/zaaReloaded2/zaaReloaded2.csproj index 56cf87f..c2c542e 100755 --- a/zaaReloaded2/zaaReloaded2.csproj +++ b/zaaReloaded2/zaaReloaded2.csproj @@ -284,6 +284,8 @@ + + SettingsSingleFileGenerator @@ -308,8 +310,8 @@ - - + + @@ -405,6 +407,7 @@ + 10.0 $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)