mirror of
				https://github.com/Nioux/AideDeJeu.git
				synced 2025-10-31 15:36:07 +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
	
	 Yan Maniez
						Yan Maniez