mirror of
https://github.com/Nioux/AideDeJeu.git
synced 2025-10-31 23:45: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;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using System.Windows.Input;
|
using System.Windows.Input;
|
||||||
|
using static AideDeJeu.ViewModels.StoreViewModel;
|
||||||
|
|
||||||
namespace AideDeJeu.ViewModels
|
namespace AideDeJeu.ViewModels
|
||||||
{
|
{
|
||||||
|
|
@ -920,19 +921,32 @@ namespace AideDeJeu.ViewModels
|
||||||
var type = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.Type).SelectedKey ?? "";
|
var type = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.Type).SelectedKey ?? "";
|
||||||
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";
|
||||||
//token.ThrowIfCancellationRequested();
|
|
||||||
return items.Where(item =>
|
using (var context = new AideDeJeuContext())
|
||||||
{
|
{
|
||||||
var equipment = item as Equipment;
|
return context.Equipments.Where(equipment =>
|
||||||
return equipment.Type.ToLower().Contains(type.ToLower()) &&
|
equipment.Type.ToLower().Contains(type.ToLower()) &&
|
||||||
priceComparer.Compare(equipment.Price, minPrice) >= 0 &&
|
priceComparer.Compare(equipment.Price, minPrice) >= 0 &&
|
||||||
priceComparer.Compare(equipment.Price, maxPrice) <= 0 &&
|
priceComparer.Compare(equipment.Price, maxPrice) <= 0 &&
|
||||||
(
|
(
|
||||||
(Helpers.RemoveDiacritics(equipment.Name).ToLower().Contains(Helpers.RemoveDiacritics(SearchText ?? string.Empty).ToLower())) ||
|
(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()))
|
(Helpers.RemoveDiacritics(equipment.AltNameText ?? string.Empty).ToLower().Contains(Helpers.RemoveDiacritics(SearchText ?? string.Empty).ToLower()))
|
||||||
);
|
)
|
||||||
}).OrderBy(eq => eq.Name)
|
).OrderBy(eq => eq.Name)
|
||||||
.AsEnumerable();
|
.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);
|
}, token);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -1023,16 +1037,27 @@ namespace AideDeJeu.ViewModels
|
||||||
var type = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.Type).SelectedKey ?? "";
|
var type = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.Type).SelectedKey ?? "";
|
||||||
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 ?? "";
|
||||||
return items.Where(item =>
|
|
||||||
|
using (var context = new AideDeJeuContext())
|
||||||
{
|
{
|
||||||
var magicitem = item as MagicItem;
|
return context.MagicItems.Where(magicitem =>
|
||||||
if (magicitem == null) return false;
|
MatchContains(magicitem.Type, type) &&
|
||||||
var matchType = MatchContains(magicitem.Type, type);
|
MatchContains(magicitem.Rarity, rarity) &&
|
||||||
var matchRarity = MatchContains(magicitem.Rarity, rarity);
|
MatchContains(magicitem.Attunement, attunement) &&
|
||||||
var matchAttunement = MatchContains(magicitem.Attunement, attunement);
|
MatchSearch(magicitem)
|
||||||
var matchSearch = MatchSearch(magicitem);
|
).OrderBy(eq => eq.Name).ToListAsync();
|
||||||
return matchType && matchRarity && matchAttunement && matchSearch;
|
}
|
||||||
}).OrderBy(eq => eq.Name).AsEnumerable();
|
|
||||||
|
//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);
|
}, token);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -368,6 +368,7 @@ namespace AideDeJeu.ViewModels
|
||||||
{
|
{
|
||||||
public DbSet<Item> Items { get; set; }
|
public DbSet<Item> Items { get; set; }
|
||||||
public DbSet<Equipment> Equipments { get; set; }
|
public DbSet<Equipment> Equipments { get; set; }
|
||||||
|
public DbSet<MagicItem> MagicItems { get; set; }
|
||||||
public DbSet<Spell> Spells { get; set; }
|
public DbSet<Spell> Spells { get; set; }
|
||||||
public DbSet<Monster> Monsters { get; set; }
|
public DbSet<Monster> Monsters { get; set; }
|
||||||
public DbSet<SpellHD> SpellsHD { get; set; }
|
public DbSet<SpellHD> SpellsHD { get; set; }
|
||||||
|
|
@ -388,6 +389,8 @@ namespace AideDeJeu.ViewModels
|
||||||
modelBuilder.Entity<MonstersVO>();
|
modelBuilder.Entity<MonstersVO>();
|
||||||
modelBuilder.Entity<SpellsHD>();
|
modelBuilder.Entity<SpellsHD>();
|
||||||
modelBuilder.Entity<SpellsVO>();
|
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