Feat : Search bar mais ça marche pas encore vrmt
continuous-integration/drone/push Build was killed Details

Popup_qui_marche_pas
Jade VAN BRABANDT 2 years ago
parent 0283cd9ba7
commit 642dab4a7c

@ -6,6 +6,7 @@ namespace Model
{ {
public IPersistance Mgrpersistance; public IPersistance Mgrpersistance;
public ObservableCollection<Game> GameList { get;} public ObservableCollection<Game> GameList { get;}
public ObservableCollection<Game> ResearchedGame { get; set; }
public User CurrentUser { get; set; } public User CurrentUser { get; set; }
public Manager(IPersistance persistance) public Manager(IPersistance persistance)
@ -13,6 +14,7 @@ namespace Model
Mgrpersistance = persistance; Mgrpersistance = persistance;
CurrentUser = new User(null,"username", "je suis née .... maintenat je fini à 19h30 à cause de l'IHM. GHGHTFCDXEFTGHYJKIJHNGFVCREDTGHNJIKJUHNYGVTFCREDZTGYHUNJIKJUHNYTGVFCREDRTYHUJIOUJNHYGVFRCCFTGYHUJIUJNHYTGBVCFDRRTGYHUI", "email@email.com", "password88"); CurrentUser = new User(null,"username", "je suis née .... maintenat je fini à 19h30 à cause de l'IHM. GHGHTFCDXEFTGHYJKIJHNGFVCREDTGHNJIKJUHNYGVTFCREDZTGYHUNJIKJUHNYTGVFCREDRTYHUJIOUJNHYGVFRCCFTGYHUJIUJNHYTGBVCFDRRTGYHUI", "email@email.com", "password88");
GameList = persistance.LoadGame(); GameList = persistance.LoadGame();
ResearchedGame = persistance.LoadGame();
if (GameList == null) { GameList = new ObservableCollection<Game>();} if (GameList == null) { GameList = new ObservableCollection<Game>();}
} }

@ -21,7 +21,6 @@ public partial class App : Application
window.Stopped += (s, e) => window.Stopped += (s, e) =>
{ {
Manager.Mgrpersistance = new Persistance(FileSystem.Current.AppDataDirectory); Manager.Mgrpersistance = new Persistance(FileSystem.Current.AppDataDirectory);
var test = Manager;
Manager.SaveGames(); Manager.SaveGames();
}; };

@ -37,12 +37,12 @@
<RowDefinition Height="auto"/> <RowDefinition Height="auto"/>
</Grid.RowDefinitions> </Grid.RowDefinitions>
<SearchBar Grid.ColumnSpan="2" Placeholder="Rechercher un jeu" Margin="5"/> <SearchBar x:Name="Game" TextChanged="SearchBar_GameChanged" Grid.ColumnSpan="2" Placeholder="Rechercher un jeu" Margin="5"/>
<SearchBar Grid.Column="0" Grid.Row="1" Placeholder="Tag 1" WidthRequest="200" HorizontalOptions="End" Margin="5"/> <SearchBar x:Name="Tag1" TextChanged="SearchBar_GameChanged" Grid.Column="0" Grid.Row="1" Placeholder="Tag 1" WidthRequest="200" HorizontalOptions="End" Margin="5"/>
<SearchBar Grid.Column="1" Grid.Row="1" Placeholder="Tag 2" WidthRequest="200" HorizontalOptions="Start" Margin="5"/> <SearchBar x:Name="Tag2" TextChanged="SearchBar_GameChanged" Grid.Column="1" Grid.Row="1" Placeholder="Tag 2" WidthRequest="200" HorizontalOptions="Start" Margin="5"/>
</Grid> </Grid>
<CollectionView ItemsSource="{Binding GameList}" SelectionMode="Single" SelectionChanged="OnClickGameList" ItemsLayout="VerticalGrid, 3" Grid.Column="1" Grid.Row="1"> <CollectionView ItemsSource="{Binding ResearchedGame}" SelectionMode="Single" SelectionChanged="OnClickGameList" ItemsLayout="VerticalGrid, 3" Grid.Column="1" Grid.Row="1">
<CollectionView.ItemTemplate> <CollectionView.ItemTemplate>
<DataTemplate> <DataTemplate>
<Border MinimumWidthRequest="200" Margin="10, 10, 10, 10"> <Border MinimumWidthRequest="200" Margin="10, 10, 10, 10">

@ -3,6 +3,8 @@ using Model;
using StimPersistance; using StimPersistance;
using StimStub; using StimStub;
using Microsoft.Maui.Storage; using Microsoft.Maui.Storage;
using MailKit.Search;
using System.Linq;
public partial class MainPage : ContentPage public partial class MainPage : ContentPage
{ {
@ -21,4 +23,33 @@ public partial class MainPage : ContentPage
{ {
await Navigation.PushAsync(new AddGamePage()); await Navigation.PushAsync(new AddGamePage());
} }
private void SearchBar_GameChanged(object sender, TextChangedEventArgs e)
{
SearchBar searchBar = (SearchBar)sender;
string GameText = Game.Text;
string Tag1Text = Tag1.Text;
string Tag2Text = Tag2.Text;
((App)App.Current).Manager.ResearchedGame.Clear();
var filteredGames = ((App)App.Current).Manager.GameList;
if (Game != null)
{
filteredGames = ((App)App.Current).Manager.GameList
.Where(game => game.Name.IndexOf(GameText, StringComparison.OrdinalIgnoreCase) >= 0
&&
game.Tags.Any(tag => tag.IndexOf(Tag1Text, StringComparison.OrdinalIgnoreCase) >= 0)
&&
game.Tags.Any(tag => tag.IndexOf(Tag2Text, StringComparison.OrdinalIgnoreCase) >= 0)
);
}
if (filteredGames ==null)
{
filteredGames = ((App)App.Current).Manager.GameList;
}
foreach (var game in filteredGames)
{
((App)App.Current).Manager.ResearchedGame.Add(game);
}
}
} }

@ -50,6 +50,10 @@
<MauiAsset Include="Resources\Raw\**" LogicalName="%(RecursiveDir)%(Filename)%(Extension)" /> <MauiAsset Include="Resources\Raw\**" LogicalName="%(RecursiveDir)%(Filename)%(Extension)" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<PackageReference Include="MailKit" Version="4.0.0" />
</ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\Persistance\Persistance.csproj" /> <ProjectReference Include="..\Persistance\Persistance.csproj" />
<ProjectReference Include="..\Stim.Model\Model.csproj" /> <ProjectReference Include="..\Stim.Model\Model.csproj" />

@ -83,10 +83,6 @@ namespace Test
Assert.NotNull(user); Assert.NotNull(user);
Assert.NotNull(game); Assert.NotNull(game);
// user.AddReview(game, 2.5f,"UwU");
// Assert.Single(game.Reviews);
user.RemoveSelfReview(game, 2.5f, "UwU"); user.RemoveSelfReview(game, 2.5f, "UwU");
Assert.Empty(game.Reviews); Assert.Empty(game.Reviews);
} }

Loading…
Cancel
Save