Binding essai encore
continuous-integration/drone/push Build was killed Details

developpement
Liam MONCHANIN 2 years ago
parent ff86a3943d
commit 87533de711

@ -1,11 +1,11 @@
using Microsoft.VisualBasic; using Microsoft.VisualBasic;
namespace Biblioteque_de_Class namespace Biblioteque_de_Class
{ {
public class PersistenceManager public class PersistenceManager
{ {
private Database db = new(); private Database db = new();
private readonly IManager persistence; private readonly IManager persistence;
public PersistenceManager(IManager pers) public PersistenceManager(IManager pers)
@ -13,17 +13,17 @@ namespace Biblioteque_de_Class
persistence = pers; persistence = pers;
} }
public void SaveDatabaseData(Database database) public void SaveDatabaseData(Database database)
{ {
persistence.SaveDatabaseData(database.GetUserList(), database.GetAddedThemeFromUser()); persistence.SaveDatabaseData(database.GetUserList(), database.GetAddedThemeFromUser());
} }
public Database LoadDatabaseData() public Database LoadDatabaseData()
{ {
db = persistence.LoadDatabaseData(); db = persistence.LoadDatabaseData();
db.SetDefaultThemeList(persistence.LoadDefaultTheme()); //db.SetDefaultThemeList(persistence.LoadDefaultTheme());
db.SetDefaultLogoList(persistence.LoadDefaultLogo()); //db.SetDefaultLogoList(persistence.LoadDefaultLogo());
return db; return db;
} }
} }
} }

@ -28,27 +28,35 @@ namespace Notus_Persistance
database.AddUser(new User("Nicolas", "leHeros@gmail.com", "Feur")); database.AddUser(new User("Nicolas", "leHeros@gmail.com", "Feur"));
database.AddUser(new User("Benjamin", "labsent@gmail.com", "Moto2005")); database.AddUser(new User("Benjamin", "labsent@gmail.com", "Moto2005"));
database.AddUser(new User("Liam", "liammonchanin@gmail.com", "Baguette")); database.AddUser(new User("Liam", "liammonchanin@gmail.com", "Baguette"));
database.AddUser(new User("Brigitte", "Macroutte@gmail.com", "49Trois")); database.AddUser(new User("Brigitte", "Brigitte@gmail.com", "493"));
// add some notes and tags to go faster // add some notes and tags to go faster
foreach(User user in database.GetUserList().Where(x => x.GetUsername().Contains("m"))) foreach (User user in database.GetUserList().Where(x => x.GetUsername().Contains("a")))
{ {
user.CreateNote("Note 1", ""); user.CreateNote("Note 1", "");
user.CreateNote("Note 2", ""); user.CreateNote("Note 2", "");
user.CreateNote("Note 3", ""); user.CreateNote("Note 3", "");
user.CreateTag("Tag 1","#FA0034"); user.CreateTag("Tag 1", "#FA0034");
user.CreateTag("Tag 2", "#2500A4"); user.CreateTag("Tag 2", "#2500A4");
} }
// add note to user for sharing note test mixed with tag // add note to user for sharing note test mixed with tag
uselect = (User)database.GetUserList().Where(x => x.GetUsername() == "Nicolas"); foreach (User user in database.GetUserList())
uselect.CreateNote("Note 4", "Logo_1"); {
uselect.CreateTag("Tag 3", "#00FF00"); if (user.GetEmail().Equals("leHeros@gmail.com") && user.GetUsername().Equals("Nicolas") && user.GetPassword().Equals("Feur"))
nselect = (Note)uselect.GetNoteList().Where(x => x.GetName() == "Note 4"); {
uselect.AddTagToNoteList(nselect, (Tags)uselect.GetTagList().Where(x => x.GetName() == "Tag 3")); uselect = user;
nselect.AddCollaborator(uselect,(User)database.GetUserList().Where(x => x.GetUsername() == "Benjamin")); uselect.CreateNote("Note 4", "Logo_1");
uselect = (User)database.GetUserList().Where(x => x.GetUsername() == "Benjamin"); uselect.CreateTag("Tag 3", "#00FF00");
uselect.CreateTag("Tag 4", "#FF0000"); //nselect = (Note)uselect.GetNoteList().Where(x => x.GetName() == "Note 4");
//uselect.AddTagToNoteList(nselect, (Tags)uselect.GetTagList().Where(x => x.GetName() == "Tag 3"));
//nselect.AddCollaborator(uselect, (User)database.GetUserList().Where(x => x.GetUsername() == "Benjamin"));
//uselect = (User)database.GetUserList().Where(x => x.GetUsername() == "Benjamin");
uselect.CreateTag("Tag 4", "#FF0000");
}
}
// add some default logos and themes // add some default logos and themes
database.GetDefaultLogoList().Add(new Logo("Logo_1", "logo")); database.GetDefaultLogoList().Add(new Logo("Logo_1", "logo"));

@ -6,7 +6,10 @@ MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Notus_Vue", "notus_vue\Notus_Vue.csproj", "{561264A1-4611-40FB-A662-3EF65550CA71}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Notus_Vue", "notus_vue\Notus_Vue.csproj", "{561264A1-4611-40FB-A662-3EF65550CA71}"
ProjectSection(ProjectDependencies) = postProject ProjectSection(ProjectDependencies) = postProject
{184478A9-E14F-42E0-B963-B3A4474C9C1C} = {184478A9-E14F-42E0-B963-B3A4474C9C1C} {184478A9-E14F-42E0-B963-B3A4474C9C1C} = {184478A9-E14F-42E0-B963-B3A4474C9C1C}
{7B7F1062-9498-44E5-AC77-84BC90A3B730} = {7B7F1062-9498-44E5-AC77-84BC90A3B730}
{92DD50C5-EEAD-44ED-AEFF-E21935725477} = {92DD50C5-EEAD-44ED-AEFF-E21935725477} {92DD50C5-EEAD-44ED-AEFF-E21935725477} = {92DD50C5-EEAD-44ED-AEFF-E21935725477}
{AFCEAA99-3A25-4E9E-B498-72DD76A6B7FF} = {AFCEAA99-3A25-4E9E-B498-72DD76A6B7FF}
{EE443C17-B31D-4AD0-9141-920876E7DF79} = {EE443C17-B31D-4AD0-9141-920876E7DF79}
EndProjectSection EndProjectSection
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Biblioteque_de_Class", "Biblioteque_de_Class\Biblioteque_de_Class.csproj", "{92DD50C5-EEAD-44ED-AEFF-E21935725477}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Biblioteque_de_Class", "Biblioteque_de_Class\Biblioteque_de_Class.csproj", "{92DD50C5-EEAD-44ED-AEFF-E21935725477}"

@ -6,7 +6,8 @@
xmlns:local="clr-namespace:notus" xmlns:local="clr-namespace:notus"
Shell.FlyoutBehavior="Locked" Shell.FlyoutBehavior="Locked"
Shell.FlyoutWidth="30" Shell.FlyoutWidth="30"
Shell.NavBarIsVisible="False"> Shell.NavBarIsVisible="True"
Shell.BackgroundColor="Grey">
<ShellContent <ShellContent
Title="main_page" Title="main_page"
@ -27,6 +28,10 @@
Title="Inscription_Page" Title="Inscription_Page"
ContentTemplate="{DataTemplate local:InscrPage}" ContentTemplate="{DataTemplate local:InscrPage}"
Route="InscrPage"/> Route="InscrPage"/>
<ShellContent
Title="ProfilPage"
ContentTemplate="{DataTemplate local:ProfilPage}"
Route="ProfilPage"/>
</Shell> </Shell>

@ -1,81 +1,81 @@
<?xml version="1.0" encoding="utf-8" ?> <?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui" <ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="notus.InscrPage" x:Class="notus.InscrPage"
Title="InscrPage"> Title="InscrPage">
<Grid BackgroundColor="#1C1C1C"> <Grid BackgroundColor="#1C1C1C">
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/> <ColumnDefinition Width="1*"/>
<ColumnDefinition Width="Auto"/> <ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="1*"/> <ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<Grid.RowDefinitions> <Grid.RowDefinitions>
<RowDefinition Height="1*"/> <RowDefinition Height="1*"/>
<RowDefinition Height="150"/> <RowDefinition Height="150"/>
<RowDefinition Height="150"/> <RowDefinition Height="150"/>
<RowDefinition Height="150"/> <RowDefinition Height="150"/>
<RowDefinition Height="1*"/> <RowDefinition Height="1*"/>
</Grid.RowDefinitions> </Grid.RowDefinitions>
<Entry <Entry
Placeholder="Pseudo" Placeholder="Pseudo"
HorizontalOptions="Center" HorizontalOptions="Center"
VerticalOptions="Center" VerticalOptions="Center"
WidthRequest="600" WidthRequest="600"
HeightRequest="100" HeightRequest="100"
FontSize="32" FontSize="32"
Grid.Column="1" Grid.Column="1"
Grid.Row="1" Grid.Row="1"
TextColor="#74fabd" TextColor="#74fabd"
BackgroundColor="#4A4A4A" BackgroundColor="#4A4A4A"
PlaceholderColor="#74fabd" PlaceholderColor="#74fabd"
/> />
<Entry <Entry
Placeholder="Mot de passe" Placeholder="Mot de passe"
HorizontalOptions="Center" HorizontalOptions="Center"
VerticalOptions="Center" VerticalOptions="Center"
WidthRequest="600" WidthRequest="600"
HeightRequest="100" HeightRequest="100"
FontSize="32" FontSize="32"
Grid.Column="1" Grid.Column="1"
Grid.Row="2" Grid.Row="2"
IsPassword="true" IsPassword="true"
TextColor="#74fabd" TextColor="#74fabd"
BackgroundColor="#4A4A4A" BackgroundColor="#4A4A4A"
PlaceholderColor="#74fabd" PlaceholderColor="#74fabd"
/> />
<Entry <Entry
Placeholder ="Verif mot de passe" Placeholder ="Verif mot de passe"
HorizontalOptions="Center" HorizontalOptions="Center"
VerticalOptions="Center" VerticalOptions="Center"
WidthRequest="600" WidthRequest="600"
HeightRequest="100" HeightRequest="100"
FontSize="32" FontSize="32"
Grid.Column="1" Grid.Column="1"
Grid.Row="3" Grid.Row="3"
IsPassword="true" IsPassword="true"
TextColor="#74fabd" TextColor="#74fabd"
BackgroundColor="#4A4A4A" BackgroundColor="#4A4A4A"
PlaceholderColor="#74fabd" PlaceholderColor="#74fabd"
/> />
<Button <Button
Text="Valider" Text="Valider"
Grid.Column="1" Grid.Column="1"
Grid.Row="4" Grid.Row="4"
HorizontalOptions="End" HorizontalOptions="End"
VerticalOptions="Center" VerticalOptions="Center"
WidthRequest="110" WidthRequest="110"
HeightRequest="70" HeightRequest="70"
BackgroundColor="#74fabd" BackgroundColor="#74fabd"
TextColor="Black" TextColor="Black"
CornerRadius="10" CornerRadius="10"
/> />
</Grid> </Grid>
</ContentPage> </ContentPage>

@ -1,9 +1,9 @@
namespace notus; namespace notus;
public partial class InscrPage : ContentPage public partial class InscrPage : ContentPage
{ {
public InscrPage() public InscrPage()
{ {
InitializeComponent(); InitializeComponent();
} }
} }

@ -0,0 +1,74 @@
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:toolkit="http://schemas.microsoft.com/dodnet/2022/maui/toolkit"
x:Class="notus.ProfilPage"
Title="ProfilPage"
BackgroundColor="#1C1C1C">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="1.5*"/>
<RowDefinition Height="1.5*"/>
<RowDefinition Height="1.5*"/>
<RowDefinition Height="1.5*"/>
<RowDefinition Height="1.5*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Button
Text="Modifier Profil"
TextColor="#74fabd"
BackgroundColor="#4A4A4A"
Grid.Column="1"
Grid.Row="4"
VerticalOptions="Center"
HeightRequest="80"
FontSize="30"
/>
<Button
Text="Modifier Theme"
TextColor="#74fabd"
BackgroundColor="#4A4A4A"
Grid.Column="1"
Grid.Row="5"
FontSize="30"
VerticalOptions="Start"
HeightRequest="80"
/>
<Label
Text="Profil"
FontSize="30"
HorizontalTextAlignment="Center"
VerticalTextAlignment="Center"
TextColor="#74fabd"
BackgroundColor="#4A4A4A"
Grid.Column="1"
Grid.Row="3"
VerticalOptions="End"
HeightRequest="80"
/>
<ImageButton
Source="profil.png"
Aspect="AspectFit"
Grid.Column="1"
Grid.Row="2"
WidthRequest="550"
HeightRequest="250"
BackgroundColor="#6E6E6E"
CornerRadius="10"
Clicked="ProfilClicked"
/>
</Grid>
</ContentPage>

@ -0,0 +1,17 @@
using Microsoft.Maui.Controls;
using Biblioteque_de_Class;
using Notus_Persistance;
namespace notus;
public partial class ProfilPage : ContentPage
{
public ProfilPage()
{
InitializeComponent();
}
void ProfilClicked(System.Object sender, System.EventArgs e)
{
}
}

