From f73d89f4b4ca25c808fc9957070ea45787fa6d2e Mon Sep 17 00:00:00 2001 From: Yan Maniez Date: Mon, 21 May 2018 22:15:48 +0200 Subject: [PATCH] Dispose --- .../AideDeJeu/ViewModels/MonstersViewModel.cs | 37 +++++-------------- .../AideDeJeu/ViewModels/SpellsViewModel.cs | 37 +++++-------------- 2 files changed, 20 insertions(+), 54 deletions(-) diff --git a/AideDeJeu/AideDeJeu/ViewModels/MonstersViewModel.cs b/AideDeJeu/AideDeJeu/ViewModels/MonstersViewModel.cs index 7dafc6f3..99ae4846 100644 --- a/AideDeJeu/AideDeJeu/ViewModels/MonstersViewModel.cs +++ b/AideDeJeu/AideDeJeu/ViewModels/MonstersViewModel.cs @@ -233,46 +233,29 @@ namespace AideDeJeu.ViewModels - private string MonstersJson + private IEnumerable _AllMonsters = null; + private IEnumerable AllMonsters { get { - var assembly = typeof(AboutViewModel).GetTypeInfo().Assembly; - //var names = assembly.GetManifestResourceNames(); - using (var stream = assembly.GetManifestResourceStream("AideDeJeu.monsters.json")) + if (_AllMonsters == null) { - using (var reader = new System.IO.StreamReader(stream)) + var serializer = new DataContractJsonSerializer(typeof(IEnumerable)); + var assembly = typeof(AboutViewModel).GetTypeInfo().Assembly; + //var names = assembly.GetManifestResourceNames(); + using (var stream = assembly.GetManifestResourceStream("AideDeJeu.monsters.json")) { - return reader.ReadToEnd(); + _AllMonsters = serializer.ReadObject(stream) as IEnumerable; } } - } - } - - private IEnumerable _Monsters = null; - private IEnumerable Monsters - { - get - { - if (_Monsters == null) - { - DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(IEnumerable)); - MemoryStream stream = new MemoryStream(); - var writer = new StreamWriter(stream); - writer.Write(MonstersJson); - writer.Flush(); - stream.Seek(0, SeekOrigin.Begin); - - _Monsters = serializer.ReadObject(stream) as IEnumerable; - } - return _Monsters; + return _AllMonsters; } } public IEnumerable GetMonsters(string category, string type, string minPower, string maxPower, string size, string legendary, string source) { var powerComparer = new PowerComparer(); - return Monsters.Where(monster => + return AllMonsters.Where(monster => monster.Type.Contains(type) && (string.IsNullOrEmpty(size) || monster.Size.Equals(size)) && monster.Source.Contains(source) && diff --git a/AideDeJeu/AideDeJeu/ViewModels/SpellsViewModel.cs b/AideDeJeu/AideDeJeu/ViewModels/SpellsViewModel.cs index 7e001a12..bb34479d 100644 --- a/AideDeJeu/AideDeJeu/ViewModels/SpellsViewModel.cs +++ b/AideDeJeu/AideDeJeu/ViewModels/SpellsViewModel.cs @@ -179,45 +179,28 @@ namespace AideDeJeu.ViewModels { } - private string SpellsJson + private IEnumerable _AllSpells = null; + private IEnumerable AllSpells { get { - var assembly = typeof(AboutViewModel).GetTypeInfo().Assembly; - //var names = assembly.GetManifestResourceNames(); - using (var stream = assembly.GetManifestResourceStream("AideDeJeu.spells.json")) + if(_AllSpells == null) { - using (var reader = new System.IO.StreamReader(stream)) + var serializer = new DataContractJsonSerializer(typeof(IEnumerable)); + var assembly = typeof(AboutViewModel).GetTypeInfo().Assembly; + //var names = assembly.GetManifestResourceNames(); + using (var stream = assembly.GetManifestResourceStream("AideDeJeu.spells.json")) { - return reader.ReadToEnd(); + _AllSpells = serializer.ReadObject(stream) as IEnumerable; } } - } - } - - private IEnumerable _Spells = null; - private IEnumerable Spells - { - get - { - if(_Spells == null) - { - DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(IEnumerable)); - MemoryStream stream = new MemoryStream(); - var writer = new StreamWriter(stream); - writer.Write(SpellsJson); - writer.Flush(); - stream.Seek(0, SeekOrigin.Begin); - - _Spells = serializer.ReadObject(stream) as IEnumerable; - } - return _Spells; + return _AllSpells; } } public IEnumerable GetSpells(string classe, string niveauMin, string niveauMax, string ecole, string rituel, string source) { - return Spells.Where(spell => + return AllSpells.Where(spell => (int.Parse(spell.Level) >= int.Parse(niveauMin)) && (int.Parse(spell.Level) <= int.Parse(niveauMax)) && spell.Type.Contains(ecole) &&