mirror of
https://github.com/Nioux/AideDeJeu.git
synced 2025-11-01 16:05:42 +00:00
Filtres monstres & sorts
This commit is contained in:
parent
0792aed7cc
commit
4512df905e
1 changed files with 196 additions and 67 deletions
|
|
@ -1,5 +1,6 @@
|
||||||
using AideDeJeu.Tools;
|
using AideDeJeu.Tools;
|
||||||
using AideDeJeuLib;
|
using AideDeJeuLib;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Threading;
|
using System.Threading;
|
||||||
|
|
@ -201,37 +202,37 @@ namespace AideDeJeu.ViewModels
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public override async Task<IEnumerable<Item>> FilterItems(IEnumerable<Item> items, CancellationToken token = default)
|
//public override async Task<IEnumerable<Item>> FilterItems(IEnumerable<Item> items, CancellationToken token = default)
|
||||||
{
|
//{
|
||||||
return await Task.Run(() =>
|
// return await Task.Run(() =>
|
||||||
{
|
// {
|
||||||
var levelComparer = new LevelComparer();
|
// var levelComparer = new LevelComparer();
|
||||||
var classe = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.Class).SelectedKey ?? "";
|
// var classe = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.Class).SelectedKey ?? "";
|
||||||
var niveauMin = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.MinLevel).SelectedKey ?? "0";
|
// var niveauMin = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.MinLevel).SelectedKey ?? "0";
|
||||||
var niveauMax = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.MaxLevel).SelectedKey ?? "9";
|
// var niveauMax = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.MaxLevel).SelectedKey ?? "9";
|
||||||
var ecole = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.School).SelectedKey ?? "";
|
// var ecole = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.School).SelectedKey ?? "";
|
||||||
var ritual = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.Ritual).SelectedKey ?? "";
|
// var ritual = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.Ritual).SelectedKey ?? "";
|
||||||
var source = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.Source).SelectedKey ?? "";
|
// var source = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.Source).SelectedKey ?? "";
|
||||||
//token.ThrowIfCancellationRequested();
|
// //token.ThrowIfCancellationRequested();
|
||||||
return items.Where(item =>
|
// return items.Where(item =>
|
||||||
{
|
// {
|
||||||
var spell = item as Spell;
|
// var spell = item as Spell;
|
||||||
return
|
// return
|
||||||
levelComparer.Compare(spell.Level, niveauMin) >= 0 &&
|
// levelComparer.Compare(spell.Level, niveauMin) >= 0 &&
|
||||||
levelComparer.Compare(spell.Level, niveauMax) <= 0 &&
|
// levelComparer.Compare(spell.Level, niveauMax) <= 0 &&
|
||||||
spell.Type.ToLower().Contains(ecole.ToLower()) &&
|
// spell.Type.ToLower().Contains(ecole.ToLower()) &&
|
||||||
(spell.Source != null && spell.Source.Contains(source)) &&
|
// (spell.Source != null && spell.Source.Contains(source)) &&
|
||||||
(spell.Classes != null && spell.Classes.Contains(classe)) &&
|
// (spell.Classes != null && spell.Classes.Contains(classe)) &&
|
||||||
(string.IsNullOrEmpty(ritual) || (spell.Ritual != null && spell.Ritual.Contains(ritual))) &&
|
// (string.IsNullOrEmpty(ritual) || (spell.Ritual != null && spell.Ritual.Contains(ritual))) &&
|
||||||
(
|
// (
|
||||||
(Helpers.RemoveDiacritics(spell.Name).ToLower().Contains(Helpers.RemoveDiacritics(SearchText ?? string.Empty).ToLower())) ||
|
// (Helpers.RemoveDiacritics(spell.Name).ToLower().Contains(Helpers.RemoveDiacritics(SearchText ?? string.Empty).ToLower())) ||
|
||||||
(Helpers.RemoveDiacritics(spell.AltNameText ?? string.Empty).ToLower().Contains(Helpers.RemoveDiacritics(SearchText ?? string.Empty).ToLower()))
|
// (Helpers.RemoveDiacritics(spell.AltNameText ?? string.Empty).ToLower().Contains(Helpers.RemoveDiacritics(SearchText ?? string.Empty).ToLower()))
|
||||||
);
|
// );
|
||||||
}).OrderBy(spell => spell.Name)
|
// }).OrderBy(spell => spell.Name)
|
||||||
.AsEnumerable();
|
// .AsEnumerable();
|
||||||
}, token);
|
// }, token);
|
||||||
|
|
||||||
}
|
//}
|
||||||
|
|
||||||
public abstract List<KeyValuePair<string, string>> Classes { get; }
|
public abstract List<KeyValuePair<string, string>> Classes { get; }
|
||||||
|
|
||||||
|
|
@ -247,6 +248,11 @@ namespace AideDeJeu.ViewModels
|
||||||
|
|
||||||
public class VFSpellFilterViewModel : SpellFilterViewModel
|
public class VFSpellFilterViewModel : SpellFilterViewModel
|
||||||
{
|
{
|
||||||
|
public override Task<IEnumerable<Item>> FilterItems(IEnumerable<Item> items, CancellationToken cancellationToken = default)
|
||||||
|
{
|
||||||
|
throw new System.NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
public override List<KeyValuePair<string, string>> Classes { get; } = new List<KeyValuePair<string, string>>()
|
public override List<KeyValuePair<string, string>> Classes { get; } = new List<KeyValuePair<string, string>>()
|
||||||
{
|
{
|
||||||
new KeyValuePair<string, string>("", "Toutes" ),
|
new KeyValuePair<string, string>("", "Toutes" ),
|
||||||
|
|
@ -298,11 +304,38 @@ namespace AideDeJeu.ViewModels
|
||||||
new KeyValuePair<string, string>("", "Toutes"),
|
new KeyValuePair<string, string>("", "Toutes"),
|
||||||
new KeyValuePair<string, string>("(SRD", "SRD"),
|
new KeyValuePair<string, string>("(SRD", "SRD"),
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public class VOSpellFilterViewModel : SpellFilterViewModel
|
public class VOSpellFilterViewModel : SpellFilterViewModel
|
||||||
{
|
{
|
||||||
|
public override async Task<IEnumerable<Item>> FilterItems(IEnumerable<Item> items, CancellationToken token = default)
|
||||||
|
{
|
||||||
|
return await Task.Run(() =>
|
||||||
|
{
|
||||||
|
var levelComparer = new LevelComparer();
|
||||||
|
var classe = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.Class).SelectedKey ?? "";
|
||||||
|
var niveauMin = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.MinLevel).SelectedKey ?? "0";
|
||||||
|
var niveauMax = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.MaxLevel).SelectedKey ?? "9";
|
||||||
|
var ecole = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.School).SelectedKey ?? "";
|
||||||
|
var ritual = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.Ritual).SelectedKey ?? "";
|
||||||
|
var source = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.Source).SelectedKey ?? "";
|
||||||
|
using (var context = new StoreViewModel.AideDeJeuContext())
|
||||||
|
{
|
||||||
|
return context.SpellsVO.Where(spell =>
|
||||||
|
levelComparer.Compare(spell.Level, niveauMin) >= 0 &&
|
||||||
|
levelComparer.Compare(spell.Level, niveauMax) <= 0 &&
|
||||||
|
spell.Type.ToLower().Contains(ecole.ToLower()) &&
|
||||||
|
(spell.Source != null && spell.Source.Contains(source)) &&
|
||||||
|
(spell.Classes != null && spell.Classes.Contains(classe)) &&
|
||||||
|
(string.IsNullOrEmpty(ritual) || (spell.Ritual != null && spell.Ritual.Contains(ritual))) &&
|
||||||
|
(
|
||||||
|
(Helpers.RemoveDiacritics(spell.Name).ToLower().Contains(Helpers.RemoveDiacritics(SearchText ?? string.Empty).ToLower())) ||
|
||||||
|
(Helpers.RemoveDiacritics(spell.AltNameText ?? string.Empty).ToLower().Contains(Helpers.RemoveDiacritics(SearchText ?? string.Empty).ToLower()))
|
||||||
|
)).OrderBy(spell => spell.Name).ToList();
|
||||||
|
}
|
||||||
|
}, token);
|
||||||
|
}
|
||||||
|
|
||||||
public override List<KeyValuePair<string, string>> Classes { get; } = new List<KeyValuePair<string, string>>()
|
public override List<KeyValuePair<string, string>> Classes { get; } = new List<KeyValuePair<string, string>>()
|
||||||
{
|
{
|
||||||
new KeyValuePair<string, string>("", "All" ),
|
new KeyValuePair<string, string>("", "All" ),
|
||||||
|
|
@ -358,6 +391,34 @@ namespace AideDeJeu.ViewModels
|
||||||
|
|
||||||
public class HDSpellFilterViewModel : SpellFilterViewModel
|
public class HDSpellFilterViewModel : SpellFilterViewModel
|
||||||
{
|
{
|
||||||
|
public override async Task<IEnumerable<Item>> FilterItems(IEnumerable<Item> items, CancellationToken token = default)
|
||||||
|
{
|
||||||
|
return await Task.Run(() =>
|
||||||
|
{
|
||||||
|
var levelComparer = new LevelComparer();
|
||||||
|
var classe = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.Class).SelectedKey ?? "";
|
||||||
|
var niveauMin = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.MinLevel).SelectedKey ?? "0";
|
||||||
|
var niveauMax = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.MaxLevel).SelectedKey ?? "9";
|
||||||
|
var ecole = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.School).SelectedKey ?? "";
|
||||||
|
var ritual = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.Ritual).SelectedKey ?? "";
|
||||||
|
var source = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.Source).SelectedKey ?? "";
|
||||||
|
using (var context = new StoreViewModel.AideDeJeuContext())
|
||||||
|
{
|
||||||
|
return context.SpellsHD.Where(spell =>
|
||||||
|
levelComparer.Compare(spell.Level, niveauMin) >= 0 &&
|
||||||
|
levelComparer.Compare(spell.Level, niveauMax) <= 0 &&
|
||||||
|
spell.Type.ToLower().Contains(ecole.ToLower()) &&
|
||||||
|
(spell.Source != null && spell.Source.Contains(source)) &&
|
||||||
|
(spell.Classes != null && spell.Classes.Contains(classe)) &&
|
||||||
|
(string.IsNullOrEmpty(ritual) || (spell.Ritual != null && spell.Ritual.Contains(ritual))) &&
|
||||||
|
(
|
||||||
|
(Helpers.RemoveDiacritics(spell.Name).ToLower().Contains(Helpers.RemoveDiacritics(SearchText ?? string.Empty).ToLower())) ||
|
||||||
|
(Helpers.RemoveDiacritics(spell.AltNameText ?? string.Empty).ToLower().Contains(Helpers.RemoveDiacritics(SearchText ?? string.Empty).ToLower()))
|
||||||
|
)).OrderBy(spell => spell.Name).ToList();
|
||||||
|
}
|
||||||
|
}, token);
|
||||||
|
}
|
||||||
|
|
||||||
public override List<KeyValuePair<string, string>> Classes { get; } = new List<KeyValuePair<string, string>>()
|
public override List<KeyValuePair<string, string>> Classes { get; } = new List<KeyValuePair<string, string>>()
|
||||||
{
|
{
|
||||||
new KeyValuePair<string, string>("", "Toutes" ),
|
new KeyValuePair<string, string>("", "Toutes" ),
|
||||||
|
|
@ -440,49 +501,49 @@ namespace AideDeJeu.ViewModels
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public override async Task<IEnumerable<Item>> FilterItems(IEnumerable<Item> items, CancellationToken token = default)
|
//public override async Task<IEnumerable<Item>> FilterItems(IEnumerable<Item> items, CancellationToken token = default)
|
||||||
{
|
//{
|
||||||
return await Task.Run(() =>
|
// return await Task.Run(() =>
|
||||||
{
|
// {
|
||||||
var powerComparer = new PowerComparer();
|
// var powerComparer = new PowerComparer();
|
||||||
|
|
||||||
//var category = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.Category).SelectedKey ?? "";
|
// //var category = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.Category).SelectedKey ?? "";
|
||||||
var type = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.Type).SelectedKey ?? "";
|
// var type = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.Type).SelectedKey ?? "";
|
||||||
//token.ThrowIfCancellationRequested();
|
// //token.ThrowIfCancellationRequested();
|
||||||
|
|
||||||
var minPower = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.MinPower).SelectedKey ?? "0 (0 PX)";
|
// var minPower = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.MinPower).SelectedKey ?? "0 (0 PX)";
|
||||||
//token.ThrowIfCancellationRequested();
|
// //token.ThrowIfCancellationRequested();
|
||||||
|
|
||||||
var maxPower = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.MaxPower).SelectedKey ?? "30 (155000 PX)";
|
// var maxPower = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.MaxPower).SelectedKey ?? "30 (155000 PX)";
|
||||||
//token.ThrowIfCancellationRequested();
|
// //token.ThrowIfCancellationRequested();
|
||||||
|
|
||||||
var size = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.Size).SelectedKey ?? "";
|
// var size = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.Size).SelectedKey ?? "";
|
||||||
//token.ThrowIfCancellationRequested();
|
// //token.ThrowIfCancellationRequested();
|
||||||
//var legendary = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.Legendary).SelectedKey ?? "";
|
// //var legendary = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.Legendary).SelectedKey ?? "";
|
||||||
|
|
||||||
var source = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.Source).SelectedKey ?? "";
|
// var source = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.Source).SelectedKey ?? "";
|
||||||
token.ThrowIfCancellationRequested();
|
// token.ThrowIfCancellationRequested();
|
||||||
|
|
||||||
return items.Where(item =>
|
// return items.Where(item =>
|
||||||
{
|
// {
|
||||||
var monster = item as Monster;
|
// var monster = item as Monster;
|
||||||
return
|
// return
|
||||||
monster != null &&
|
// monster != null &&
|
||||||
monster.Type.Contains(type) &&
|
// monster.Type.Contains(type) &&
|
||||||
(string.IsNullOrEmpty(size) || monster.Size.Equals(size)) &&
|
// (string.IsNullOrEmpty(size) || monster.Size.Equals(size)) &&
|
||||||
(string.IsNullOrEmpty(source) || (monster.Source != null && monster.Source.Contains(source))) &&
|
// (string.IsNullOrEmpty(source) || (monster.Source != null && 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 &&
|
||||||
(
|
// (
|
||||||
(Helpers.RemoveDiacritics(monster.Name).ToLower().Contains(Helpers.RemoveDiacritics(SearchText ?? string.Empty).ToLower())) ||
|
// (Helpers.RemoveDiacritics(monster.Name).ToLower().Contains(Helpers.RemoveDiacritics(SearchText ?? string.Empty).ToLower())) ||
|
||||||
(Helpers.RemoveDiacritics(monster.AltNameText ?? string.Empty).ToLower().Contains(Helpers.RemoveDiacritics(SearchText ?? string.Empty).ToLower()))
|
// (Helpers.RemoveDiacritics(monster.AltNameText ?? string.Empty).ToLower().Contains(Helpers.RemoveDiacritics(SearchText ?? string.Empty).ToLower()))
|
||||||
);
|
// );
|
||||||
})
|
// })
|
||||||
.OrderBy(monster => monster.Name)
|
// .OrderBy(monster => monster.Name)
|
||||||
.AsEnumerable();
|
// .AsEnumerable();
|
||||||
}, token);
|
// }, token);
|
||||||
|
|
||||||
}
|
//}
|
||||||
|
|
||||||
public abstract List<KeyValuePair<string, string>> Categories { get; }
|
public abstract List<KeyValuePair<string, string>> Categories { get; }
|
||||||
|
|
||||||
|
|
@ -500,6 +561,11 @@ namespace AideDeJeu.ViewModels
|
||||||
|
|
||||||
public class VFMonsterFilterViewModel : MonsterFilterViewModel
|
public class VFMonsterFilterViewModel : MonsterFilterViewModel
|
||||||
{
|
{
|
||||||
|
|
||||||
|
public override async Task<IEnumerable<Item>> FilterItems(IEnumerable<Item> items, CancellationToken token = default)
|
||||||
|
{
|
||||||
|
throw new System.Exception();
|
||||||
|
}
|
||||||
public override List<KeyValuePair<string, string>> Categories { get; } = new List<KeyValuePair<string, string>>()
|
public override List<KeyValuePair<string, string>> Categories { get; } = new List<KeyValuePair<string, string>>()
|
||||||
{
|
{
|
||||||
new KeyValuePair<string, string>("", "Toutes" ),
|
new KeyValuePair<string, string>("", "Toutes" ),
|
||||||
|
|
@ -587,6 +653,38 @@ namespace AideDeJeu.ViewModels
|
||||||
|
|
||||||
public class VOMonsterFilterViewModel : MonsterFilterViewModel
|
public class VOMonsterFilterViewModel : MonsterFilterViewModel
|
||||||
{
|
{
|
||||||
|
public override async Task<IEnumerable<Item>> FilterItems(IEnumerable<Item> items, CancellationToken token = default)
|
||||||
|
{
|
||||||
|
return await Task.Run(() =>
|
||||||
|
{
|
||||||
|
var powerComparer = new PowerComparer();
|
||||||
|
|
||||||
|
var type = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.Type).SelectedKey ?? "";
|
||||||
|
var minPower = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.MinPower).SelectedKey ?? "0 (0 PX)";
|
||||||
|
var maxPower = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.MaxPower).SelectedKey ?? "30 (155000 PX)";
|
||||||
|
var size = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.Size).SelectedKey ?? "";
|
||||||
|
var source = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.Source).SelectedKey ?? "";
|
||||||
|
token.ThrowIfCancellationRequested();
|
||||||
|
|
||||||
|
using (var context = new StoreViewModel.AideDeJeuContext())
|
||||||
|
{
|
||||||
|
return context.MonstersVO.Where(monster =>
|
||||||
|
monster != null &&
|
||||||
|
monster.Type.Contains(type) &&
|
||||||
|
(string.IsNullOrEmpty(size) || monster.Size.Equals(size)) &&
|
||||||
|
(string.IsNullOrEmpty(source) || (monster.Source != null && monster.Source.Contains(source))) &&
|
||||||
|
powerComparer.Compare(monster.Challenge, minPower) >= 0 &&
|
||||||
|
powerComparer.Compare(monster.Challenge, maxPower) <= 0 &&
|
||||||
|
(
|
||||||
|
(Helpers.RemoveDiacritics(monster.Name).ToLower().Contains(Helpers.RemoveDiacritics(SearchText ?? string.Empty).ToLower())) ||
|
||||||
|
(Helpers.RemoveDiacritics(monster.AltNameText ?? string.Empty).ToLower().Contains(Helpers.RemoveDiacritics(SearchText ?? string.Empty).ToLower()))
|
||||||
|
)
|
||||||
|
).OrderBy(monster => monster.Name).ToListAsync();
|
||||||
|
}
|
||||||
|
}, token);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
public override List<KeyValuePair<string, string>> Categories { get; } = new List<KeyValuePair<string, string>>()
|
public override List<KeyValuePair<string, string>> Categories { get; } = new List<KeyValuePair<string, string>>()
|
||||||
{
|
{
|
||||||
new KeyValuePair<string, string>("", "Toutes" ),
|
new KeyValuePair<string, string>("", "Toutes" ),
|
||||||
|
|
@ -674,6 +772,37 @@ namespace AideDeJeu.ViewModels
|
||||||
|
|
||||||
public class HDMonsterFilterViewModel : MonsterFilterViewModel
|
public class HDMonsterFilterViewModel : MonsterFilterViewModel
|
||||||
{
|
{
|
||||||
|
public override async Task<IEnumerable<Item>> FilterItems(IEnumerable<Item> items, CancellationToken token = default)
|
||||||
|
{
|
||||||
|
return await Task.Run(() =>
|
||||||
|
{
|
||||||
|
var powerComparer = new PowerComparer();
|
||||||
|
|
||||||
|
var type = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.Type).SelectedKey ?? "";
|
||||||
|
var minPower = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.MinPower).SelectedKey ?? "0 (0 PX)";
|
||||||
|
var maxPower = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.MaxPower).SelectedKey ?? "30 (155000 PX)";
|
||||||
|
var size = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.Size).SelectedKey ?? "";
|
||||||
|
var source = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.Source).SelectedKey ?? "";
|
||||||
|
token.ThrowIfCancellationRequested();
|
||||||
|
|
||||||
|
using (var context = new StoreViewModel.AideDeJeuContext())
|
||||||
|
{
|
||||||
|
return context.MonstersHD.Where(monster =>
|
||||||
|
monster != null &&
|
||||||
|
monster.Type.Contains(type) &&
|
||||||
|
(string.IsNullOrEmpty(size) || monster.Size.Equals(size)) &&
|
||||||
|
(string.IsNullOrEmpty(source) || (monster.Source != null && monster.Source.Contains(source))) &&
|
||||||
|
powerComparer.Compare(monster.Challenge, minPower) >= 0 &&
|
||||||
|
powerComparer.Compare(monster.Challenge, maxPower) <= 0 &&
|
||||||
|
(
|
||||||
|
(Helpers.RemoveDiacritics(monster.Name).ToLower().Contains(Helpers.RemoveDiacritics(SearchText ?? string.Empty).ToLower())) ||
|
||||||
|
(Helpers.RemoveDiacritics(monster.AltNameText ?? string.Empty).ToLower().Contains(Helpers.RemoveDiacritics(SearchText ?? string.Empty).ToLower()))
|
||||||
|
)
|
||||||
|
).OrderBy(monster => monster.Name).ToListAsync();
|
||||||
|
}
|
||||||
|
}, token);
|
||||||
|
|
||||||
|
}
|
||||||
public override List<KeyValuePair<string, string>> Categories { get; } = new List<KeyValuePair<string, string>>()
|
public override List<KeyValuePair<string, string>> Categories { get; } = new List<KeyValuePair<string, string>>()
|
||||||
{
|
{
|
||||||
new KeyValuePair<string, string>("", "Toutes" ),
|
new KeyValuePair<string, string>("", "Toutes" ),
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue