1
0
Fork 0
mirror of https://github.com/Nioux/AideDeJeu.git synced 2025-10-31 07:26:09 +00:00

Recherche sans accents

This commit is contained in:
Yan Maniez 2018-05-30 21:55:19 +02:00
parent a6a1c53e9b
commit 4ce01fad05
2 changed files with 15 additions and 2 deletions

View file

@ -1,5 +1,7 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Reflection; using System.Reflection;
using System.Runtime.Serialization.Json; using System.Runtime.Serialization.Json;
using System.Text; using System.Text;
@ -17,5 +19,16 @@ namespace AideDeJeu.Tools
return serializer.ReadObject(stream) as T; return serializer.ReadObject(stream) as T;
} }
} }
public static string RemoveDiacritics(string text)
{
if (string.IsNullOrWhiteSpace(text))
return text;
text = text.Normalize(NormalizationForm.FormD);
var chars = text.Where(c => CharUnicodeInfo.GetUnicodeCategory(c) != UnicodeCategory.NonSpacingMark).ToArray();
return new string(chars).Normalize(NormalizationForm.FormC);
}
} }
} }

View file

@ -130,7 +130,7 @@ namespace AideDeJeu.ViewModels
spell.Source.Contains(source) && spell.Source.Contains(source) &&
spell.Source.Contains(classe) && spell.Source.Contains(classe) &&
spell.Type.Contains(rituel) && spell.Type.Contains(rituel) &&
spell.NamePHB.ToLower().Contains(SearchText.ToLower()); Helpers.RemoveDiacritics(spell.NamePHB).ToLower().Contains(Helpers.RemoveDiacritics(SearchText).ToLower());
}) })
.OrderBy(spell => spell.NamePHB) .OrderBy(spell => spell.NamePHB)
.ToList(); .ToList();
@ -363,7 +363,7 @@ namespace AideDeJeu.ViewModels
monster.Source.Contains(source) && monster.Source.Contains(source) &&
powerComparer.Compare(monster.Challenge, minPower) >= 0 && powerComparer.Compare(monster.Challenge, minPower) >= 0 &&
powerComparer.Compare(monster.Challenge, maxPower) <= 0 && powerComparer.Compare(monster.Challenge, maxPower) <= 0 &&
monster.NamePHB.ToLower().Contains(SearchText.ToLower()); Helpers.RemoveDiacritics(monster.NamePHB).ToLower().Contains(Helpers.RemoveDiacritics(SearchText).ToLower());
}) })
.OrderBy(monster => monster.NamePHB) .OrderBy(monster => monster.NamePHB)
.ToList(); .ToList();