Fusion UI_Windows

PatchDeserialisation
Hugo LIVET 2 years ago
commit 739fa77493

@ -8,7 +8,7 @@
Shell.NavBarIsVisible="False">
<ShellContent
ContentTemplate="{DataTemplate local:Dashboard}"
ContentTemplate="{DataTemplate local:MainPage}"
Route="Inscription" />
</Shell>

@ -10,6 +10,9 @@ namespace IHM
public partial class AppShellDesktop : Shell
{
public Manager Mgr => (App.Current as App).Manager;
public Manager Mgr2 => (App.Current as App).Manager;
public AppShellDesktop()
{

@ -4,7 +4,7 @@
x:Class="IHM.Desktop.CV_AddPlanification">
<Grid BackgroundColor="{StaticResource Primary}">
<Grid BackgroundColor="{StaticResource Secondary}">
<Grid.RowDefinitions>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>

@ -0,0 +1,37 @@
<?xml version="1.0" encoding="utf-8" ?>
<ContentView xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="IHM.Desktop.CV_DeletePlanification">
<Grid BackgroundColor="{StaticResource Secondary}">
<Grid.RowDefinitions>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="2*"/>
<RowDefinition Height="2*"/>
<RowDefinition Height="2*"/>
<RowDefinition Height="2*"/>
<RowDefinition Height="2*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Label Text="Supprimer une planification" Grid.Column="1" Grid.Row="0" Grid.ColumnSpan="3" Style="{StaticResource TitreWindows}"/>
<Label Text="Nom" Grid.Column="1" Grid.Row="2" Style="{StaticResource TitreWindows}" Margin="20"/>
<Label Text="Montant" Grid.Column="1" Grid.Row="3" Style="{StaticResource TitreWindows}" Margin="20"/>
<Label Text="Type" Grid.Column="1" Grid.Row="4" Style="{StaticResource TitreWindows}" Margin="20"/>
<Label Text="Date" Grid.Column="1" Grid.Row="5" Style="{StaticResource TitreWindows}" Margin="20"/>
<Button Text="ANNULER" Clicked="Button_Clicked" Grid.Column="1" Grid.Row="6" Style="{StaticResource WindowsButton}"/>
<Button Text="VALIDER" Clicked="Button_Clicked_1" Grid.Column="3" Grid.Row="6" Style="{StaticResource WindowsButton}"/>
</Grid>
</ContentView>

@ -0,0 +1,19 @@
namespace IHM.Desktop;
public partial class CV_DeletePlanification : ContentView
{
public CV_DeletePlanification()
{
InitializeComponent();
}
private void Button_Clicked(object sender, EventArgs e)
{
}
private void Button_Clicked_1(object sender, EventArgs e)
{
}
}

@ -0,0 +1,42 @@
<?xml version="1.0" encoding="utf-8" ?>
<ContentView xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="IHM.Desktop.CV_EnregistrerEcheance">
<Grid BackgroundColor="{StaticResource Secondary}">
<Grid.RowDefinitions>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="2*"/>
<RowDefinition Height="2*"/>
<RowDefinition Height="2*"/>
<RowDefinition Height="2*"/>
<RowDefinition Height="2*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Label Text="Enregistrer une échéance" Grid.Column="1" Grid.Row="0" Grid.ColumnSpan="3" Style="{StaticResource TitreWindows}"/>
<Label Text="Nom" Grid.Column="1" Grid.Row="2" Style="{StaticResource TitreWindows}" Margin="20"/>
<Label Text="Montant" Grid.Column="1" Grid.Row="3" Style="{StaticResource TitreWindows}" Margin="20"/>
<Label Text="Type" Grid.Column="1" Grid.Row="4" Style="{StaticResource TitreWindows}" Margin="20"/>
<Label Text="Date" Grid.Column="1" Grid.Row="5" Style="{StaticResource TitreWindows}" Margin="20"/>
<Entry Placeholder="Entrez un nom" Grid.Column="3" Grid.Row="2" Style="{StaticResource zoneDeTexte}" Margin="20"/>
<Entry Placeholder="Entrez un montant" Grid.Column="3" Grid.Row="3" Style="{StaticResource zoneDeTexte}" Margin="20"/>
<Entry Placeholder="Entrez un type de transaction" Grid.Column="3" Grid.Row="4" Style="{StaticResource zoneDeTexte}" Margin="20"/>
<DatePicker Grid.Column="3" Grid.Row="5" BackgroundColor="{StaticResource Secondary}" Margin="20"/>
<Button Text="ANNULER" Clicked="Button_Clicked" Grid.Column="1" Grid.Row="6" Style="{StaticResource WindowsButton}"/>
<Button Text="VALIDER" Clicked="Button_Clicked_1" Grid.Column="3" Grid.Row="6" Style="{StaticResource WindowsButton}"/>
</Grid>
</ContentView>

@ -0,0 +1,19 @@
namespace IHM.Desktop;
public partial class CV_EnregistrerEcheance : ContentView
{
public CV_EnregistrerEcheance()
{
InitializeComponent();
}
private void Button_Clicked(object sender, EventArgs e)
{
}
private void Button_Clicked_1(object sender, EventArgs e)
{
}
}

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8" ?>
<ContentView xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="IHM.Desktop.CV_HomePage">
<Grid BackgroundColor="{StaticResource Tertiary}">
<Grid.RowDefinitions>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<Label Grid.Row="1"
Text="Bienvenue sur CONS'ECO"
FontSize="Large"
FontAttributes="Bold"
VerticalOptions="Center"
HorizontalOptions="Center"
/>
</Grid>
</ContentView>

@ -0,0 +1,9 @@
namespace IHM.Desktop;
public partial class CV_HomePage : ContentView
{
public CV_HomePage()
{
InitializeComponent();
}
}

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8" ?>
<ContentView xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="IHM.Desktop.CV_Log">
<Grid BackgroundColor="{StaticResource Yellow200Accent}">
<Grid.RowDefinitions>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<Label Grid.Row="0"
Text="Compte utilisateur"
FontSize="Large"
FontAttributes="Bold"
VerticalOptions="Center"
HorizontalOptions="Center"
/>
</Grid>
</ContentView>

@ -0,0 +1,9 @@
namespace IHM.Desktop;
public partial class CV_Log : ContentView
{
public CV_Log()
{
InitializeComponent();
}
}

@ -6,6 +6,7 @@
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="0.7*"/>
<RowDefinition Height="5*"/>
<RowDefinition Height="1*"/>
@ -15,34 +16,84 @@
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<StackLayout Grid.Row="0" Grid.ColumnSpan="2">
<Label
Style="{StaticResource TitreWindows}"
Text="PLANIFICATION"
HorizontalOptions="Center"/>
</StackLayout>
<Button Text="Planifier une échéance" BackgroundColor="{StaticResource Primary}" TextColor="{StaticResource Secondary}" Grid.Column="0" Grid.Row="0" Clicked="Button_Clicked" ></Button>
<Button Text="Supprimer une échéance" BackgroundColor="{StaticResource Tertiary}" TextColor="{StaticResource Secondary}" Grid.Column="1" Grid.Row="0" Clicked="Button_Clicked_1"></Button>
<Button
Clicked="Button_Clicked"
Grid.Column="0" Grid.Row="1"
x:Name="AddCredit"
Text="Planifier une échéance"
Style="{StaticResource WindowsButton}"/>
<ContentView Grid.Column="0" Grid.Row="1" Grid.ColumnSpan="2" Grid.RowSpan="2" Margin="15" x:Name="windowAjout">
<Grid BackgroundColor="{StaticResource Yellow300Accent}">
<Grid.RowDefinitions>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="2*"/>
<RowDefinition Height="2*"/>
<RowDefinition Height="2*"/>
<RowDefinition Height="2*"/>
<RowDefinition Height="2*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Button
Clicked="Button_Clicked_1"
Grid.Column="1" Grid.Row="1"
x:Name="RetireOperation"
Text="Supprimer une planification"
Style="{StaticResource WindowsButton}"/>
<Label Text="Planification"/>
<ContentView BackgroundColor="{StaticResource Yellow300Accent}" Grid.Column="0" Grid.Row="2" Grid.ColumnSpan="4" Grid.RowSpan="2" x:Name="windowAjout">
</Grid>
<CollectionView ItemsSource="{Binding}" Grid.Row="2" Grid.ColumnSpan="4" Grid.RowSpan="2">
<CollectionView.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Label Grid.Column="0" Text="{Binding IntituleOperation}"
TextColor="{StaticResource Secondary}"
FontAttributes="Bold" FontSize="Body"
HorizontalOptions="Center"
VerticalOptions="Center"/>
<Label Grid.Column="1" Text="{Binding DateOperation}"
TextColor="{StaticResource Secondary}"
FontAttributes="Bold" FontSize="Body"
HorizontalOptions="Center"
VerticalOptions="Center"/>
<Label Grid.Column="2" Text="{Binding ModePayement}"
TextColor="{StaticResource Secondary}"
FontAttributes="Bold" FontSize="Body"
HorizontalOptions="Center"
VerticalOptions="Center"/>
<Label Grid.Column="3" Text="{Binding Tag}"
TextColor="{StaticResource Secondary}"
FontAttributes="Bold" FontSize="Body"
HorizontalOptions="Center"
VerticalOptions="Center"/>
<Label Grid.Column="4" Text="{Binding Montant}"
TextColor="{StaticResource Secondary}"
FontAttributes="Bold" FontSize="Body"
HorizontalOptions="Center"
VerticalOptions="Center"/>
</Grid>
</DataTemplate>
</CollectionView.ItemTemplate>
</CollectionView>
</ContentView>
@ -52,6 +103,7 @@
</Grid>

@ -5,15 +5,44 @@ namespace IHM.Desktop;
public partial class CV_Planification : ContentView
{
public Manager Mgr => (App.Current as App).Manager;
List<Planification> planification;
public CV_Planification()
{
InitializeComponent();
planification = new List<Planification>();
planification.Add(new("Eau", 55, DateTime.Now, MethodePayement.CB, TagOperation.Divers, true));
planification.Add(new("Amazon", 103.30, DateTime.Now, MethodePayement.CB, TagOperation.Divers, true));
planification.Add(new("Mutuelle", 38.50, DateTime.Now, MethodePayement.Prevelement, TagOperation.Santé, true));
planification.Add(new("Loyer", 500, DateTime.Now, MethodePayement.Virement, TagOperation.Habitation, true));
planification.Add(new("Eau", 55, DateTime.Now, MethodePayement.CB, TagOperation.Divers, true));
planification.Add(new("Amazon", 103.30, DateTime.Now, MethodePayement.CB, TagOperation.Divers, true));
planification.Add(new("Mutuelle", 38.50, DateTime.Now, MethodePayement.Prevelement, TagOperation.Santé, true));
planification.Add(new("Loyer", 500, DateTime.Now, MethodePayement.Virement, TagOperation.Habitation, true));
planification.Add(new("Eau", 55, DateTime.Now, MethodePayement.CB, TagOperation.Divers, true));
planification.Add(new("Amazon", 103.30, DateTime.Now, MethodePayement.CB, TagOperation.Divers, true));
planification.Add(new("Mutuelle", 38.50, DateTime.Now, MethodePayement.Prevelement, TagOperation.Santé, true));
planification.Add(new("Loyer", 500, DateTime.Now, MethodePayement.Virement, TagOperation.Habitation, true));
planification.Add(new("Eau", 55, DateTime.Now, MethodePayement.CB, TagOperation.Divers, true));
planification.Add(new("Amazon", 103.30, DateTime.Now, MethodePayement.CB, TagOperation.Divers, true));
planification.Add(new("Mutuelle", 38.50, DateTime.Now, MethodePayement.Prevelement, TagOperation.Santé, true));
planification.Add(new("Loyer", 500, DateTime.Now, MethodePayement.Virement, TagOperation.Habitation, true));
planification.Add(new("Eau", 55, DateTime.Now, MethodePayement.CB, TagOperation.Divers, true));
planification.Add(new("Amazon", 103.30, DateTime.Now, MethodePayement.CB, TagOperation.Divers, true));
planification.Add(new("Mutuelle", 38.50, DateTime.Now, MethodePayement.Prevelement, TagOperation.Santé, true));
planification.Add(new("Loyer", 500, DateTime.Now, MethodePayement.Virement, TagOperation.Habitation, true));
BindingContext = planification;
}
}
private void Button_Clicked(object sender, EventArgs e)
{
windowAjout.Content = new CV_AddPlanification();
@ -21,6 +50,6 @@ public partial class CV_Planification : ContentView
private void Button_Clicked_1(object sender, EventArgs e)
{
}
windowAjout.Content = new CV_DeletePlanification();
}
}

@ -0,0 +1,70 @@
<?xml version="1.0" encoding="utf-8" ?>
<ContentView xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="IHM.Desktop.CV_Statistiques">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="0.7*"/>
<RowDefinition Height="5*"/>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<StackLayout Grid.Row="0" Grid.ColumnSpan="2">
<Label
Style="{StaticResource TitreWindows}"
Text="STATISTIQUES"
HorizontalOptions="Center"/>
</StackLayout>
<ContentView Grid.Column="0" Grid.Row="1" Grid.ColumnSpan="2" Grid.RowSpan="3" Margin="15" x:Name="windowAjout">
<Grid BackgroundColor="{StaticResource Yellow300Accent}">
<Grid.RowDefinitions>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="2*"/>
<RowDefinition Height="2*"/>
<RowDefinition Height="2*"/>
<RowDefinition Height="2*"/>
<RowDefinition Height="2*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
</Grid>
</ContentView>
</Grid>
</ContentView>

@ -0,0 +1,9 @@
namespace IHM.Desktop;
public partial class CV_Statistiques : ContentView
{
public CV_Statistiques()
{
InitializeComponent();
}
}

@ -0,0 +1,42 @@
<?xml version="1.0" encoding="utf-8" ?>
<ContentView xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="IHM.Desktop.CV_SupprimerEcheance">
<Grid BackgroundColor="{StaticResource Secondary}">
<Grid.RowDefinitions>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="2*"/>
<RowDefinition Height="2*"/>
<RowDefinition Height="2*"/>
<RowDefinition Height="2*"/>
<RowDefinition Height="2*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Label Text="Supprimer une échéance" Grid.Column="1" Grid.Row="0" Grid.ColumnSpan="3" Style="{StaticResource TitreWindows}"/>
<Label Text="Nom" Grid.Column="1" Grid.Row="2" Style="{StaticResource TitreWindows}" Margin="20"/>
<Label Text="Montant" Grid.Column="1" Grid.Row="3" Style="{StaticResource TitreWindows}" Margin="20"/>
<Label Text="Type" Grid.Column="1" Grid.Row="4" Style="{StaticResource TitreWindows}" Margin="20"/>
<Label Text="Date" Grid.Column="1" Grid.Row="5" Style="{StaticResource TitreWindows}" Margin="20"/>
<Entry Placeholder="Entrez un nom" Grid.Column="3" Grid.Row="2" Style="{StaticResource zoneDeTexte}" Margin="20"/>
<Entry Placeholder="Entrez un montant" Grid.Column="3" Grid.Row="3" Style="{StaticResource zoneDeTexte}" Margin="20"/>
<Entry Placeholder="Entrez un type de transaction" Grid.Column="3" Grid.Row="4" Style="{StaticResource zoneDeTexte}" Margin="20"/>
<DatePicker Grid.Column="3" Grid.Row="5" BackgroundColor="{StaticResource Secondary}" Margin="20"/>
<Button Text="ANNULER" Clicked="Button_Clicked" Grid.Column="1" Grid.Row="6" Style="{StaticResource WindowsButton}"/>
<Button Text="VALIDER" Clicked="Button_Clicked_1" Grid.Column="3" Grid.Row="6" Style="{StaticResource WindowsButton}"/>
</Grid>
</ContentView>

@ -0,0 +1,19 @@
namespace IHM.Desktop;
public partial class CV_SupprimerEcheance : ContentView
{
public CV_SupprimerEcheance()
{
InitializeComponent();
}
private void Button_Clicked(object sender, EventArgs e)
{
}
private void Button_Clicked_1(object sender, EventArgs e)
{
}
}

@ -0,0 +1,42 @@
<?xml version="1.0" encoding="utf-8" ?>
<ContentView xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="IHM.Desktop.CV_credit">
<Grid BackgroundColor="{StaticResource Secondary}">
<Grid.RowDefinitions>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="2*"/>
<RowDefinition Height="2*"/>
<RowDefinition Height="2*"/>
<RowDefinition Height="2*"/>
<RowDefinition Height="2*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Label Text="Effectuer un crédit" Grid.Column="1" Grid.Row="0" Grid.ColumnSpan="3" Style="{StaticResource TitreWindows}"/>
<Label Text="Nom" Grid.Column="1" Grid.Row="2" Style="{StaticResource TitreWindows}" Margin="20"/>
<Label Text="Montant" Grid.Column="1" Grid.Row="3" Style="{StaticResource TitreWindows}" Margin="20"/>
<Label Text="Type" Grid.Column="1" Grid.Row="4" Style="{StaticResource TitreWindows}" Margin="20"/>
<Label Text="Date" Grid.Column="1" Grid.Row="5" Style="{StaticResource TitreWindows}" Margin="20"/>
<Entry Placeholder="Entrez un nom" Grid.Column="3" Grid.Row="2" Style="{StaticResource zoneDeTexte}" Margin="20"/>
<Entry Placeholder="Entrez un montant" Grid.Column="3" Grid.Row="3" Style="{StaticResource zoneDeTexte}" Margin="20"/>
<Entry Placeholder="Entrez un type de transaction" Grid.Column="3" Grid.Row="4" Style="{StaticResource zoneDeTexte}" Margin="20"/>
<DatePicker Grid.Column="3" Grid.Row="5" BackgroundColor="{StaticResource Secondary}" Margin="20"/>
<Button Text="ANNULER" Clicked="Button_Clicked" Grid.Column="1" Grid.Row="6" Style="{StaticResource WindowsButton}"/>
<Button Text="VALIDER" Clicked="Button_Clicked_1" Grid.Column="3" Grid.Row="6" Style="{StaticResource WindowsButton}"/>
</Grid>
</ContentView>

@ -0,0 +1,19 @@
namespace IHM.Desktop;
public partial class CV_credit : ContentView
{
public CV_credit()
{
InitializeComponent();
}
private void Button_Clicked(object sender, EventArgs e)
{
}
private void Button_Clicked_1(object sender, EventArgs e)
{
}
}

@ -0,0 +1,42 @@
<?xml version="1.0" encoding="utf-8" ?>
<ContentView xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="IHM.Desktop.CV_debit">
<Grid BackgroundColor="{StaticResource Secondary}">
<Grid.RowDefinitions>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="2*"/>
<RowDefinition Height="2*"/>
<RowDefinition Height="2*"/>
<RowDefinition Height="2*"/>
<RowDefinition Height="2*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Label Text="Effectuer un débit" Grid.Column="1" Grid.Row="0" Grid.ColumnSpan="3" Style="{StaticResource TitreWindows}"/>
<Label Text="Nom" Grid.Column="1" Grid.Row="2" Style="{StaticResource TitreWindows}" Margin="20"/>
<Label Text="Montant" Grid.Column="1" Grid.Row="3" Style="{StaticResource TitreWindows}" Margin="20"/>
<Label Text="Type" Grid.Column="1" Grid.Row="4" Style="{StaticResource TitreWindows}" Margin="20"/>
<Label Text="Date" Grid.Column="1" Grid.Row="5" Style="{StaticResource TitreWindows}" Margin="20"/>
<Entry Placeholder="Entrez un nom" Grid.Column="3" Grid.Row="2" Style="{StaticResource zoneDeTexte}" Margin="20"/>
<Entry Placeholder="Entrez un montant" Grid.Column="3" Grid.Row="3" Style="{StaticResource zoneDeTexte}" Margin="20"/>
<Entry Placeholder="Entrez un type de transaction" Grid.Column="3" Grid.Row="4" Style="{StaticResource zoneDeTexte}" Margin="20"/>
<DatePicker Grid.Column="3" Grid.Row="5" BackgroundColor="{StaticResource Secondary}" Margin="20"/>
<Button Text="ANNULER" Clicked="Button_Clicked" Grid.Column="1" Grid.Row="6" Style="{StaticResource WindowsButton}"/>
<Button Text="VALIDER" Clicked="Button_Clicked_1" Grid.Column="3" Grid.Row="6" Style="{StaticResource WindowsButton}"/>
</Grid>
</ContentView>

@ -0,0 +1,19 @@
namespace IHM.Desktop;
public partial class CV_debit : ContentView
{
public CV_debit()
{
InitializeComponent();
}
private void Button_Clicked(object sender, EventArgs e)
{
}
private void Button_Clicked_1(object sender, EventArgs e)
{
}
}

@ -0,0 +1,40 @@
<?xml version="1.0" encoding="utf-8" ?>
<ContentView xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="IHM.Desktop.CV_modificationSolde">
<Grid BackgroundColor="{StaticResource Secondary}">
<Grid.RowDefinitions>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="2*"/>
<RowDefinition Height="2*"/>
<RowDefinition Height="2*"/>
<RowDefinition Height="2*"/>
<RowDefinition Height="2*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Label Text="Modification du solde" Grid.Column="1" Grid.Row="0" Grid.ColumnSpan="3" Style="{StaticResource TitreWindows}"/>
<Label Text="Montant" Grid.Column="1" Grid.Row="3" Style="{StaticResource TitreWindows}" Margin="20"/>
<Entry Placeholder="Entrez un montant" Grid.Column="3" Grid.Row="3" Style="{StaticResource zoneDeTexte}" Margin="20"/>
<Button Text="ANNULER" Clicked="Button_Clicked" Grid.Column="1" Grid.Row="6" Style="{StaticResource WindowsButton}"/>
<Button Text="VALIDER" Clicked="Button_Clicked_1" Grid.Column="3" Grid.Row="6" Style="{StaticResource WindowsButton}"/>
</Grid>
</ContentView>

@ -0,0 +1,19 @@
namespace IHM.Desktop;
public partial class CV_modificationSolde : ContentView
{
public CV_modificationSolde()
{
InitializeComponent();
}
private void Button_Clicked(object sender, EventArgs e)
{
}
private void Button_Clicked_1(object sender, EventArgs e)
{
}
}

@ -0,0 +1,15 @@
namespace IHM.Desktop;
public class CV_retirer : ContentView
{
public CV_retirer()
{
Content = new VerticalStackLayout
{
Children = {
new Label { HorizontalOptions = LayoutOptions.Center, VerticalOptions = LayoutOptions.Center, Text = "Welcome to .NET MAUI!"
}
}
};
}
}

@ -0,0 +1,43 @@
<?xml version="1.0" encoding="utf-8" ?>
<ContentView xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="IHM.Desktop.CV_retirer">
<Grid BackgroundColor="{StaticResource Secondary}">
<Grid.RowDefinitions>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="2*"/>
<RowDefinition Height="2*"/>
<RowDefinition Height="2*"/>
<RowDefinition Height="2*"/>
<RowDefinition Height="2*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Label Text="Retirer une opération" Grid.Column="1" Grid.Row="0" Grid.ColumnSpan="3" Style="{StaticResource TitreWindows}"/>
<Label Text="Nom" Grid.Column="1" Grid.Row="2" Style="{StaticResource TitreWindows}" Margin="20"/>
<Label Text="Montant" Grid.Column="1" Grid.Row="3" Style="{StaticResource TitreWindows}" Margin="20"/>
<Label Text="Type" Grid.Column="1" Grid.Row="4" Style="{StaticResource TitreWindows}" Margin="20"/>
<Label Text="Date" Grid.Column="1" Grid.Row="5" Style="{StaticResource TitreWindows}" Margin="20"/>
<Entry Placeholder="Entrez un nom" Grid.Column="3" Grid.Row="2" Style="{StaticResource zoneDeTexte}" Margin="20"/>
<Entry Placeholder="Entrez un montant" Grid.Column="3" Grid.Row="3" Style="{StaticResource zoneDeTexte}" Margin="20"/>
<Entry Placeholder="Entrez un type de transaction" Grid.Column="3" Grid.Row="4" Style="{StaticResource zoneDeTexte}" Margin="20"/>
<DatePicker Grid.Column="3" Grid.Row="5" BackgroundColor="{StaticResource Secondary}" Margin="20"/>
<Button Text="ANNULER" Clicked="Button_Clicked" Grid.Column="1" Grid.Row="6" Style="{StaticResource WindowsButton}"/>
<Button Text="VALIDER" Clicked="Button_Clicked_1" Grid.Column="3" Grid.Row="6" Style="{StaticResource WindowsButton}"/>
</Grid>
</ContentView>

@ -0,0 +1,19 @@
namespace IHM.Desktop;
public partial class CV_retirer : ContentView
{
public CV_retirer()
{
InitializeComponent();
}
private void Button_Clicked(object sender, EventArgs e)
{
}
private void Button_Clicked_1(object sender, EventArgs e)
{
}
}

@ -0,0 +1,41 @@
<?xml version="1.0" encoding="utf-8" ?>
<ContentView xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="IHM.Desktop.CV_supprimerOp">
<Grid BackgroundColor="{StaticResource Secondary}">
<Grid.RowDefinitions>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="2*"/>
<RowDefinition Height="2*"/>
<RowDefinition Height="2*"/>
<RowDefinition Height="2*"/>
<RowDefinition Height="2*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Label Text="Supprimer une opération" Grid.Column="1" Grid.Row="0" Grid.ColumnSpan="3" Style="{StaticResource TitreWindows}"/>
<Label Text="Nom" Grid.Column="1" Grid.Row="2" Style="{StaticResource TitreWindows}" Margin="20"/>
<Label Text="Montant" Grid.Column="1" Grid.Row="3" Style="{StaticResource TitreWindows}" Margin="20"/>
<Label Text="Type" Grid.Column="1" Grid.Row="4" Style="{StaticResource TitreWindows}" Margin="20"/>
<Label Text="Date" Grid.Column="1" Grid.Row="5" Style="{StaticResource TitreWindows}" Margin="20"/>
<Entry Placeholder="Entrez un nom" Grid.Column="3" Grid.Row="2" Style="{StaticResource zoneDeTexte}" Margin="20"/>
<Entry Placeholder="Entrez un montant" Grid.Column="3" Grid.Row="3" Style="{StaticResource zoneDeTexte}" Margin="20"/>
<Entry Placeholder="Entrez un type de transaction" Grid.Column="3" Grid.Row="4" Style="{StaticResource zoneDeTexte}" Margin="20"/>
<DatePicker Grid.Column="3" Grid.Row="5" BackgroundColor="{StaticResource Secondary}" Margin="20"/>
<Button Text="ANNULER" Clicked="Button_Clicked" Grid.Column="1" Grid.Row="6" Style="{StaticResource WindowsButton}"/>
<Button Text="VALIDER" Clicked="Button_Clicked_1" Grid.Column="3" Grid.Row="6" Style="{StaticResource WindowsButton}"/>
</Grid>
</ContentView>

@ -0,0 +1,19 @@
namespace IHM.Desktop;
public partial class CV_supprimerOp : ContentView
{
public CV_supprimerOp()
{
InitializeComponent();
}
private void Button_Clicked(object sender, EventArgs e)
{
}
private void Button_Clicked_1(object sender, EventArgs e)
{
}
}

@ -1,32 +1,86 @@
<?xml version="1.0" encoding="utf-8" ?>
<ContentView xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="IHM.Desktop.Compte"
BackgroundColor="{StaticResource Yellow300Accent}">
x:Class="IHM.Desktop.Compte">
<StackLayout Margin="20" Orientation="Vertical">
<Label
Text="VOTRE COMPTE"
VerticalOptions="StartAndExpand"
Style="{StaticResource TitreWindows}"/>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="0.7*"/>
<RowDefinition Height="5*"/>
<RowDefinition Height="1*"/>
<Label
FontAttributes="Bold"
Text="Compte courant --- 'BINDING'"
HorizontalOptions="Center"
VerticalOptions="CenterAndExpand"
FontFamily="Comic Sans MS"
FontSize="20"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<StackLayout Grid.Row="0" Grid.ColumnSpan="2">
<Label
Style="{StaticResource TitreWindows}"
Text="COMPTE"
HorizontalOptions="Center"/>
</StackLayout>
<Button
x:Name="ConnexionButton"
Text="Modifier votre solde"
Style="{StaticResource WindowsButton}"
VerticalOptions="Fill"/>
Clicked="AddCredit_Clicked"
Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="1"
x:Name="AddCredit"
Text="Modifier le solde"
Style="{StaticResource WindowsButton}"/>
<ListView ItemsSource="{Binding }">
</StackLayout>
</ListView>
<ContentView BackgroundColor="{StaticResource Yellow300Accent}" Grid.Column="0" Grid.Row="2" Grid.ColumnSpan="2" Grid.RowSpan="2" x:Name="windowAjout">
<CollectionView ItemsSource="{Binding}" Grid.Row="2" Grid.ColumnSpan="4" Grid.RowSpan="2">
<CollectionView.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Label Grid.Column="0" Text="{Binding Nom}"
TextColor="{StaticResource Secondary}"
FontAttributes="Bold" FontSize="Body"
HorizontalOptions="Center"
VerticalOptions="Center"/>
<Label Grid.Column="1" Text="{Binding Solde}"
TextColor="{StaticResource Secondary}"
FontAttributes="Bold" FontSize="Body"
HorizontalOptions="Center"
VerticalOptions="Center"/>
</Grid>
</DataTemplate>
</CollectionView.ItemTemplate>
</CollectionView>
</ContentView>
</Grid>
</ContentView>

@ -1,10 +1,24 @@
using Model;
namespace IHM.Desktop;
public partial class Compte : ContentView
{
public Compte()
public Compte()
{
InitializeComponent();
Model.Compte compte = new Model.Compte("compte courant", 2000);
BindingContext = compte;
}
private void AddCredit_Clicked(object sender, EventArgs e)
{
windowAjout.Content = new CV_modificationSolde();
}
}

@ -28,15 +28,14 @@
</StackLayout>
<Image Source="logo_sans_fond.png" HeightRequest="100" Margin="50,10,0,0" Grid.Column="0" Grid.Row="0"/>
<Button Text="Mon compte" BackgroundColor="{StaticResource Yellow100Accent}" TextColor="{StaticResource Secondary}" Grid.Column="4" Grid.Row="0" MaximumWidthRequest="200" MaximumHeightRequest="50" ></Button>
<Button Text="Mon compte" ImageSource="logo_sans_fond.png" x:Name="ButLog" BackgroundColor="{StaticResource Yellow100Accent}" TextColor="{StaticResource Secondary}" Grid.Column="4" Grid.Row="0" MaximumWidthRequest="200" MaximumHeightRequest="50" Clicked="ButLog_Clicked"></Button>
<StackLayout BackgroundColor="{StaticResource Secondary}" Grid.Row="1" Grid.Column="0" Grid.RowSpan="6">
<!--<Button Text="ACCUEIL" BackgroundColor="{StaticResource Tertiary}" TextColor="{StaticResource White}" Padding="20" Margin="21" Grid.Column="0" Grid.Row="1" ></Button>-->
<Button Text="ACCUEIL" x:Name="ButAcc" BackgroundColor="{StaticResource Yellow100Accent}" TextColor="{StaticResource Secondary}" Padding="20" Margin="21" Grid.Column="0" Grid.Row="1" ></Button>
<Button Text="COMPTE" x:Name="ButCom" BackgroundColor="{StaticResource Yellow100Accent}" TextColor="{StaticResource Secondary}" Padding="20" Margin="21" Grid.Column="0" Grid.Row="2" Clicked="Button_compte"></Button>
<Button Text="OPERATION" x:Name="ButOpe" BackgroundColor="{StaticResource Yellow100Accent}" TextColor="{StaticResource Secondary}" Padding="20" Margin="21" Grid.Column="0" Grid.Row="3" Clicked="Button_operation"></Button>
<Button Text="ECHEANCIER" x:Name="ButEch" BackgroundColor="{StaticResource Yellow100Accent}" TextColor="{StaticResource Secondary}" Padding="20" Margin="21" Grid.Column="0" Grid.Row="4" Clicked="Button_echeancier"></Button>
<Button Text="PLANIFICATION" x:Name="ButPla" BackgroundColor="{StaticResource Yellow100Accent}" TextColor="{StaticResource Secondary}" Padding="20" Margin="21" Grid.Column="0" Grid.Row="5" Clicked="Button_planification"></Button>
<Button Text="STATISTIQUES" x:Name="ButSta" BackgroundColor="{StaticResource Yellow100Accent}" TextColor="{StaticResource Secondary}" Padding="20" Margin="21" Grid.Column="0" Grid.Row="6"></Button>
<Button Text="ACCUEIL" ImageSource="home_black.png" MaximumWidthRequest="200" MaximumHeightRequest="60" x:Name="ButAcc" BackgroundColor="{StaticResource Yellow100Accent}" TextColor="{StaticResource Secondary}" Padding="20" Margin="21" Grid.Column="0" Grid.Row="1" Clicked="ButAcc_Clicked" ></Button>
<Button Text="COMPTE" x:Name="ButCom" ImageSource="dollar_black.png" MaximumWidthRequest="200" MaximumHeightRequest="60" BackgroundColor="{StaticResource Yellow100Accent}" TextColor="{StaticResource Secondary}" Padding="20" Margin="21" Grid.Column="0" Grid.Row="2" Clicked="Button_compte"></Button>
<Button Text="OPERATION" x:Name="ButOpe" ImageSource="home_black.png" MaximumWidthRequest="200" MaximumHeightRequest="60" BackgroundColor="{StaticResource Yellow100Accent}" TextColor="{StaticResource Secondary}" Padding="20" Margin="21" Grid.Column="0" Grid.Row="3" Clicked="Button_operation"></Button>
<Button Text="ECHEANCIER" x:Name="ButEch" ImageSource="home_black.png" MaximumWidthRequest="200" MaximumHeightRequest="60" BackgroundColor="{StaticResource Yellow100Accent}" TextColor="{StaticResource Secondary}" Padding="20" Margin="21" Grid.Column="0" Grid.Row="4" Clicked="Button_echeancier"></Button>
<Button Text="PLANIFICATION" x:Name="ButPla" ImageSource="planification_black.png" MaximumWidthRequest="200" MaximumHeightRequest="60" BackgroundColor="{StaticResource Yellow100Accent}" TextColor="{StaticResource Secondary}" Padding="20" Margin="21" Grid.Column="0" Grid.Row="5" Clicked="Button_planification"></Button>
<Button Text="STATISTIQUES" x:Name="ButSta" ImageSource="home_black.png" MaximumWidthRequest="200" MaximumHeightRequest="60" BackgroundColor="{StaticResource Yellow100Accent}" TextColor="{StaticResource Secondary}" Padding="20" Margin="21" Grid.Column="0" Grid.Row="6" Clicked="Button_statistiques"></Button>
</StackLayout>

@ -8,23 +8,24 @@ public partial class Dashboard
public Dashboard()
{
InitializeComponent();
}
private void RetourFormeBase()
{
ButPla.BackgroundColor = Colors.Yellow; ButPla.TextColor = Colors.Black;
ButEch.BackgroundColor = Colors.Yellow; ButEch.TextColor = Colors.Black;
ButOpe.BackgroundColor = Colors.Yellow; ButOpe.TextColor = Colors.Black;
ButCom.BackgroundColor = Colors.Yellow; ButCom.TextColor = Colors.Black;
ButAcc.BackgroundColor = Colors.Yellow; ButAcc.TextColor = Colors.Black;
ButSta.BackgroundColor = Colors.Yellow; ButSta.TextColor = Colors.Black;
ButPla.BackgroundColor = Color.FromArgb("F7B548"); ButPla.TextColor = Colors.Black;
ButEch.BackgroundColor = Color.FromArgb("F7B548"); ButEch.TextColor = Colors.Black;
ButOpe.BackgroundColor = Color.FromArgb("F7B548"); ButOpe.TextColor = Colors.Black;
ButCom.BackgroundColor = Color.FromArgb("F7B548"); ButCom.TextColor = Colors.Black;
ButAcc.BackgroundColor = Color.FromArgb("F7B548"); ButAcc.TextColor = Colors.Black;
ButSta.BackgroundColor = Color.FromArgb("F7B548"); ButSta.TextColor = Colors.Black;
}
private void Button_planification(object sender, EventArgs e)
{
RetourFormeBase();
ButPla.TextColor = Colors.White;
ButPla.BackgroundColor = Colors.Red;
ButPla.BackgroundColor = Color.FromArgb("DF775C");
mainCV.Content= new CV_Planification();
}
@ -32,7 +33,7 @@ public partial class Dashboard
{
RetourFormeBase();
ButEch.TextColor = Colors.White;
ButEch.BackgroundColor = Colors.Red;
ButEch.BackgroundColor = Color.FromArgb("DF775C");
mainCV.Content = new Echeancier();
}
@ -40,7 +41,7 @@ public partial class Dashboard
{
RetourFormeBase();
ButOpe.TextColor = Colors.White;
ButOpe.BackgroundColor = Colors.Red;
ButOpe.BackgroundColor = Color.FromArgb("DF775C");
mainCV.Content = new Operations();
}
@ -48,12 +49,32 @@ public partial class Dashboard
{
RetourFormeBase();
ButCom.TextColor = Colors.White;
ButCom.BackgroundColor = Colors.Red;
ButCom.BackgroundColor = Color.FromArgb("DF775C");
mainCV.Content = new Compte();
}
private void Button_Clicked(object sender, EventArgs e)
private void Button_statistiques(object sender, EventArgs e)
{
RetourFormeBase();
ButSta.TextColor = Colors.White;
ButSta.BackgroundColor = Color.FromArgb("DF775C");
mainCV.Content = new CV_Statistiques();
}
}
private void ButAcc_Clicked(object sender, EventArgs e)
{
RetourFormeBase();
ButAcc.TextColor = Colors.White;
ButAcc.BackgroundColor = Color.FromArgb("DF775C");
mainCV.Content = new CV_HomePage();
}
private void ButLog_Clicked(object sender, EventArgs e)
{
RetourFormeBase();
ButLog.TextColor = Colors.White;
ButLog.BackgroundColor = Color.FromArgb("DF775C");
mainCV.Content = new CV_Log();
}
}

@ -2,44 +2,152 @@
<ContentView xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="IHM.Desktop.Echeancier"
BackgroundColor="{StaticResource Yellow300Accent}">
>
<VerticalStackLayout Margin="20">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="0.7*"/>
<RowDefinition Height="5*"/>
<RowDefinition Height="1*"/>
<Label
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<StackLayout Grid.Row="0" Grid.ColumnSpan="2">
<Label
Style="{StaticResource TitreWindows}"
Text="ECHEANCIER"
VerticalOptions="StartAndExpand"/>
HorizontalOptions="Center"/>
</StackLayout>
<HorizontalStackLayout HorizontalOptions="Center" VerticalOptions="Fill">
<Button
<Button
Clicked="SaveEcheance_Clicked"
Grid.Column="0" Grid.Row="1"
x:Name="SaveEcheance"
Text="Enregistrer une échéance"
Style="{StaticResource WindowsButton}"/>
<Button
<Button
Clicked="DelEcheance_Clicked"
Grid.Column="1" Grid.Row="1"
x:Name="DelEcheance"
Text="Supprimer une échéance"
Style="{StaticResource WindowsButton}"/>
</HorizontalStackLayout>
<HorizontalStackLayout HorizontalOptions="Center" VerticalOptions="Fill">
<ContentView BackgroundColor="{StaticResource Yellow300Accent}" Grid.Column="0" Grid.Row="2" Grid.ColumnSpan="4" Grid.RowSpan="2" x:Name="windowAjout">
<CollectionView ItemsSource="{Binding}" Grid.Row="2" Grid.ColumnSpan="4" Grid.RowSpan="2">
<CollectionView.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Label Grid.Column="0" Text="{Binding IntituleOperation}"
TextColor="{StaticResource Secondary}"
FontAttributes="Bold" FontSize="Body"
HorizontalOptions="Center"
VerticalOptions="Center"/>
<Label Grid.Column="1" Text="{Binding DateOperation}"
TextColor="{StaticResource Secondary}"
FontAttributes="Bold" FontSize="Body"
HorizontalOptions="Center"
VerticalOptions="Center"/>
<Label Grid.Column="2" Text="{Binding ModePayement}"
TextColor="{StaticResource Secondary}"
FontAttributes="Bold" FontSize="Body"
HorizontalOptions="Center"
VerticalOptions="Center"/>
<Label Grid.Column="3" Text="{Binding Tag}"
TextColor="{StaticResource Secondary}"
FontAttributes="Bold" FontSize="Body"
HorizontalOptions="Center"
VerticalOptions="Center"/>
<Label Grid.Column="4" Text="{Binding Montant}"
TextColor="{StaticResource Secondary}"
FontAttributes="Bold" FontSize="Body"
HorizontalOptions="Center"
VerticalOptions="Center"/>
</Grid>
</DataTemplate>
</CollectionView.ItemTemplate>
</CollectionView>
</ContentView>
<CollectionView Grid.Row="4" Grid.Column="0" Grid.ColumnSpan="2" ItemsSource="{Binding LesOpe}">
<CollectionView.ItemTemplate>
<DataTemplate>
<Grid Padding="10">
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<ImageButton Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2"
Source="{Binding ImageSrc}"
CornerRadius="10"/>
<Label Grid.Row="0" Grid.Column="1"
Text="{Binding NomOpe}"
FontAttributes="Bold" />
<Label Grid.Row="1" Grid.Column="1"
Text="{Binding DetailTypeOpe}"
FontAttributes="Italic"/>
<Label Grid.Row="0" Grid.Column="2"
Text="{Binding DateOpe}"/>
<Label Grid.Row="0" Grid.Column="3" Grid.ColumnSpan="2"
Text="{Binding MontantOpe}"
FontAttributes="Bold"/>
</Grid>
</DataTemplate>
</CollectionView.ItemTemplate>
</CollectionView>
<Border Background="{StaticResource Primary}"
Style="{StaticResource TotalButton}">
<Label Text=" -- BINDING -- " FontFamily="Comic sans MS"/>
</Border>
<Border Background="{StaticResource Tertiary}"
Style="{StaticResource TotalButton}">
<Label Text=" -- BINDING -- " FontFamily="Comic sans MS"/>
</Border>
</HorizontalStackLayout>
</Grid>
</VerticalStackLayout>
</ContentView>

@ -1,9 +1,40 @@
using Model;
namespace IHM.Desktop;
public partial class Echeancier : ContentView
{
List<Echeance> echeancier;
public Echeancier()
{
InitializeComponent();
echeancier = new List<Echeance>();
echeancier.Add(new("Eau", 55, DateTime.Now, MethodePayement.CB, TagOperation.Divers, true));
echeancier.Add(new("Amazon", 103.30, DateTime.Now, MethodePayement.CB, TagOperation.Divers, true));
echeancier.Add(new("Mutuelle", 38.50, DateTime.Now, MethodePayement.Prevelement, TagOperation.Santé, true));
echeancier.Add(new("Loyer", 500, DateTime.Now, MethodePayement.Virement, TagOperation.Habitation, true));
echeancier.Add(new("Eau", 55, DateTime.Now, MethodePayement.CB, TagOperation.Divers, true));
echeancier.Add(new("Amazon", 103.30, DateTime.Now, MethodePayement.CB, TagOperation.Divers, true));
echeancier.Add(new("Mutuelle", 38.50, DateTime.Now, MethodePayement.Prevelement, TagOperation.Santé, true));
echeancier.Add(new("Loyer", 500, DateTime.Now, MethodePayement.Virement, TagOperation.Habitation, true));
echeancier.Add(new("Eau", 55, DateTime.Now, MethodePayement.CB, TagOperation.Divers, true));
echeancier.Add(new("Amazon", 103.30, DateTime.Now, MethodePayement.CB, TagOperation.Divers, true));
echeancier.Add(new("Mutuelle", 38.50, DateTime.Now, MethodePayement.Prevelement, TagOperation.Santé, true));
echeancier.Add(new("Loyer", 500, DateTime.Now, MethodePayement.Virement, TagOperation.Habitation, true));
BindingContext = echeancier;
}
private void SaveEcheance_Clicked(object sender, EventArgs e)
{
windowAjout.Content = new CV_EnregistrerEcheance();
}
private void DelEcheance_Clicked(object sender, EventArgs e)
{
windowAjout.Content = new CV_SupprimerEcheance();
}
}

@ -41,7 +41,8 @@ public partial class MainPage : ContentPage
private async void ConnexionValide()
{
await Navigation.PopModalAsync();
Navigation.PushAsync(new Dashboard());
//await Navigation.PopModalAsync();
}
private async void AffichError(string s, string s1, string s2)

@ -1,37 +1,124 @@
<?xml version="1.0" encoding="utf-8" ?>
<ContentView xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="IHM.Desktop.Operations"
BackgroundColor="{StaticResource Yellow300Accent}">
<VerticalStackLayout Margin="20">
<Label
x:Class="IHM.Desktop.Operations">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="0.7*"/>
<RowDefinition Height="5*"/>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<StackLayout Grid.Row="0" Grid.ColumnSpan="4">
<Label
Style="{StaticResource TitreWindows}"
Text="OPERATION"
VerticalOptions="StartAndExpand"/>
Text="OPERATIONS"
HorizontalOptions="Center"/>
</StackLayout>
<HorizontalStackLayout HorizontalOptions="Center">
<Button
<Button
Clicked="AddCredit_Clicked"
Grid.Column="0" Grid.Row="1"
x:Name="AddCredit"
Text="Effectuer un crédit"
Style="{StaticResource WindowsButton}"/>
<Button
<Button
Clicked="RetireOperation_Clicked"
Grid.Column="1" Grid.Row="1"
x:Name="RetireOperation"
Text="Retirer une opération"
Style="{StaticResource WindowsButton}"/>
<Button
<Button
Clicked="AddDebit_Clicked"
Grid.Column="2" Grid.Row="1"
x:Name="AddDebit"
Text="effectuer un débit"
Text="Effectuer un débit"
Style="{StaticResource WindowsButton}"/>
<Button
<Button
Clicked="DelOperation_Clicked"
Grid.Column="3" Grid.Row="1"
x:Name="DelOperation"
Text="Supprimer une opération"
Style="{StaticResource WindowsButton}"/>
</HorizontalStackLayout>
</VerticalStackLayout>
<ContentView BackgroundColor="{StaticResource Yellow300Accent}" Grid.Column="0" Grid.Row="2" Grid.ColumnSpan="4" Grid.RowSpan="2" x:Name="windowAjout">
<CollectionView ItemsSource="{Binding}" Grid.Row="2" Grid.ColumnSpan="4" Grid.RowSpan="2">
<CollectionView.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Label Grid.Column="0" Text="{Binding IntituleOperation}"
TextColor="{StaticResource Secondary}"
FontAttributes="Bold" FontSize="Body"
HorizontalOptions="Center"
VerticalOptions="Center"/>
<Label Grid.Column="1" Text="{Binding DateOperation}"
TextColor="{StaticResource Secondary}"
FontAttributes="Bold" FontSize="Body"
HorizontalOptions="Center"
VerticalOptions="Center"/>
<Label Grid.Column="2" Text="{Binding ModePayement}"
TextColor="{StaticResource Secondary}"
FontAttributes="Bold" FontSize="Body"
HorizontalOptions="Center"
VerticalOptions="Center"/>
<Label Grid.Column="3" Text="{Binding Tag}"
TextColor="{StaticResource Secondary}"
FontAttributes="Bold" FontSize="Body"
HorizontalOptions="Center"
VerticalOptions="Center"/>
<Label Grid.Column="4" Text="{Binding Montant}"
TextColor="{StaticResource Secondary}"
FontAttributes="Bold" FontSize="Body"
HorizontalOptions="Center"
VerticalOptions="Center"/>
</Grid>
</DataTemplate>
</CollectionView.ItemTemplate>
</CollectionView>
</ContentView>
</Grid>
</ContentView>

@ -1,9 +1,63 @@
using Model;
namespace IHM.Desktop;
public partial class Operations : ContentView
{
public Operations()
List<Operation> operations;
public Operations()
{
InitializeComponent();
// Temporaire pour établir le binding de la vue
operations = new List<Operation>();
operations.Add(new("op", 33.44, DateTime.Now, MethodePayement.CB, TagOperation.Divers, false));
operations.Add(new("course", 45.20, DateTime.Now, MethodePayement.CB, TagOperation.Divers, true));
operations.Add(new("Orange", 50, DateTime.Now, MethodePayement.CB, TagOperation.Divers, true));
operations.Add(new("EDF", 55.80, DateTime.Now, MethodePayement.Virement, TagOperation.Energie, true));
operations.Add(new("op", 33.44, DateTime.Now, MethodePayement.CB, TagOperation.Divers, false));
operations.Add(new("course", 45.20, DateTime.Now, MethodePayement.CB, TagOperation.Divers, true));
operations.Add(new("Orange", 50, DateTime.Now, MethodePayement.CB, TagOperation.Divers, true));
operations.Add(new("EDF", 55.80, DateTime.Now, MethodePayement.Virement, TagOperation.Energie, true));
operations.Add(new("op", 33.44, DateTime.Now, MethodePayement.CB, TagOperation.Divers, false));
operations.Add(new("course", 45.20, DateTime.Now, MethodePayement.CB, TagOperation.Divers, true));
operations.Add(new("Orange", 50, DateTime.Now, MethodePayement.CB, TagOperation.Divers, true));
operations.Add(new("EDF", 55.80, DateTime.Now, MethodePayement.Virement, TagOperation.Energie, true));
operations.Add(new("op", 33.44, DateTime.Now, MethodePayement.CB, TagOperation.Divers, false));
operations.Add(new("course", 45.20, DateTime.Now, MethodePayement.CB, TagOperation.Divers, true));
operations.Add(new("Orange", 50, DateTime.Now, MethodePayement.CB, TagOperation.Divers, true));
operations.Add(new("EDF", 55.80, DateTime.Now, MethodePayement.Virement, TagOperation.Energie, true));
operations.Add(new("op", 33.44, DateTime.Now, MethodePayement.CB, TagOperation.Divers, false));
operations.Add(new("course", 45.20, DateTime.Now, MethodePayement.CB, TagOperation.Divers, true));
operations.Add(new("Orange", 50, DateTime.Now, MethodePayement.CB, TagOperation.Divers, true));
operations.Add(new("EDF", 55.80, DateTime.Now, MethodePayement.Virement, TagOperation.Energie, true));
BindingContext = operations;
}
private void AddCredit_Clicked(object sender, EventArgs e)
{
windowAjout.Content = new CV_credit();
}
private void RetireOperation_Clicked(object sender, EventArgs e)
{
windowAjout.Content = new CV_retirer();
}
private void AddDebit_Clicked(object sender, EventArgs e)
{
windowAjout.Content = new CV_debit();
}
private void DelOperation_Clicked(object sender, EventArgs e)
{
windowAjout.Content = new CV_supprimerOp();
}
}

@ -29,7 +29,6 @@
<Image Source="logo_sans_fond.png" HeightRequest="100" Margin="50,10,0,0" Grid.Column="0" Grid.Row="0"/>
<Button Text="Mon compte" BackgroundColor="{StaticResource Yellow100Accent}" TextColor="{StaticResource Secondary}" Grid.Column="4" Grid.Row="0" MaximumWidthRequest="200" MaximumHeightRequest="50" ></Button>
<StackLayout BackgroundColor="{StaticResource Secondary}" Grid.Row="1" Grid.Column="0" Grid.RowSpan="6">
<Button Text="ACCUEIL" BackgroundColor="{StaticResource Yellow100Accent}" TextColor="{StaticResource Secondary}" Padding="20" Margin="21" Grid.Column="0" Grid.Row="1" ></Button>
<Button Text="COMPTE" BackgroundColor="{StaticResource Yellow100Accent}" TextColor="{StaticResource Secondary}" Padding="20" Margin="21" Grid.Column="0" Grid.Row="2"></Button>
<Button Text="OPERATION" BackgroundColor="{StaticResource Yellow100Accent}" TextColor="{StaticResource Secondary}" Padding="20" Margin="21" Grid.Column="0" Grid.Row="3"></Button>

@ -80,6 +80,8 @@
</ItemGroup>
<ItemGroup>
<Compile Remove="Desktop\CV_retirer.cs" />
<Compile Remove="Desktop\Planification.xaml.cs" />
<None Remove="Resources\Images\AjoutBanques\add_new_banks.png" />
<None Remove="Resources\Images\AjoutBanques\import_from_file.png" />
<None Remove="Resources\Images\DashBoard\account_banks.png" />
@ -125,9 +127,42 @@
<MauiXaml Update="Desktop\CV_AddPlanification.xaml">
<Generator>MSBuild:Compile</Generator>
</MauiXaml>
<MauiXaml Update="Desktop\CV_credit.xaml">
<Generator>MSBuild:Compile</Generator>
</MauiXaml>
<MauiXaml Update="Desktop\CV_debit.xaml">
<Generator>MSBuild:Compile</Generator>
</MauiXaml>
<MauiXaml Update="Desktop\CV_DeletePlanification.xaml">
<Generator>MSBuild:Compile</Generator>
</MauiXaml>
<MauiXaml Update="Desktop\CV_EnregistrerEcheance.xaml">
<Generator>MSBuild:Compile</Generator>
</MauiXaml>
<MauiXaml Update="Desktop\CV_HomePage.xaml">
<Generator>MSBuild:Compile</Generator>
</MauiXaml>
<MauiXaml Update="Desktop\CV_Log.xaml">
<Generator>MSBuild:Compile</Generator>
</MauiXaml>
<MauiXaml Update="Desktop\CV_modificationSolde.xaml">
<Generator>MSBuild:Compile</Generator>
</MauiXaml>
<MauiXaml Update="Desktop\CV_Planification.xaml">
<Generator>MSBuild:Compile</Generator>
</MauiXaml>
<MauiXaml Update="Desktop\CV_retirer.xaml">
<Generator>MSBuild:Compile</Generator>
</MauiXaml>
<MauiXaml Update="Desktop\CV_Statistiques.xaml">
<Generator>MSBuild:Compile</Generator>
</MauiXaml>
<MauiXaml Update="Desktop\CV_SupprimerEcheance.xaml">
<Generator>MSBuild:Compile</Generator>
</MauiXaml>
<MauiXaml Update="Desktop\CV_supprimerOp.xaml">
<Generator>MSBuild:Compile</Generator>
</MauiXaml>
<MauiXaml Update="Desktop\DashBoard.xaml">
<Generator>MSBuild:Compile</Generator>
</MauiXaml>

@ -403,11 +403,12 @@
<Setter Property="FontFamily" Value="Comic sans MS"/>
<Setter Property="FontSize" Value="30"/>
<Setter Property="HorizontalOptions" Value="Center"/>
<Setter Property="TextColor" Value="{StaticResource Yellow300Accent}"/>
</Style>
<Style TargetType="Button" x:Key="WindowsButton">
<Setter Property="TextColor" Value="Black"/>
<Setter Property="Margin" Value="20"/>
<Setter Property="Margin" Value="10"/>
<Setter Property="CornerRadius" Value="20"/>
<Setter Property="BorderWidth" Value="1"/>
<Setter Property="BorderColor" Value="Black"/>
@ -417,7 +418,7 @@
<Style TargetType="Border" x:Key="TotalButton">
<Setter Property="StrokeThickness" Value="1"/>
<Setter Property="Padding" Value="250,8"/>
<Setter Property="Padding" Value="200,8"/>
<Setter Property="StrokeShape" Value="RoundRectangle 10,10,10,10"/>
<Setter Property="Stroke" Value="Black"/>
</Style>

@ -12,7 +12,15 @@ namespace Model
{
public event PropertyChangedEventHandler PropertyChanged;
public string Nom { get; private set; }
/// <summary>
/// UrlSite sert à identifier l'URL du site de la banque.
/// </summary>
public string UrlSite { get; private set; }
/// <summary>
/// UrlLogo sert à obtenir le logo de la banque.
/// </summary>
public string UrlLogo { get; private set; }
public List<Compte> ListeDesComptes
{
@ -47,11 +55,20 @@ namespace Model
ListeDesComptes.Add(compte);
}
/// <summary>
/// Permet de supprimer un compte à ListeDesComptes
/// </summary>
/// <param name="compte"> Représente le compte qui doit être supprimer de ListeDesComptes. </param>
public void SupprimerCompte(Compte compte)
{
ListeDesComptes.Remove(compte);
}
/// <summary>
/// Permet de vérifier si un compte dont le nom est passé en paramètre existe bien dans ListeDesComptes.
/// </summary>
/// <param name="s"> Nom du compte dont on souhaite savoir si il est présent dans ListeDesComptes. </param>
/// <returns> Boolean égale à True si le compte existe dans la liste.</returns>
public bool ExisteCompte(string s)
{
foreach (Compte compte in ListeDesComptes)
@ -61,6 +78,13 @@ namespace Model
}
return false;
}
/// <summary>
/// Permet d'obtenir le compte dont le nom est passé en paramètre dans la ListeDesComptes.
/// </summary>
/// <param name="s"> Nom du compte que l'on souhaite retourner. </param>
/// <returns> L'objet de type compte que l'on souhaite retourner. </returns>
public Compte ReturnCompte(string s)
{
foreach (Compte compte in ListeDesComptes)

@ -66,6 +66,15 @@ namespace Model
LesEch = lesEch;
}
/// <summary>
/// Permet de modifier le solde présent sur le compte.
/// </summary>
/// <param name="s">Nouvelle quantité d'argent présent sur le compte.</param>
public void modifierSolde(double s)
{
Solde = s;
}
void OnPropertyChanged(string propertyName) => PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
@ -80,36 +89,61 @@ namespace Model
throw new NotImplementedException();
}
/// <summary>
/// Permet de supprimer une operation de la liste LesOpe
/// </summary>
/// <param name="o">Objet de type operation devant être supprimé de la liste</param>
public void supprimerOperation(Operation o)
{
LesOpe.Remove(o);
}
/// <summary>
/// Sert à ajouter une echenance à la liste LesEch
/// </summary>
/// <param name="e">Objet de type échéance à ajouter à la liste</param>
/// <exception cref="NullReferenceException">Déclenchée quand l'opération placé en paramètre est nulle.</exception>
public void ajoutEcheance(Echeance e)
{
if (e == null) throw new NullReferenceException();
LesEch.Add(e);
}
/// <summary>
/// Permet de supprimer une echeance de la liste LesEch
/// </summary>
/// <param name="e">Objet de type echeance devant être supprimé de la liste</param>
public void supprimerEcheance(Echeance e)
{
LesEch.Remove(e);
}
public void ajoutPlannification(Planification p)
/// <summary>
/// Sert à ajouter une planification à la liste LesPla
/// </summary>
/// <param name="p">Objet de type planification à ajouter à la liste</param>
/// <exception cref="NullReferenceException">Déclenchée quand l'opération placé en paramètre est nulle.</exception>
public void ajoutPlanification(Planification p)
{
if (p == null) throw new NullReferenceException();
LesPla.Add(p);
}
public void supprimerPlannification(Planification p)
/// <summary>
/// Permet de supprimer une planification de la liste LesPla
/// </summary>
/// <param name="p">Objet de type planification devant être supprimé de la liste</param>
public void supprimerPlanification(Planification p)
{
LesPla.Remove(p);
}
/// <summary>
/// Permet de rédéfinir la méthode Equals en comparant le type des 2 objets.
/// </summary>
/// <param name="obj">L'objet dont on souhaite savoir s'il est de type compte</param>
public override bool Equals(object obj)
{
if (obj == null || GetType() != obj.GetType())
{
return false;

@ -6,6 +6,9 @@ using System.Threading.Tasks;
namespace Model
{
/// <summary>
/// Représente toute les monnaies pouvant être utilisé pour l'application.
/// </summary>
public enum Devises
{
Livre_sterling,

@ -4,6 +4,7 @@ using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Text.Json.Serialization;
using System.Threading.Tasks;
namespace Model

@ -10,7 +10,6 @@ namespace Model
public static class Hash
{
public static string CreateHashCode(string mdp)
{
string hashString = "";
byte[] hash;

@ -18,6 +18,9 @@ namespace Model
public string Nom { get; set; }
public string Prenom { get; set; }
/// <summary>
/// Représente l'adresse mail de l'inscrit.
/// </summary>
public string Mail
{
get => mail;
@ -36,8 +39,9 @@ namespace Model
}
private string mail;
/// <summary>
/// Représente le mot de passe de l'inscrit pour se connecter à son compte.
/// </summary>
public string Mdp
{
get => mdp;
@ -63,6 +67,10 @@ namespace Model
void OnPropertyChanged(string propertyName) => PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
public double SoldeTotal { get; private set; }
/// <summary>
/// Type de monnaie pour laquel est le solde total.
/// </summary>
public Devises Dev { get; private set; }
public IList<Banque> LesBanques
{
@ -106,12 +114,20 @@ namespace Model
LesBanques.Add(banque);
}
/// <summary>
/// Permet de supprimer une banque de la liste LesBanques
/// </summary>
/// <param name="banque"> Objet de type banque correspondant à la banque qui doit être supprimé de la liste.</param>
public void SupprimerBanque(Banque banque)
{
LesBanques.Remove(banque);
}
/// <summary>
/// Permet de changer la devise utilisé pour le solde total
/// </summary>
/// <param name="devise">Correspond à la devise devant être utilisé.</param>
public void ChoisirDevise(Devises devise)
{
Dev = devise;

@ -6,12 +6,23 @@ using System.Threading.Tasks;
namespace Model
{
/// <summary>
/// Exception déclenché lorsque un mail invalide est rentré.
/// </summary>
public class InvalidMailException : ArgumentException
{
/// <summary>
/// Représente le mail invalide.
/// </summary>
private string Mail { get; set; }
public InvalidMailException():base()
{ }
/// <summary>
/// Stocke le mail invalide dans la variable Mail et rentre le message d'erreur.
/// </summary>
/// <param name="mail">Le mail qui est invalide</param>
public InvalidMailException(string mail):
base(String.Format("{0} n'est pas un mail valide.", mail))
{

@ -6,12 +6,24 @@ using System.Threading.Tasks;
namespace Model
{
/// <summary>
/// Excepion déclenchée lorsque un mot de passe est invalide.
/// </summary>
public class InvalidPasswordException : ArgumentException
{
/// <summary>
/// Représente le mot de passe invalide.
/// </summary>
private string Mdp { get; set; }
public InvalidPasswordException() : base()
{ }
/// <summary>
/// Stocke le mot de passe invalide dans la variable Mdp et rentre le message d'erreur.
/// </summary>
/// <param name="mdp">Le mot de passe qui est invalide</param>
///
public InvalidPasswordException(string mdp) :
base(String.Format("{0} n'est pas un mot de passe valide.", mdp))
{

@ -4,9 +4,13 @@ using System.Diagnostics;
namespace Model
{
/// <summary>
/// Permet de faire le lien entre le modèle et la base de donnée..
/// </summary>
public class Manager : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
public IPersistanceManager Pers { get; private set; }
private Inscrit user;

@ -9,10 +9,10 @@ namespace Model
public enum MethodePayement
{
None,
Cb,
Esp,
Chq,
Vir,
Pre
CB,
Espece,
Cheque,
Virement,
Prevelement
}
}

@ -4,6 +4,7 @@ using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Text.Json.Serialization;
using System.Threading.Tasks;
namespace Model

@ -5,6 +5,7 @@ using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Text.Json.Serialization;
using System.Threading.Tasks;
namespace Model

Loading…
Cancel
Save