@ -1,133 +1,133 @@
<?xml version="1.0" encoding="utf-8" ?> <?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui" <ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:toolkit="http://schemas.microsoft.com/dodnet/2022/maui/toolkit" xmlns:toolkit="http://schemas.microsoft.com/dodnet/2022/maui/toolkit"
x:Class="notus.RecherPage" x:Class="notus.RecherPage"
Title="RecherPage" Title="RecherPage"
BackgroundColor="#1C1C1C"> BackgroundColor="#1C1C1C">
<Grid> <Grid>
<Grid.RowDefinitions> <Grid.RowDefinitions>
<RowDefinition Height="Auto"/> <RowDefinition Height="Auto"/>
<RowDefinition Height="1.5*"/> <RowDefinition Height="1.5*"/>
<RowDefinition Height="1*"/> <RowDefinition Height="1*"/>
<RowDefinition Height="1.8*"/> <RowDefinition Height="1.8*"/>
<RowDefinition Height="1*"/> <RowDefinition Height="1*"/>
<RowDefinition Height="1.8*"/> <RowDefinition Height="1.8*"/>
<RowDefinition Height="1*"/> <RowDefinition Height="1*"/>
<RowDefinition Height="1*"/> <RowDefinition Height="1*"/>
<RowDefinition Height="4*"/> <RowDefinition Height="4*"/>
</Grid.RowDefinitions> </Grid.RowDefinitions>
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/> <ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="1*"/> <ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/> <ColumnDefinition Width="1*"/>
<ColumnDefinition Width="Auto"/> <ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/> <ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<Border <Border
Background="#6E6E6E" Background="#6E6E6E"
Grid.Column="0" Grid.Column="0"
Grid.RowSpan="9" Grid.RowSpan="9"
/> />
<ImageButton <ImageButton
Source="profil.png" Source="profil.png"
Aspect="AspectFit" Aspect="AspectFit"
Grid.Column="4" Grid.Column="4"
Grid.Row="0" Grid.Row="0"
HorizontalOptions="Start" HorizontalOptions="Start"
VerticalOptions="Start" VerticalOptions="Start"
WidthRequest="200" WidthRequest="200"
HeightRequest="120" HeightRequest="120"
BackgroundColor="#6E6E6E" BackgroundColor="#6E6E6E"
CornerRadius="10" CornerRadius="10"
/> />
<ImageButton <ImageButton
Source="supp.png" Source="supp.png"
Aspect="AspectFill" Aspect="AspectFill"
Grid.Column="2" Grid.Column="2"
Grid.Row="0" Grid.Row="0"
Margin="20" Margin="20"
HorizontalOptions="End" HorizontalOptions="End"
VerticalOptions="Start" VerticalOptions="Start"
WidthRequest="50" WidthRequest="50"
HeightRequest="50" HeightRequest="50"
BackgroundColor="#4A4A4A" BackgroundColor="#4A4A4A"
CornerRadius="50" CornerRadius="50"
/> />
<Label <Label x:Name="NomNote"
Text="Nom de la note" Text="{Binding Name}"
Grid.Column="1" Grid.Column="1"
Grid.Row="0" Grid.Row="0"
TextColor="#74fabd" TextColor="#74fabd"
Margin="20" Margin="20"
FontSize="34" FontSize="34"
BackgroundColor="#4A4A4A" BackgroundColor="#4A4A4A"
WidthRequest="250" WidthRequest="250"
HeightRequest="50" HeightRequest="50"
HorizontalOptions="Center" HorizontalOptions="Center"
VerticalOptions="Start" VerticalOptions="Start"
BindingContext="NomDeLaNoteSelected" />
/>
<ImageButton
<ImageButton Source="edit.png"
Source="edit.png" Aspect="AspectFit"
Aspect="AspectFit" Grid.Column="1"
Grid.Column="1" Grid.Row="0"
Grid.Row="0" Margin="20"
Margin="20" HorizontalOptions="Start"
HorizontalOptions="Start" VerticalOptions="Start"
VerticalOptions="Start" WidthRequest="50"
WidthRequest="50" HeightRequest="50"
HeightRequest="50" BackgroundColor="#4A4A4A"
BackgroundColor="#4A4A4A" CornerRadius="50"
CornerRadius="50" />
/>
<Entry
<Entry Placeholder="Rechercher"
Placeholder="Rechercher" HorizontalOptions="Start"
HorizontalOptions="Start" Margin="20"
Margin="20" VerticalOptions="Center"
VerticalOptions="Center" WidthRequest="300"
WidthRequest="300" HeightRequest="50"
HeightRequest="50" FontSize="25"
FontSize="25" Grid.Column="0"
Grid.Column="0" Grid.Row="0"
Grid.Row="0" TextColor="#74fabd"
TextColor="#74fabd" BackgroundColor="#4A4A4A"
BackgroundColor="#4A4A4A" PlaceholderColor="#74fabd"
PlaceholderColor="#74fabd" />
/>
<ListView x:Name="ListNote"
<VerticalStackLayout Grid.Column="0"
Grid.Column="0" Grid.Row="2"
Grid.RowSpan="5" Grid.RowSpan="5"
BindingContext="ARefaire" ItemsSource="{Binding NoteList}"
/> />
<Editor <Editor
Placeholder="Texte" Placeholder="Texte"
IsSpellCheckEnabled="True" IsSpellCheckEnabled="True"
FontSize="20" FontSize="20"
HorizontalOptions="Start" HorizontalOptions="Start"
VerticalOptions="Center" VerticalOptions="Center"
Margin="20" Margin="20"
WidthRequest="800" WidthRequest="800"
HeightRequest="750" HeightRequest="750"
Grid.Column="1" Grid.Column="1"
Grid.ColumnSpan="4" Grid.ColumnSpan="4"
Grid.Row="4" Grid.Row="4"
Grid.RowSpan="3" Grid.RowSpan="3"
TextColor="White" TextColor="White"
BackgroundColor="#4A4A4A" BackgroundColor="#4A4A4A"
PlaceholderColor="#74fabd" PlaceholderColor="#74fabd"
/> />
</Grid> </Grid>
</ContentPage> </ContentPage>

@ -1,24 +1,19 @@
namespace notus; using Microsoft.Maui.Controls;
using Biblioteque_de_Class;
public partial class RecherPage : ContentPage using Notus_Persistance;
{
public RecherPage()
{ namespace notus;
InitializeComponent();
} public partial class RecherPage : ContentPage
{
void ProfilClicked() public PersistenceManager manager { get; private set; } = new PersistenceManager(new Stub());
public RecherPage()
{ {
manager.LoadDatabaseData();
} InitializeComponent();
ListNote.BindingContext = manager;
void EditCLicked() NomNote.BindingContext = manager;
{ }
}
void SuppClicked()
{
}
} }

@ -53,12 +53,23 @@
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="7.0.0" /> <PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="7.0.0" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Biblioteque_de_Class\Biblioteque_de_Class.csproj" />
<ProjectReference Include="..\Notus_Persistence\Notus_Persistance.csproj" />
<ProjectReference Include="..\Tests\Notus_UnitTest_Database\Notus_UnitTest_Database.csproj" />
<ProjectReference Include="..\Tests\Notus_UnitTest_Note\Notus_UnitTest_Note.csproj" />
<ProjectReference Include="..\Tests\Notus_UnitTest_User\Notus_UnitTest_User.csproj" />
</ItemGroup>
<ItemGroup> <ItemGroup>
<Compile Update="ConnecPage.xaml.cs"> <Compile Update="ConnecPage.xaml.cs">
<DependentUpon>ConnecPage.xaml</DependentUpon> <DependentUpon>ConnecPage.xaml</DependentUpon>
</Compile> </Compile>
<Compile Update="InscrPage.xaml.cs"> <Compile Update="InscrPage.xaml.cs">
<DependentUpon>InscrPage.xaml</DependentUpon> <DependentUpon>InscrPage.xaml</DependentUpon>
</Compile>
<Compile Update="ProfilPage.xaml.cs">
<DependentUpon>ProfilPage.xaml</DependentUpon>
</Compile> </Compile>
<Compile Update="RecherPage.xaml.cs"> <Compile Update="RecherPage.xaml.cs">
<DependentUpon>RecherPage.xaml</DependentUpon> <DependentUpon>RecherPage.xaml</DependentUpon>
@ -69,8 +80,11 @@
<MauiXaml Update="ConnecPage.xaml"> <MauiXaml Update="ConnecPage.xaml">
<Generator>MSBuild:Compile</Generator> <Generator>MSBuild:Compile</Generator>
</MauiXaml> </MauiXaml>
<MauiXaml Update="InscrPage.xaml"> <MauiXaml Update="InscrPage.xaml">
<Generator>MSBuild:Compile</Generator> <Generator>MSBuild:Compile</Generator>
</MauiXaml>
<MauiXaml Update="ProfilPage.xaml">
<Generator>MSBuild:Compile</Generator>
</MauiXaml> </MauiXaml>
<MauiXaml Update="RecherPage.xaml"> <MauiXaml Update="RecherPage.xaml">
<Generator>MSBuild:Compile</Generator> <Generator>MSBuild:Compile</Generator>

Loading…
Cancel
Save