Avanement sur tobeRead + navigation avec un ICommand

master
Enzo 2 years ago
parent 18e94d4cb9
commit e1b65d4e62

@ -0,0 +1,7 @@
{
"ExpandedNodes": [
""
],
"SelectedNode": "\\MVVM.sln",
"PreviewInSolutionExplorer": false
}

Binary file not shown.

Binary file not shown.

@ -1 +1 @@
0485af3c2a356b27a294c604ab587442c3ee700a
ccc19448d3a1988841f3b15d3b883f534c70b321

@ -46,3 +46,19 @@ E:\Home\Projet\MVVM\MVVM\DtoAbstractLayer\obj\Debug\net7.0\DtoAbstractLayer.dll
E:\Home\Projet\MVVM\MVVM\DtoAbstractLayer\obj\Debug\net7.0\refint\DtoAbstractLayer.dll
E:\Home\Projet\MVVM\MVVM\DtoAbstractLayer\obj\Debug\net7.0\DtoAbstractLayer.pdb
E:\Home\Projet\MVVM\MVVM\DtoAbstractLayer\obj\Debug\net7.0\ref\DtoAbstractLayer.dll
C:\Home\Cours\Projet\MVVM\my\MVVM\DtoAbstractLayer\bin\Debug\net7.0\DtoAbstractLayer.deps.json
C:\Home\Cours\Projet\MVVM\my\MVVM\DtoAbstractLayer\bin\Debug\net7.0\DtoAbstractLayer.dll
C:\Home\Cours\Projet\MVVM\my\MVVM\DtoAbstractLayer\bin\Debug\net7.0\DtoAbstractLayer.pdb
C:\Home\Cours\Projet\MVVM\my\MVVM\DtoAbstractLayer\bin\Debug\net7.0\LibraryDTO.dll
C:\Home\Cours\Projet\MVVM\my\MVVM\DtoAbstractLayer\bin\Debug\net7.0\LibraryDTO.pdb
C:\Home\Cours\Projet\MVVM\my\MVVM\DtoAbstractLayer\bin\Debug\net7.0\LibraryDTO.xml
C:\Home\Cours\Projet\MVVM\my\MVVM\DtoAbstractLayer\obj\Debug\net7.0\DtoAbstractLayer.csproj.AssemblyReference.cache
C:\Home\Cours\Projet\MVVM\my\MVVM\DtoAbstractLayer\obj\Debug\net7.0\DtoAbstractLayer.GeneratedMSBuildEditorConfig.editorconfig
C:\Home\Cours\Projet\MVVM\my\MVVM\DtoAbstractLayer\obj\Debug\net7.0\DtoAbstractLayer.AssemblyInfoInputs.cache
C:\Home\Cours\Projet\MVVM\my\MVVM\DtoAbstractLayer\obj\Debug\net7.0\DtoAbstractLayer.AssemblyInfo.cs
C:\Home\Cours\Projet\MVVM\my\MVVM\DtoAbstractLayer\obj\Debug\net7.0\DtoAbstractLayer.csproj.CoreCompileInputs.cache
C:\Home\Cours\Projet\MVVM\my\MVVM\DtoAbstractLayer\obj\Debug\net7.0\DtoAbstractLayer.csproj.CopyComplete
C:\Home\Cours\Projet\MVVM\my\MVVM\DtoAbstractLayer\obj\Debug\net7.0\DtoAbstractLayer.dll
C:\Home\Cours\Projet\MVVM\my\MVVM\DtoAbstractLayer\obj\Debug\net7.0\refint\DtoAbstractLayer.dll
C:\Home\Cours\Projet\MVVM\my\MVVM\DtoAbstractLayer\obj\Debug\net7.0\DtoAbstractLayer.pdb
C:\Home\Cours\Projet\MVVM\my\MVVM\DtoAbstractLayer\obj\Debug\net7.0\ref\DtoAbstractLayer.dll

@ -1 +1 @@
7a4c812f183337b8ebdd7847e167c339cc07dc7a
8315acbaa2987403c52eddc5a815828270122856

