mirror of
https://github.com/Nioux/AideDeJeu.git
synced 2025-12-15 22:59:39 +00:00
Equipment + magic items
This commit is contained in:
parent
4512df905e
commit
c05264b191
3 changed files with 44 additions and 16 deletions
|
|
@ -6,6 +6,7 @@ using System.Linq;
|
|||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Input;
|
||||
using static AideDeJeu.ViewModels.StoreViewModel;
|
||||
|
||||
namespace AideDeJeu.ViewModels
|
||||
{
|
||||
|
|
@ -920,19 +921,32 @@ namespace AideDeJeu.ViewModels
|
|||
var type = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.Type).SelectedKey ?? "";
|
||||
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";
|
||||
//token.ThrowIfCancellationRequested();
|
||||
return items.Where(item =>
|
||||
|
||||
using (var context = new AideDeJeuContext())
|
||||
{
|
||||
var equipment = item as Equipment;
|
||||
return equipment.Type.ToLower().Contains(type.ToLower()) &&
|
||||
return context.Equipments.Where(equipment =>
|
||||
equipment.Type.ToLower().Contains(type.ToLower()) &&
|
||||
priceComparer.Compare(equipment.Price, minPrice) >= 0 &&
|
||||
priceComparer.Compare(equipment.Price, maxPrice) <= 0 &&
|
||||
(
|
||||
(Helpers.RemoveDiacritics(equipment.Name).ToLower().Contains(Helpers.RemoveDiacritics(SearchText ?? string.Empty).ToLower())) ||
|
||||
(Helpers.RemoveDiacritics(equipment.AltNameText ?? string.Empty).ToLower().Contains(Helpers.RemoveDiacritics(SearchText ?? string.Empty).ToLower()))
|
||||
);
|
||||
}).OrderBy(eq => eq.Name)
|
||||
.AsEnumerable();
|
||||
)
|
||||
).OrderBy(eq => eq.Name)
|
||||
.ToListAsync();
|
||||
}
|
||||
//return items.Where(item =>
|
||||
//{
|
||||
// var equipment = item as Equipment;
|
||||
// return equipment.Type.ToLower().Contains(type.ToLower()) &&
|
||||
// priceComparer.Compare(equipment.Price, minPrice) >= 0 &&
|
||||
// priceComparer.Compare(equipment.Price, maxPrice) <= 0 &&
|
||||
// (
|
||||
// (Helpers.RemoveDiacritics(equipment.Name).ToLower().Contains(Helpers.RemoveDiacritics(SearchText ?? string.Empty).ToLower())) ||
|
||||
// (Helpers.RemoveDiacritics(equipment.AltNameText ?? string.Empty).ToLower().Contains(Helpers.RemoveDiacritics(SearchText ?? string.Empty).ToLower()))
|
||||
// );
|
||||
//}).OrderBy(eq => eq.Name)
|
||||
// .AsEnumerable();
|
||||
}, token);
|
||||
|
||||
}
|
||||
|
|
@ -1023,16 +1037,27 @@ namespace AideDeJeu.ViewModels
|
|||
var type = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.Type).SelectedKey ?? "";
|
||||
var rarity = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.Rarity).SelectedKey ?? "";
|
||||
var attunement = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.Attunement).SelectedKey ?? "";
|
||||
return items.Where(item =>
|
||||
|
||||
using (var context = new AideDeJeuContext())
|
||||
{
|
||||
var magicitem = item as MagicItem;
|
||||
if (magicitem == null) return false;
|
||||
var matchType = MatchContains(magicitem.Type, type);
|
||||
var matchRarity = MatchContains(magicitem.Rarity, rarity);
|
||||
var matchAttunement = MatchContains(magicitem.Attunement, attunement);
|
||||
var matchSearch = MatchSearch(magicitem);
|
||||
return matchType && matchRarity && matchAttunement && matchSearch;
|
||||
}).OrderBy(eq => eq.Name).AsEnumerable();
|
||||
return context.MagicItems.Where(magicitem =>
|
||||
MatchContains(magicitem.Type, type) &&
|
||||
MatchContains(magicitem.Rarity, rarity) &&
|
||||
MatchContains(magicitem.Attunement, attunement) &&
|
||||
MatchSearch(magicitem)
|
||||
).OrderBy(eq => eq.Name).ToListAsync();
|
||||
}
|
||||
|
||||
//return items.Where(item =>
|
||||
//{
|
||||
// var magicitem = item as MagicItem;
|
||||
// if (magicitem == null) return false;
|
||||
// var matchType = MatchContains(magicitem.Type, type);
|
||||
// var matchRarity = MatchContains(magicitem.Rarity, rarity);
|
||||
// var matchAttunement = MatchContains(magicitem.Attunement, attunement);
|
||||
// var matchSearch = MatchSearch(magicitem);
|
||||
// return matchType && matchRarity && matchAttunement && matchSearch;
|
||||
//}).OrderBy(eq => eq.Name).AsEnumerable();
|
||||
}, token);
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -368,6 +368,7 @@ namespace AideDeJeu.ViewModels
|
|||
{
|
||||
public DbSet<Item> Items { get; set; }
|
||||
public DbSet<Equipment> Equipments { get; set; }
|
||||
public DbSet<MagicItem> MagicItems { get; set; }
|
||||
public DbSet<Spell> Spells { get; set; }
|
||||
public DbSet<Monster> Monsters { get; set; }
|
||||
public DbSet<SpellHD> SpellsHD { get; set; }
|
||||
|
|
@ -388,6 +389,8 @@ namespace AideDeJeu.ViewModels
|
|||
modelBuilder.Entity<MonstersVO>();
|
||||
modelBuilder.Entity<SpellsHD>();
|
||||
modelBuilder.Entity<SpellsVO>();
|
||||
modelBuilder.Entity<Equipments>();
|
||||
modelBuilder.Entity<MagicItems>();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
BIN
Data/database.db
BIN
Data/database.db
Binary file not shown.
Loading…
Add table
Add a link
Reference in a new issue