implementation of a void constructor of user and a copy constructor. Binding between flyoutContainer and MyProfil views
continuous-integration/drone/push Build is failing Details

pull/48/head
Roxane ROSSETTO 2 years ago
parent 5a255642b5
commit 82255808a9

@ -14,7 +14,6 @@ namespace DataPersistence
{
public Dictionary<string, List<object>> Load()
{
PasswordManager passwordManager = new PasswordManager();
Dictionary<string, List<object>> data = new Dictionary<string, List<object>>
{
@ -98,12 +97,13 @@ namespace DataPersistence
name: "Admin",
surname: "Admin",
mail: "admin@mctg.fr",
password: passwordManager.HashPassword("admin")),
password: "admin"),
new User(
name: "Pedros",
surname: "Amigos",
mail: "pedrosamigos@hotmail.com",
password: passwordManager.HashPassword("pamigos"))
password: "pamigos")
})
#endregion
}

@ -66,8 +66,7 @@ namespace Model
}
public Review(int stars, string content)
: this(new User("admin", "admin", "admin@mctg.fr", new PasswordManager().HashPassword("admin")),
null, stars, content)
: this(new User(), null, stars, content)
{
}

@ -40,12 +40,9 @@ namespace Model
public string Name
{
get { return name; }
private set
set
{
if (string.IsNullOrWhiteSpace(value))
{
throw new ArgumentException("Impossible d'avoir un champ Nom vide!");
}
name = value;
OnPropertyChanged();
}
@ -58,12 +55,9 @@ namespace Model
public string Surname
{
get { return surname; }
private set
{
if (string.IsNullOrWhiteSpace(value))
set
{
throw new ArgumentException("Impossible d'avoir un champ Prénom vide!");
}
surname = value;
OnPropertyChanged();
}
@ -147,7 +141,7 @@ namespace Model
return $"{Name} {Surname}";
}
public IPasswordManager psswMgr { get; private set; }
#endregion
@ -161,12 +155,13 @@ namespace Model
/// <param name="name">The name of the user</param>
/// <param name="surname">The surname of the user</param>
/// <param name="mail">The user needs an email to login. </param>
public User(string name, string surname, string mail, int password)
public User(string name, string surname, string mail, string password, IPasswordManager passwordManager )
{
Name = name;
Surname = surname;
Mail = mail;
Password = password;
psswMgr = passwordManager;
Password = psswMgr.HashPassword(password);
priorities = new List<Priority> {
Priority.Gourmet,
Priority.Economic,
@ -176,7 +171,29 @@ namespace Model
ProfilPict = picture;
}
public User(string name, string surname, string mail, string password)
: this(name, surname,mail, password, new PasswordManager())
{
}
public User()
: this("John", "Doe", "truc@gmail.com", "mdp")
{
}
public User (User user)
{
Name = user.Name;
Surname = user.Surname;
Mail = user.Mail;
psswMgr = user.psswMgr;
Password = user.Password;
priorities = user.Priorities;
ProfilPict = user.ProfilPict;
}
#endregion

@ -5,17 +5,20 @@ using Windows.Graphics;
#endif
using DataPersistence;
using Model;
namespace Views
{
public partial class App : Application
{
public DataManager DataMgr { get; private set; } = new DataManager(new Stubs());
public User user { get; set; }
const int WindowWidth = 1200;
const int WindowHeight = 800;
public App()
{
user = DataMgr.Data[nameof(User)].Cast<User>().Last();
InitializeComponent();
Microsoft.Maui.Handlers.WindowHandler.Mapper.AppendToMapping(nameof(IWindow), (handler, view) =>

@ -28,11 +28,19 @@
Style="{StaticResource button2}"
IsVisible="{Binding IsNotConnected, Source={x:Reference fl}}"
IsEnabled="{Binding IsNotConnected, Source={x:Reference fl}}"/>
<Label Text="{Binding user}"
HorizontalOptions="Center" Margin="15"
<StackLayout BindingContext="{Binding user}">
<Label Text="{Binding Name}"
HorizontalOptions="Center" Margin="0,15"
FontSize="20" FontAttributes="Bold" HorizontalTextAlignment="Center"
TextColor="{AppThemeBinding Light={StaticResource Black}, Dark={StaticResource White}}"
IsVisible="{Binding IsNotConnected, Converter={toolkit:InvertedBoolConverter} ,Source={x:Reference fl}}"/>
<Label Text="{Binding Surname}"
HorizontalOptions="Center"
FontSize="20" FontAttributes="Bold" HorizontalTextAlignment="Center"
TextColor="{AppThemeBinding Light={StaticResource Black}, Dark={StaticResource White}}"
IsVisible="{Binding IsNotConnected, Converter={toolkit:InvertedBoolConverter} ,Source={x:Reference fl}}"/>
</StackLayout>
</VerticalStackLayout>

@ -6,15 +6,15 @@ namespace Views;
public partial class ContainerFlyout : ContentView
{
public DataManager DataMgr => (App.Current as App).DataMgr;
public User user { get; private set; }
public User user => (App.Current as App).user;
public ContainerFlyout()
{
InitializeComponent();
BindingContext = this;
user = DataMgr.Data[nameof(User)].Cast<User>().Last();
}
// Bind MyFlyoutContent

@ -36,30 +36,27 @@
Padding="50,0,0,0"
FontSize="18"/>
<Entry BackgroundColor="#D1E8E2"
Margin="50,10,0,20"/>
Margin="50,10,0,20"
Text="{Binding userBis.Name}"/>
<Label Text="Prénom :"
Padding="50,0,0,0"
FontSize="18"/>
<Entry BackgroundColor="#D1E8E2"
Margin="50,10,0,20"
Text="{Binding Surname} "/>
Text="{Binding userBis.Surname} "/>
<Label Text="Mail :"
Padding="50,0,0,0"
FontSize="18"/>
<Entry BackgroundColor="#D1E8E2"
Margin="50,10,0,20"
IsEnabled="False"
Text="{Binding Mail}"/>
<Label Text="Pseudo :"
Padding="50,0,0,0"
FontSize="18"/>
<Entry BackgroundColor="#D1E8E2"
Margin="50,10,0,50"/>
Text="{Binding user.Mail}"/>
<Button BackgroundColor="#bdf5bd"
Text="Valider"
Margin="40,0,0,0"
TextColor="Black"
MaximumWidthRequest="100"/>
MaximumWidthRequest="100"
Clicked="Validation_Click"/>

@ -1,21 +1,31 @@
using CommunityToolkit.Maui.Behaviors;
using DataPersistence;
using Model;
using System.Diagnostics;
namespace Views;
public partial class MyProfil : ContentPage
{
public DataManager DataMgr = (App.Current as App).DataMgr;
public User user { get; private set; }
public DataManager DataMgr => (App.Current as App).DataMgr;
public User user => (App.Current as App).user;
public User userBis {get; set; }
public MyProfil()
{
DataMgr = new DataManager(new Stubs());
user = DataMgr.Data[nameof(User)].Cast<User>().Last();
userBis = new User(user);
InitializeComponent();
BindingContext = user;
BindingContext = this;
}
public void Validation_Click(object sender, EventArgs e)
{
if (String.IsNullOrEmpty(userBis.Name) || String.IsNullOrEmpty(userBis.Surname)){
return;
}
user.Name = userBis.Name;
user.Surname = userBis.Surname;
}
}
Loading…
Cancel
Save