@ -46,3 +46,19 @@ E:\Home\Projet\MVVM\MVVM\JsonReader\obj\Debug\net7.0\JsonReader.dll
E:\Home\Projet\MVVM\MVVM\JsonReader\obj\Debug\net7.0\refint\JsonReader.dll
E:\Home\Projet\MVVM\MVVM\JsonReader\obj\Debug\net7.0\JsonReader.pdb
E:\Home\Projet\MVVM\MVVM\JsonReader\obj\Debug\net7.0\ref\JsonReader.dll
C:\Home\Cours\Projet\MVVM\my\MVVM\JsonReader\bin\Debug\net7.0\JsonReader.deps.json
C:\Home\Cours\Projet\MVVM\my\MVVM\JsonReader\bin\Debug\net7.0\JsonReader.dll
C:\Home\Cours\Projet\MVVM\my\MVVM\JsonReader\bin\Debug\net7.0\JsonReader.pdb
C:\Home\Cours\Projet\MVVM\my\MVVM\JsonReader\bin\Debug\net7.0\LibraryDTO.dll
C:\Home\Cours\Projet\MVVM\my\MVVM\JsonReader\bin\Debug\net7.0\LibraryDTO.pdb
C:\Home\Cours\Projet\MVVM\my\MVVM\JsonReader\bin\Debug\net7.0\LibraryDTO.xml
C:\Home\Cours\Projet\MVVM\my\MVVM\JsonReader\obj\Debug\net7.0\JsonReader.csproj.AssemblyReference.cache
C:\Home\Cours\Projet\MVVM\my\MVVM\JsonReader\obj\Debug\net7.0\JsonReader.GeneratedMSBuildEditorConfig.editorconfig
C:\Home\Cours\Projet\MVVM\my\MVVM\JsonReader\obj\Debug\net7.0\JsonReader.AssemblyInfoInputs.cache
C:\Home\Cours\Projet\MVVM\my\MVVM\JsonReader\obj\Debug\net7.0\JsonReader.AssemblyInfo.cs
C:\Home\Cours\Projet\MVVM\my\MVVM\JsonReader\obj\Debug\net7.0\JsonReader.csproj.CoreCompileInputs.cache
C:\Home\Cours\Projet\MVVM\my\MVVM\JsonReader\obj\Debug\net7.0\JsonReader.csproj.CopyComplete
C:\Home\Cours\Projet\MVVM\my\MVVM\JsonReader\obj\Debug\net7.0\JsonReader.dll
C:\Home\Cours\Projet\MVVM\my\MVVM\JsonReader\obj\Debug\net7.0\refint\JsonReader.dll
C:\Home\Cours\Projet\MVVM\my\MVVM\JsonReader\obj\Debug\net7.0\JsonReader.pdb
C:\Home\Cours\Projet\MVVM\my\MVVM\JsonReader\obj\Debug\net7.0\ref\JsonReader.dll

@ -34,3 +34,15 @@ E:\Home\Projet\MVVM\MVVM\LibraryDTO\obj\Debug\net7.0\LibraryDTO.dll
E:\Home\Projet\MVVM\MVVM\LibraryDTO\obj\Debug\net7.0\refint\LibraryDTO.dll
E:\Home\Projet\MVVM\MVVM\LibraryDTO\obj\Debug\net7.0\LibraryDTO.pdb
E:\Home\Projet\MVVM\MVVM\LibraryDTO\obj\Debug\net7.0\ref\LibraryDTO.dll
C:\Home\Cours\Projet\MVVM\my\MVVM\LibraryDTO\bin\Debug\net7.0\LibraryDTO.xml
C:\Home\Cours\Projet\MVVM\my\MVVM\LibraryDTO\bin\Debug\net7.0\LibraryDTO.deps.json
C:\Home\Cours\Projet\MVVM\my\MVVM\LibraryDTO\bin\Debug\net7.0\LibraryDTO.dll
C:\Home\Cours\Projet\MVVM\my\MVVM\LibraryDTO\bin\Debug\net7.0\LibraryDTO.pdb
C:\Home\Cours\Projet\MVVM\my\MVVM\LibraryDTO\obj\Debug\net7.0\LibraryDTO.GeneratedMSBuildEditorConfig.editorconfig
C:\Home\Cours\Projet\MVVM\my\MVVM\LibraryDTO\obj\Debug\net7.0\LibraryDTO.AssemblyInfoInputs.cache
C:\Home\Cours\Projet\MVVM\my\MVVM\LibraryDTO\obj\Debug\net7.0\LibraryDTO.AssemblyInfo.cs
C:\Home\Cours\Projet\MVVM\my\MVVM\LibraryDTO\obj\Debug\net7.0\LibraryDTO.csproj.CoreCompileInputs.cache
C:\Home\Cours\Projet\MVVM\my\MVVM\LibraryDTO\obj\Debug\net7.0\LibraryDTO.dll
C:\Home\Cours\Projet\MVVM\my\MVVM\LibraryDTO\obj\Debug\net7.0\refint\LibraryDTO.dll
C:\Home\Cours\Projet\MVVM\my\MVVM\LibraryDTO\obj\Debug\net7.0\LibraryDTO.pdb
C:\Home\Cours\Projet\MVVM\my\MVVM\LibraryDTO\obj\Debug\net7.0\ref\LibraryDTO.dll

@ -23,7 +23,7 @@
<ShellContent
Title="My Reading"
Icon="bookmark_fill"
ContentTemplate="{DataTemplate local:BookPage}"
ContentTemplate="{DataTemplate local:BooksPage}"
Route="FilterPage"/>
<ShellContent

