mirror of
https://github.com/Nioux/AideDeJeu.git
synced 2025-11-01 07:56:04 +00:00
Blindage BDD
This commit is contained in:
parent
d5b731ef06
commit
5951e8195e
7 changed files with 212 additions and 137 deletions
|
|
@ -29,10 +29,17 @@ namespace AideDeJeu.Droid
|
||||||
|
|
||||||
public async Task<string> GetDatabasePathAsync(string databaseName)
|
public async Task<string> GetDatabasePathAsync(string databaseName)
|
||||||
{
|
{
|
||||||
if (await CheckDatabaseVersionAsync(databaseName))
|
try
|
||||||
{
|
{
|
||||||
await CopyOldToNewFileAsync(databaseName, "db");
|
if (await CheckDatabaseVersionAsync(databaseName))
|
||||||
await CopyOldToNewFileAsync(databaseName, "ver");
|
{
|
||||||
|
await CopyOldToNewFileAsync(databaseName, "db");
|
||||||
|
await CopyOldToNewFileAsync(databaseName, "ver");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
return GetNewFilePath(databaseName, "db");
|
return GetNewFilePath(databaseName, "db");
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
#pragma warning disable 1591
|
#pragma warning disable 1591
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// <auto-generated>
|
// <auto-generated>
|
||||||
// This code was generated by a tool.
|
// Ce code a été généré par un outil.
|
||||||
// Runtime Version:4.0.30319.42000
|
// Version du runtime :4.0.30319.42000
|
||||||
//
|
//
|
||||||
// Changes to this file may cause incorrect behavior and will be lost if
|
// Les modifications apportées à ce fichier peuvent provoquer un comportement incorrect et seront perdues si
|
||||||
// the code is regenerated.
|
// le code est régénéré.
|
||||||
// </auto-generated>
|
// </auto-generated>
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -25,10 +25,17 @@ namespace AideDeJeu.UWP
|
||||||
|
|
||||||
public async Task<string> GetDatabasePathAsync(string databaseName)
|
public async Task<string> GetDatabasePathAsync(string databaseName)
|
||||||
{
|
{
|
||||||
if (await CheckDatabaseVersionAsync(databaseName))
|
try
|
||||||
{
|
{
|
||||||
await CopyOldToNewFileAsync(databaseName, "db");
|
if (await CheckDatabaseVersionAsync(databaseName))
|
||||||
await CopyOldToNewFileAsync(databaseName, "ver");
|
{
|
||||||
|
await CopyOldToNewFileAsync(databaseName, "db");
|
||||||
|
await CopyOldToNewFileAsync(databaseName, "ver");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
return GetNewFilePath(databaseName, "db");
|
return GetNewFilePath(databaseName, "db");
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -59,62 +59,70 @@ namespace AideDeJeu.ViewModels
|
||||||
|
|
||||||
public async Task<IEnumerable<SearchedItem>> DeepSearchAllItemsAsync(string searchText)
|
public async Task<IEnumerable<SearchedItem>> DeepSearchAllItemsAsync(string searchText)
|
||||||
{
|
{
|
||||||
using (var context = await StoreViewModel.GetLibraryContextAsync())
|
try
|
||||||
{
|
{
|
||||||
var primary = await context.Items.
|
using (var context = await StoreViewModel.GetLibraryContextAsync())
|
||||||
Where(item => EF.Functions.Like(item.Name, $"%{searchText}%")).
|
{
|
||||||
Select(item => new SearchedItem() { Item = item, Preview = item.ParentName != null ? $"> {item.ParentName}" : "" }).
|
var primary = await context.Items.
|
||||||
ToListAsync();
|
Where(item => EF.Functions.Like(item.Name, $"%{searchText}%")).
|
||||||
var secondary = await context.Items.
|
Select(item => new SearchedItem() { Item = item, Preview = item.ParentName != null ? $"> {item.ParentName}" : "" }).
|
||||||
Where(item => EF.Functions.Like(item.Markdown, $"%{searchText}%")).
|
ToListAsync();
|
||||||
Select(item => new SearchedItem()
|
var secondary = await context.Items.
|
||||||
{
|
Where(item => EF.Functions.Like(item.Markdown, $"%{searchText}%")).
|
||||||
Item = item, Preview = (item.ParentName != null ? $"> {item.ParentName} > " : "") + GetPreview(item.Markdown, searchText)
|
Select(item => new SearchedItem()
|
||||||
}).ToListAsync();
|
{
|
||||||
//var primary = await context.Items.
|
Item = item,
|
||||||
// Where(item => item.Name.Contains(searchText)).
|
Preview = (item.ParentName != null ? $"> {item.ParentName} > " : "") + GetPreview(item.Markdown, searchText)
|
||||||
// Select(item => new SearchedItem() { Item = item, Preview = item.Name }).
|
}).ToListAsync();
|
||||||
// ToListAsync();
|
//var primary = await context.Items.
|
||||||
//var secondary = await context.Items.
|
// Where(item => item.Name.Contains(searchText)).
|
||||||
// Where(item => item.Markdown.Contains(searchText)).
|
// Select(item => new SearchedItem() { Item = item, Preview = item.Name }).
|
||||||
// Select(item => new SearchedItem()
|
// ToListAsync();
|
||||||
|
//var secondary = await context.Items.
|
||||||
|
// Where(item => item.Markdown.Contains(searchText)).
|
||||||
|
// Select(item => new SearchedItem()
|
||||||
|
// {
|
||||||
|
// Item = item,
|
||||||
|
// Preview = GetPreview(item.Markdown, searchText)
|
||||||
|
// }).ToListAsync();
|
||||||
|
primary.AddRange(secondary);
|
||||||
|
return primary.ToList();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//List<SearchedItem> primaryItems = new List<SearchedItem>();
|
||||||
|
//List<SearchedItem> secondaryItems = new List<SearchedItem>();
|
||||||
|
//var cleanSearchText = Tools.Helpers.RemoveDiacritics(searchText ?? string.Empty).ToLower();
|
||||||
|
//foreach (var item in Store._AllItems)
|
||||||
|
//{
|
||||||
|
// var name = item.Value.Name;
|
||||||
|
// var cleanName = Tools.Helpers.RemoveDiacritics(name).ToLower();
|
||||||
|
// if (cleanName.Contains(cleanSearchText))
|
||||||
// {
|
// {
|
||||||
// Item = item,
|
// primaryItems.Add(new SearchedItem() { Item = item.Value, Preview = name });
|
||||||
// Preview = GetPreview(item.Markdown, searchText)
|
// }
|
||||||
// }).ToListAsync();
|
// else
|
||||||
primary.AddRange(secondary);
|
// {
|
||||||
return primary.ToList();
|
// var markdown = item.Value.Markdown;
|
||||||
|
// var cleanMarkdown = Tools.Helpers.RemoveDiacritics(markdown).ToLower();
|
||||||
|
// if (cleanMarkdown.Contains(cleanSearchText))
|
||||||
|
// {
|
||||||
|
// int position = cleanMarkdown.IndexOf(cleanSearchText);
|
||||||
|
// int startPosition = Math.Max(0, position - 30);
|
||||||
|
// int endPosition = Math.Min(markdown.Length, position + searchText.Length + 30);
|
||||||
|
// var preview = markdown.Substring(startPosition, endPosition - startPosition - 1);
|
||||||
|
// secondaryItems.Add(new SearchedItem() { Item = item.Value, Preview = preview });
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
//}
|
||||||
|
//primaryItems.AddRange(secondaryItems);
|
||||||
|
//return primaryItems;
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
return new List<SearchedItem>();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//List<SearchedItem> primaryItems = new List<SearchedItem>();
|
|
||||||
//List<SearchedItem> secondaryItems = new List<SearchedItem>();
|
|
||||||
//var cleanSearchText = Tools.Helpers.RemoveDiacritics(searchText ?? string.Empty).ToLower();
|
|
||||||
//foreach (var item in Store._AllItems)
|
|
||||||
//{
|
|
||||||
// var name = item.Value.Name;
|
|
||||||
// var cleanName = Tools.Helpers.RemoveDiacritics(name).ToLower();
|
|
||||||
// if (cleanName.Contains(cleanSearchText))
|
|
||||||
// {
|
|
||||||
// primaryItems.Add(new SearchedItem() { Item = item.Value, Preview = name });
|
|
||||||
// }
|
|
||||||
// else
|
|
||||||
// {
|
|
||||||
// var markdown = item.Value.Markdown;
|
|
||||||
// var cleanMarkdown = Tools.Helpers.RemoveDiacritics(markdown).ToLower();
|
|
||||||
// if (cleanMarkdown.Contains(cleanSearchText))
|
|
||||||
// {
|
|
||||||
// int position = cleanMarkdown.IndexOf(cleanSearchText);
|
|
||||||
// int startPosition = Math.Max(0, position - 30);
|
|
||||||
// int endPosition = Math.Min(markdown.Length, position + searchText.Length + 30);
|
|
||||||
// var preview = markdown.Substring(startPosition, endPosition - startPosition - 1);
|
|
||||||
// secondaryItems.Add(new SearchedItem() { Item = item.Value, Preview = preview });
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
//primaryItems.AddRange(secondaryItems);
|
|
||||||
//return primaryItems;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -317,19 +317,26 @@ namespace AideDeJeu.ViewModels
|
||||||
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 ?? "";
|
||||||
using (var context = await StoreViewModel.GetLibraryContextAsync())
|
try
|
||||||
{
|
{
|
||||||
return context.SpellsVO.Where(spell =>
|
using (var context = await StoreViewModel.GetLibraryContextAsync())
|
||||||
levelComparer.Compare(spell.Level, niveauMin) >= 0 &&
|
{
|
||||||
levelComparer.Compare(spell.Level, niveauMax) <= 0 &&
|
return context.SpellsVO.Where(spell =>
|
||||||
spell.Type.ToLower().Contains(ecole.ToLower()) &&
|
levelComparer.Compare(spell.Level, niveauMin) >= 0 &&
|
||||||
(spell.Source != null && spell.Source.Contains(source)) &&
|
levelComparer.Compare(spell.Level, niveauMax) <= 0 &&
|
||||||
(spell.Classes != null && spell.Classes.Contains(classe)) &&
|
spell.Type.ToLower().Contains(ecole.ToLower()) &&
|
||||||
(string.IsNullOrEmpty(ritual) || (spell.Ritual != null && spell.Ritual.Contains(ritual))) &&
|
(spell.Source != null && spell.Source.Contains(source)) &&
|
||||||
(
|
(spell.Classes != null && spell.Classes.Contains(classe)) &&
|
||||||
(Helpers.RemoveDiacritics(spell.Name).ToLower().Contains(Helpers.RemoveDiacritics(SearchText ?? string.Empty).ToLower())) ||
|
(string.IsNullOrEmpty(ritual) || (spell.Ritual != null && spell.Ritual.Contains(ritual))) &&
|
||||||
(Helpers.RemoveDiacritics(spell.AltNameText ?? string.Empty).ToLower().Contains(Helpers.RemoveDiacritics(SearchText ?? string.Empty).ToLower()))
|
(
|
||||||
)).OrderBy(spell => spell.Name).ToList();
|
(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();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
return new List<Item>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -397,19 +404,26 @@ namespace AideDeJeu.ViewModels
|
||||||
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 ?? "";
|
||||||
using (var context = await StoreViewModel.GetLibraryContextAsync())
|
try
|
||||||
{
|
{
|
||||||
return context.SpellsHD.Where(spell =>
|
using (var context = await StoreViewModel.GetLibraryContextAsync())
|
||||||
levelComparer.Compare(spell.Level, niveauMin) >= 0 &&
|
{
|
||||||
levelComparer.Compare(spell.Level, niveauMax) <= 0 &&
|
return context.SpellsHD.Where(spell =>
|
||||||
spell.Type.ToLower().Contains(ecole.ToLower()) &&
|
levelComparer.Compare(spell.Level, niveauMin) >= 0 &&
|
||||||
(spell.Source != null && spell.Source.Contains(source)) &&
|
levelComparer.Compare(spell.Level, niveauMax) <= 0 &&
|
||||||
(spell.Classes != null && spell.Classes.Contains(classe)) &&
|
spell.Type.ToLower().Contains(ecole.ToLower()) &&
|
||||||
(string.IsNullOrEmpty(ritual) || (spell.Ritual != null && spell.Ritual.Contains(ritual))) &&
|
(spell.Source != null && spell.Source.Contains(source)) &&
|
||||||
(
|
(spell.Classes != null && spell.Classes.Contains(classe)) &&
|
||||||
(Helpers.RemoveDiacritics(spell.Name).ToLower().Contains(Helpers.RemoveDiacritics(SearchText ?? string.Empty).ToLower())) ||
|
(string.IsNullOrEmpty(ritual) || (spell.Ritual != null && spell.Ritual.Contains(ritual))) &&
|
||||||
(Helpers.RemoveDiacritics(spell.AltNameText ?? string.Empty).ToLower().Contains(Helpers.RemoveDiacritics(SearchText ?? string.Empty).ToLower()))
|
(
|
||||||
)).OrderBy(spell => spell.Name).ToList();
|
(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();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
return new List<Item>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -658,22 +672,28 @@ namespace AideDeJeu.ViewModels
|
||||||
var source = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.Source).SelectedKey ?? "";
|
var source = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.Source).SelectedKey ?? "";
|
||||||
token.ThrowIfCancellationRequested();
|
token.ThrowIfCancellationRequested();
|
||||||
|
|
||||||
using (var context = await StoreViewModel.GetLibraryContextAsync())
|
try
|
||||||
{
|
{
|
||||||
return context.MonstersVO.Where(monster =>
|
using (var context = await StoreViewModel.GetLibraryContextAsync())
|
||||||
monster != null &&
|
{
|
||||||
monster.Type.Contains(type) &&
|
return context.MonstersVO.Where(monster =>
|
||||||
(string.IsNullOrEmpty(size) || monster.Size.Equals(size)) &&
|
monster != null &&
|
||||||
(string.IsNullOrEmpty(source) || (monster.Source != null && monster.Source.Contains(source))) &&
|
monster.Type.Contains(type) &&
|
||||||
powerComparer.Compare(monster.Challenge, minPower) >= 0 &&
|
(string.IsNullOrEmpty(size) || monster.Size.Equals(size)) &&
|
||||||
powerComparer.Compare(monster.Challenge, maxPower) <= 0 &&
|
(string.IsNullOrEmpty(source) || (monster.Source != null && monster.Source.Contains(source))) &&
|
||||||
(
|
powerComparer.Compare(monster.Challenge, minPower) >= 0 &&
|
||||||
(Helpers.RemoveDiacritics(monster.Name).ToLower().Contains(Helpers.RemoveDiacritics(SearchText ?? string.Empty).ToLower())) ||
|
powerComparer.Compare(monster.Challenge, maxPower) <= 0 &&
|
||||||
(Helpers.RemoveDiacritics(monster.AltNameText ?? string.Empty).ToLower().Contains(Helpers.RemoveDiacritics(SearchText ?? string.Empty).ToLower()))
|
(
|
||||||
)
|
(Helpers.RemoveDiacritics(monster.Name).ToLower().Contains(Helpers.RemoveDiacritics(SearchText ?? string.Empty).ToLower())) ||
|
||||||
).OrderBy(monster => monster.Name).ToList();
|
(Helpers.RemoveDiacritics(monster.AltNameText ?? string.Empty).ToLower().Contains(Helpers.RemoveDiacritics(SearchText ?? string.Empty).ToLower()))
|
||||||
|
)
|
||||||
|
).OrderBy(monster => monster.Name).ToList();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
return new List<Item>();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
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>>()
|
||||||
|
|
@ -774,22 +794,28 @@ namespace AideDeJeu.ViewModels
|
||||||
var source = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.Source).SelectedKey ?? "";
|
var source = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.Source).SelectedKey ?? "";
|
||||||
token.ThrowIfCancellationRequested();
|
token.ThrowIfCancellationRequested();
|
||||||
|
|
||||||
using (var context = await StoreViewModel.GetLibraryContextAsync())
|
try
|
||||||
{
|
{
|
||||||
return context.MonstersHD.Where(monster =>
|
using (var context = await StoreViewModel.GetLibraryContextAsync())
|
||||||
monster != null &&
|
{
|
||||||
monster.Type.Contains(type) &&
|
return context.MonstersHD.Where(monster =>
|
||||||
(string.IsNullOrEmpty(size) || monster.Size.Equals(size)) &&
|
monster != null &&
|
||||||
(string.IsNullOrEmpty(source) || (monster.Source != null && monster.Source.Contains(source))) &&
|
monster.Type.Contains(type) &&
|
||||||
powerComparer.Compare(monster.Challenge, minPower) >= 0 &&
|
(string.IsNullOrEmpty(size) || monster.Size.Equals(size)) &&
|
||||||
powerComparer.Compare(monster.Challenge, maxPower) <= 0 &&
|
(string.IsNullOrEmpty(source) || (monster.Source != null && monster.Source.Contains(source))) &&
|
||||||
(
|
powerComparer.Compare(monster.Challenge, minPower) >= 0 &&
|
||||||
(Helpers.RemoveDiacritics(monster.Name).ToLower().Contains(Helpers.RemoveDiacritics(SearchText ?? string.Empty).ToLower())) ||
|
powerComparer.Compare(monster.Challenge, maxPower) <= 0 &&
|
||||||
(Helpers.RemoveDiacritics(monster.AltNameText ?? string.Empty).ToLower().Contains(Helpers.RemoveDiacritics(SearchText ?? string.Empty).ToLower()))
|
(
|
||||||
)
|
(Helpers.RemoveDiacritics(monster.Name).ToLower().Contains(Helpers.RemoveDiacritics(SearchText ?? string.Empty).ToLower())) ||
|
||||||
).OrderBy(monster => monster.Name).ToList();
|
(Helpers.RemoveDiacritics(monster.AltNameText ?? string.Empty).ToLower().Contains(Helpers.RemoveDiacritics(SearchText ?? string.Empty).ToLower()))
|
||||||
|
)
|
||||||
|
).OrderBy(monster => monster.Name).ToList();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
return new List<Item>();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
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>>()
|
||||||
{
|
{
|
||||||
|
|
@ -907,18 +933,25 @@ namespace AideDeJeu.ViewModels
|
||||||
var minPrice = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.MinPrice).SelectedKey ?? "0 pc";
|
var minPrice = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.MinPrice).SelectedKey ?? "0 pc";
|
||||||
var maxPrice = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.MaxPrice).SelectedKey ?? "1 000 000 po";
|
var maxPrice = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.MaxPrice).SelectedKey ?? "1 000 000 po";
|
||||||
|
|
||||||
using (var context = await GetLibraryContextAsync())
|
try
|
||||||
{
|
{
|
||||||
return context.Equipments.Where(equipment =>
|
using (var context = await GetLibraryContextAsync())
|
||||||
equipment.Type.ToLower().Contains(type.ToLower()) &&
|
{
|
||||||
priceComparer.Compare(equipment.Price, minPrice) >= 0 &&
|
return context.Equipments.Where(equipment =>
|
||||||
priceComparer.Compare(equipment.Price, maxPrice) <= 0 &&
|
equipment.Type.ToLower().Contains(type.ToLower()) &&
|
||||||
(
|
priceComparer.Compare(equipment.Price, minPrice) >= 0 &&
|
||||||
(Helpers.RemoveDiacritics(equipment.Name).ToLower().Contains(Helpers.RemoveDiacritics(SearchText ?? string.Empty).ToLower())) ||
|
priceComparer.Compare(equipment.Price, maxPrice) <= 0 &&
|
||||||
(Helpers.RemoveDiacritics(equipment.AltNameText ?? string.Empty).ToLower().Contains(Helpers.RemoveDiacritics(SearchText ?? string.Empty).ToLower()))
|
(
|
||||||
)
|
(Helpers.RemoveDiacritics(equipment.Name).ToLower().Contains(Helpers.RemoveDiacritics(SearchText ?? string.Empty).ToLower())) ||
|
||||||
).OrderBy(eq => eq.Name)
|
(Helpers.RemoveDiacritics(equipment.AltNameText ?? string.Empty).ToLower().Contains(Helpers.RemoveDiacritics(SearchText ?? string.Empty).ToLower()))
|
||||||
.ToList();
|
)
|
||||||
|
).OrderBy(eq => eq.Name)
|
||||||
|
.ToList();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
return new List<Item>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1007,14 +1040,21 @@ namespace AideDeJeu.ViewModels
|
||||||
var rarity = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.Rarity).SelectedKey ?? "";
|
var rarity = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.Rarity).SelectedKey ?? "";
|
||||||
var attunement = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.Attunement).SelectedKey ?? "";
|
var attunement = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.Attunement).SelectedKey ?? "";
|
||||||
|
|
||||||
using (var context = await GetLibraryContextAsync())
|
try
|
||||||
{
|
{
|
||||||
return context.MagicItems.Where(magicitem =>
|
using (var context = await GetLibraryContextAsync())
|
||||||
MatchContains(magicitem.Type, type) &&
|
{
|
||||||
MatchContains(magicitem.Rarity, rarity) &&
|
return context.MagicItems.Where(magicitem =>
|
||||||
MatchContains(magicitem.Attunement, attunement) &&
|
MatchContains(magicitem.Type, type) &&
|
||||||
MatchSearch(magicitem)
|
MatchContains(magicitem.Rarity, rarity) &&
|
||||||
).OrderBy(eq => eq.Name).ToList();
|
MatchContains(magicitem.Attunement, attunement) &&
|
||||||
|
MatchSearch(magicitem)
|
||||||
|
).OrderBy(eq => eq.Name).ToList();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
return new List<Item>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -418,9 +418,16 @@ namespace AideDeJeu.ViewModels
|
||||||
{
|
{
|
||||||
id += $"#{anchor}";
|
id += $"#{anchor}";
|
||||||
}
|
}
|
||||||
using (var context = await GetLibraryContextAsync())
|
try
|
||||||
{
|
{
|
||||||
return await context.Items.Where(item => item.Id == id || item.RootId == id).FirstOrDefaultAsync();
|
using (var context = await GetLibraryContextAsync())
|
||||||
|
{
|
||||||
|
return await context.Items.Where(item => item.Id == id || item.RootId == id).FirstOrDefaultAsync();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -62,9 +62,15 @@ namespace AideDeJeu.Views
|
||||||
async Task InitDBEngineAsync()
|
async Task InitDBEngineAsync()
|
||||||
{
|
{
|
||||||
await Task.Delay(1000).ConfigureAwait(false);
|
await Task.Delay(1000).ConfigureAwait(false);
|
||||||
using (var context = await StoreViewModel.GetLibraryContextAsync().ConfigureAwait(false))
|
try
|
||||||
|
{
|
||||||
|
using (var context = await StoreViewModel.GetLibraryContextAsync().ConfigureAwait(false))
|
||||||
|
{
|
||||||
|
var item = context.Items.FirstOrDefault();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch
|
||||||
{
|
{
|
||||||
var item = context.Items.FirstOrDefault();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue