mirror of
				https://github.com/Nioux/AideDeJeu.git
				synced 2025-10-30 23:16:09 +00:00 
			
		
		
		
	Filtre amélioré, à généraliser
This commit is contained in:
		
							parent
							
								
									4fb034fbb6
								
							
						
					
					
						commit
						f1ee0e3833
					
				
					 1 changed files with 19 additions and 13 deletions
				
			
		|  | @ -27,6 +27,18 @@ namespace AideDeJeu.ViewModels | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|  |         public bool MatchSearch(Item item) | ||||||
|  |         { | ||||||
|  |             return | ||||||
|  |                     Helpers.RemoveDiacritics(item.Name).ToLower().Contains(Helpers.RemoveDiacritics(SearchText ?? string.Empty).ToLower()) || | ||||||
|  |                     Helpers.RemoveDiacritics(item.AltNameText ?? string.Empty).ToLower().Contains(Helpers.RemoveDiacritics(SearchText ?? string.Empty).ToLower()); | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         public bool MatchContains(string itemValue, string filterValue) | ||||||
|  |         { | ||||||
|  |             return string.IsNullOrEmpty(filterValue) || (itemValue != null && itemValue.ToLower().Contains(filterValue.ToLower())); | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|         protected void RegisterFilters() |         protected void RegisterFilters() | ||||||
|         { |         { | ||||||
|             foreach (var filter in Filters) |             foreach (var filter in Filters) | ||||||
|  | @ -870,22 +882,16 @@ 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 ?? ""; | ||||||
|                 //token.ThrowIfCancellationRequested(); |  | ||||||
|                 return items.Where(item => |                 return items.Where(item => | ||||||
|                 { |                 { | ||||||
|                     var magicitem = item as MagicItem; |                     var magicitem = item as MagicItem; | ||||||
|                     return magicitem != null && |                     if (magicitem == null) return false; | ||||||
|                         magicitem.Type.ToLower().Contains(type.ToLower()) && |                     var matchType = MatchContains(magicitem.Type, type); | ||||||
|                         (string.IsNullOrEmpty(rarity) || (magicitem.Rarity != null && magicitem.Rarity.ToLower().Contains(rarity.ToLower()))) && |                     var matchRarity = MatchContains(magicitem.Rarity, rarity); | ||||||
|                         (string.IsNullOrEmpty(attunement) || (magicitem.Attunement != null && magicitem.Attunement.ToLower().Contains(attunement.ToLower()))) && |                     var matchAttunement = MatchContains(magicitem.Attunement, attunement); | ||||||
|                         //priceComparer.Compare(equipment.Price, minPrice) >= 0 && |                     var matchSearch = MatchSearch(magicitem); | ||||||
|                         //priceComparer.Compare(equipment.Price, maxPrice) <= 0 && |                     return matchType && matchRarity && matchAttunement && matchSearch; | ||||||
|                         ( |                 }).OrderBy(eq => eq.Name).AsEnumerable(); | ||||||
|                             (Helpers.RemoveDiacritics(magicitem.Name).ToLower().Contains(Helpers.RemoveDiacritics(SearchText ?? string.Empty).ToLower())) || |  | ||||||
|                             (Helpers.RemoveDiacritics(magicitem.AltNameText ?? string.Empty).ToLower().Contains(Helpers.RemoveDiacritics(SearchText ?? string.Empty).ToLower())) |  | ||||||
|                         ); |  | ||||||
|                 }).OrderBy(eq => eq.Name) |  | ||||||
|                             .AsEnumerable(); |  | ||||||
|             }, token); |             }, token); | ||||||
| 
 | 
 | ||||||
|         } |         } | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Yan Maniez
						Yan Maniez