@ -3,8 +3,8 @@
<PropertyGroup>
<IsFirstTimeProjectOpen>False</IsFirstTimeProjectOpen>
<ActiveDebugFramework>net7.0-android</ActiveDebugFramework>
<ActiveDebugProfile>Émulateur Android</ActiveDebugProfile>
<SelectedPlatformGroup>Emulator</SelectedPlatformGroup>
<ActiveDebugProfile>Samsung SM-A705FN (Android 11.0 - API 30)</ActiveDebugProfile>
<SelectedPlatformGroup>PhysicalDevice</SelectedPlatformGroup>
</PropertyGroup>
<PropertyGroup Condition="'$(TargetPlatformIdentifier)'=='iOS'">
<RuntimeIdentifier>ios-arm64</RuntimeIdentifier>

@ -3,7 +3,7 @@ using Microsoft.Extensions.Logging;
using Model;
using MVVM.Pages;
using MVVM.ViewModel;
using MVVM.ViewModel;
using MVVM.ViewModel.Books;
using StubLib;
using ToolKit;
using Wrapper;
@ -21,18 +21,21 @@ namespace MVVM
//VM Applicatif
.AddSingleton<NavigationViewModel>()
.AddSingleton<BooksNavigateAndLoad>()
.AddSingleton<BooksAllNavigateAndLoad>()
.AddSingleton<MyLibraryLoadData>()
.AddSingleton<BookCheckAndNavigate>()
.AddSingleton<DataViewModel>()
//Wrapper
.AddSingleton<BooksViewModel>()
.AddSingleton<MyLibraryViewModel>()
.AddSingleton<BookViewModel>()
.AddSingleton<LoanViewModel>()
// Page
.AddSingleton<BookPage>()
.AddScoped<BookPage>()
.AddSingleton<BooksPage>()
.AddSingleton<MyLibraryPage>()

@ -39,7 +39,7 @@
<Grid Grid.Row="1" ColumnDefinitions="Auto,Auto,*,Auto,Auto">
<Grid.GestureRecognizers>
<TapGestureRecognizer Command="{Binding BooksNavigateAndLoad.CommandNavigationAndLoad}" CommandParameter="{Binding BooksNavigateAndLoad.NavigateViewModel.BooksPage}"/>
<TapGestureRecognizer Command="{Binding BooksNavigateAndLoad.CommandNavigationAndLoadBooks}" CommandParameter="{Binding BooksNavigateAndLoad.NavigateViewModel.BooksPage}"/>
</Grid.GestureRecognizers>
<Image Style="{StaticResource IconBibliotheque}" Source="tray_fill" Grid.Column="0"/>
@ -53,7 +53,7 @@
<Grid Grid.Row="3" ColumnDefinitions="Auto,Auto,*,Auto,Auto">
<Grid.GestureRecognizers>
<TapGestureRecognizer Command="{Binding BooksNavigateAndLoad.CommandNavigationAndLoad}" CommandParameter="{Binding BooksNavigateAndLoad.NavigateViewModel.BooksPage}"/>
<TapGestureRecognizer Command="{Binding BooksNavigateAndLoad.CommandNavigationAndLoadBooks}" CommandParameter="{Binding BooksNavigateAndLoad.DataViewModel.BookAllDataCommand}"/>
</Grid.GestureRecognizers>
@ -66,6 +66,10 @@
<Line Grid.Row="4" X1="20" X2="500"/>
<Grid Grid.Row="5" ColumnDefinitions="Auto,Auto,*,Auto,Auto" >
<Grid.GestureRecognizers>
<TapGestureRecognizer Command="{Binding BooksNavigateAndLoad.CommandNavigationAndLoadBooks}" CommandParameter="{Binding BooksNavigateAndLoad.NavigateViewModel.BooksPage}"/>
</Grid.GestureRecognizers>
<Image Style="{StaticResource IconBibliotheque}" Source="arrow_forward" Grid.Column="0"/>
<Label Style="{StaticResource TexteBibliotheque}" Text="A lire plus tard" Grid.Column="1"/>
<Label Style="{StaticResource NombreBibliotheque}" Text="" Grid.Column="3"/>

@ -1,16 +1,16 @@
using MVVM.ViewModel;
using MVVM.ViewModel;
using MVVM.ViewModel.Books;
using Wrapper;
namespace MVVM.Pages;
public partial class MyLibraryPage : ContentPage
{
public BooksNavigateAndLoad BooksNavigateAndLoad { get; set;}
public BooksAllNavigateAndLoad BooksNavigateAndLoad { get; set;}
public MyLibraryLoadData MyLibraryLoadData { get; set;}
public MyLibraryPage(BooksNavigateAndLoad booksNavigateAndLoad, MyLibraryLoadData MyLibraryLoadData)
public MyLibraryPage(BooksAllNavigateAndLoad booksNavigateAndLoad, MyLibraryLoadData MyLibraryLoadData)
{
this.BooksNavigateAndLoad = booksNavigateAndLoad;
this.MyLibraryLoadData = MyLibraryLoadData;

@ -27,7 +27,8 @@ namespace MVVM.ViewModel
private void CheckAndNavigate(string isbn13)
{
if ( BookViewModel.LoadBook(isbn13) )
Console.WriteLine(isbn13);
if ( BookViewModel.LoadBook(isbn13))
{
NavigationViewModel.CommandNavigation.Execute(GlobalConst.BookPage);
}

@ -0,0 +1,48 @@
using MVVM.Constante;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Input;
using ToolKit;
using Wrapper;
namespace MVVM.ViewModel.Books
{
public class BooksAllNavigateAndLoad
{
// Navigation
public NavigationViewModel NavigateViewModel { get; set; }
// Wrapper
public BooksViewModel BooksViewModel { get; set; }
//VM
public DataViewModel DataViewModel { get; set; }
// Command
public ICommand CommandNavigationAndLoadBooks { set; get; }
public BooksAllNavigateAndLoad(NavigationViewModel navigateViewModel, BooksViewModel booksViewModel,DataViewModel dataViewModel)
{
NavigateViewModel = navigateViewModel;
BooksViewModel = booksViewModel;
DataViewModel = dataViewModel;
CommandNavigationAndLoadBooks = new Command<ICommand>(NavigateAndLoadBooks);
}
private void NavigateAndLoadBooks(ICommand command)
{
command.Execute(null);
NavigateViewModel.CommandNavigation.Execute(GlobalConst.BooksPage);
}
}
}

@ -1,33 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Input;
using Wrapper;
namespace MVVM.ViewModel
{
public class BooksNavigateAndLoad
{
public NavigationViewModel NavigateViewModel { get; set; }
public BooksViewModel BooksViewModel { get; set; }
public ICommand CommandNavigationAndLoad { set; get; }
public BooksNavigateAndLoad(NavigationViewModel navigateViewModel, BooksViewModel booksViewModel)
{
this.NavigateViewModel = navigateViewModel;
this.BooksViewModel = booksViewModel;
CommandNavigationAndLoad = new Command<string>(NavigateAndLoadFonction);
}
private void NavigateAndLoadFonction(string arg)
{
BooksViewModel.LoadBooks.Execute();
NavigateViewModel.CommandNavigation.Execute(arg);
}
}
}

@ -0,0 +1,36 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Input;
using Wrapper;
namespace MVVM.ViewModel
{
public class DataViewModel
{
// Liste des Wrappers
public BooksViewModel BooksViewModel { get; set; }
// Liste des commands
public ICommand BookAllDataCommand { get; set; }
public DataViewModel(BooksViewModel booksViewModel)
{
this.BooksViewModel = booksViewModel;
BookAllDataCommand = new Command(BookAll);
}
private void BookAll()
{
BooksViewModel.LoadBooks.Execute();
}
}
}

@ -0,0 +1,8 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>LibraryDTO</name>
</assembly>
<members>
</members>
</doc>

@ -0,0 +1,45 @@
{
"runtimeOptions": {
"tfm": "net7.0",
"includedFrameworks": [
{
"name": "Microsoft.NETCore.App",
"version": "7.0.10"
},
{
"name": "Microsoft.iOS",
"version": "16.4.7098"
},
{
"name": "Microsoft.Maui.Core",
"version": "**FromWorkload**"
},
{
"name": "Microsoft.Maui.Controls",
"version": "**FromWorkload**"
},
{
"name": "Microsoft.Maui.Essentials",
"version": "**FromWorkload**"
}
],
"configProperties": {
"Microsoft.Extensions.DependencyInjection.VerifyOpenGenericServiceTrimmability": true,
"System.AggressiveAttributeTrimming": true,
"System.ComponentModel.TypeConverter.EnableUnsafeBinaryFormatterInDesigntimeLicenseContextSerialization": false,
"System.Diagnostics.Debugger.IsSupported": true,
"System.Diagnostics.Tracing.EventSource.IsSupported": false,
"System.Globalization.Invariant": false,
"System.Net.Http.EnableActivityPropagation": false,
"System.Net.Http.UseNativeHttpHandler": true,
"System.Reflection.NullabilityInfoContext.IsSupported": false,
"System.Resources.ResourceManager.AllowCustomResourceTypes": false,
"System.Resources.UseSystemResourceKeys": false,
"System.Runtime.InteropServices.BuiltInComInterop.IsSupported": false,
"System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false,
"System.StartupHookProvider.IsSupported": false,
"System.Threading.Thread.EnableAutoreleasePool": true,
"System.Text.Encoding.EnableUnsafeUTF7Encoding": false
}
}
}

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save