Push de la page Dashboard(début)
continuous-integration/drone/push Build is failing Details

UI_Mobile
Lucas EVARD 2 years ago
parent 6513dd0ad4
commit 8b4528c733

File diff suppressed because it is too large Load Diff

@ -19,33 +19,23 @@ namespace LinqToPgSQL
public class PersLinqToPgSQL : IPersistanceManager public class PersLinqToPgSQL : IPersistanceManager
{ {
private Hash hash = new Hash(); private Hash hash = new Hash();
string connexionBDD = String.Format("Server=90.114.135.116; Username=postgres; Database=conseco; Port=5432; Password=lulu; SSLMode=Prefer"); string connexionBDD = String.Format("Server=2.3.8.130; Username=postgres; Database=conseco; Port=5432; Password=lulu; SSLMode=Prefer");
public string LoadInscrit(string id, string mdp) public string GetId(string mail)
{ {
int resultat=0; int resultat;
var conn = new NpgsqlConnection(connexionBDD); var conn = new NpgsqlConnection(connexionBDD);
Console.Out.WriteLine("Ouverture de la connection"); Console.Out.WriteLine("Ouverture de la connection");
conn.Open(); conn.Open();
NpgsqlParameter p1 = new NpgsqlParameter { ParameterName = "p", Value = id }; NpgsqlParameter p1 = new NpgsqlParameter { ParameterName = "p", Value = mail };
NpgsqlParameter p2 = new NpgsqlParameter { ParameterName = "p2", Value = mdp }; NpgsqlCommand cmd = new NpgsqlCommand($"SELECT id FROM INSCRIT WHERE mail=(@p)", conn);
NpgsqlCommand cmd = new NpgsqlCommand($"SELECT id FROM INSCRIT WHERE (nom=(@p) OR mail=(@p)) AND mdp=@p2", conn);
cmd.Parameters.Add(p1); cmd.Parameters.Add(p1);
cmd.Parameters.Add(p2);
NpgsqlDataReader dr = cmd.ExecuteReader(); NpgsqlDataReader dr = cmd.ExecuteReader();
try
{
dr.Read(); dr.Read();
resultat = dr.GetInt32(0); resultat = dr.GetInt32(0);
dr.Close(); dr.Close();
return resultat.ToString(); return resultat.ToString();
}
catch (Exception ex)
{
Debug.WriteLine(ex+"Utilisateur inconnu");
dr.Close();
return "null";//a changer doit retester
}
} }
public bool ExistEmail(string mail) public bool ExistEmail(string mail)
@ -276,12 +266,11 @@ namespace LinqToPgSQL
return ListeCompte; return ListeCompte;
} }
public IEnumerable<Banque> LoadBanqueId(string id) public List<Banque> LoadBanqueId(string id)
{ {
//int idnombre = Int16.Parse(id); int idnombre = Int16.Parse(id);
// Debug.WriteLine(idnombre+"------------------------------------");
List<Banque> ListeBanque = new List<Banque>(); List<Banque> ListeBanque = new List<Banque>();
Debug.WriteLine(id); Debug.WriteLine(idnombre);
var conn = new NpgsqlConnection(connexionBDD); var conn = new NpgsqlConnection(connexionBDD);
Console.Out.WriteLine("Ouverture de la connection"); Console.Out.WriteLine("Ouverture de la connection");
try try
@ -294,21 +283,15 @@ namespace LinqToPgSQL
Debug.WriteLine("Problème de connection à la base de données. Aprés fermeture, l'application se fermera automatiquement."); Debug.WriteLine("Problème de connection à la base de données. Aprés fermeture, l'application se fermera automatiquement.");
Environment.Exit(-1); Environment.Exit(-1);
} }
NpgsqlCommand cmd = new NpgsqlCommand("select b.nom,b.urlsite,b.urllogo from banque b, inscrbanque ib, Inscrit i where ib.idinscrit =(@p) AND ib.nombanque = b.nom AND ib.idinscrit = i.id;", conn);
/* NpgsqlCommand cmd = new NpgsqlCommand("select * from banque b, inscrbanque ib, Inscrit i where ib.idinscrit =(@p) AND ib.nombanque = b.nom AND ib.idinscrit = i.id;", conn) cmd.Parameters.AddWithValue("p", idnombre);
{
Parameters =
{
new NpgsqlParameter("p",id),
}
};
NpgsqlDataReader dataReader = cmd.ExecuteReader(); NpgsqlDataReader dataReader = cmd.ExecuteReader();
while (dataReader.Read()) while (dataReader.Read())
{ {
Debug.WriteLine(dataReader.GetString(0), dataReader.GetString(1), dataReader.GetString(2)); Debug.WriteLine(dataReader.GetString(0), dataReader.GetString(1), dataReader.GetString(2));
ListeBanque.Add(new Banque(dataReader.GetString(0), dataReader.GetString(1), dataReader.GetString(2))); ListeBanque.Add(new Banque(dataReader.GetString(0), dataReader.GetString(1), dataReader.GetString(2)));
} }
dataReader.Close();*/ dataReader.Close();
return ListeBanque; return ListeBanque;
} }

@ -9,7 +9,6 @@ namespace IHM
public App() public App()
{ {
InitializeComponent(); InitializeComponent();
MainPage = new AppShell(); MainPage = new AppShell();

@ -0,0 +1,57 @@
<?xml version="1.0" encoding="utf-8" ?>
<ViewCell xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="IHM.Composant.VC_Operation_Dashboard">
<StackLayout Orientation="Vertical">
<StackLayout Orientation="Horizontal">
<Label>Nom de l'opération</Label>
<Label>Date de l'opération</Label>
<Label>Type d'opération</Label>
</StackLayout>
<StackLayout Orientation="Horizontal">
<Label>Nom de l'opération</Label>
<Label>Date de l'opération</Label>
<Label>Type d'opération</Label>
</StackLayout>
<StackLayout Orientation="Horizontal">
<Label>Nom de l'opération</Label>
<Label>Date de l'opération</Label>
<Label>Type d'opération</Label>
</StackLayout>
<StackLayout Orientation="Horizontal">
<Label>Nom de l'opération</Label>
<Label>Date de l'opération</Label>
<Label>Type d'opération</Label>
</StackLayout>
<StackLayout Orientation="Horizontal">
<Label>Nom de l'opération</Label>
<Label>Date de l'opération</Label>
<Label>Type d'opération</Label>
</StackLayout>
<StackLayout Orientation="Horizontal">
<Label>Nom de l'opération</Label>
<Label>Date de l'opération</Label>
<Label>Type d'opération</Label>
</StackLayout>
<StackLayout Orientation="Horizontal">
<Label>Nom de l'opération</Label>
<Label>Date de l'opération</Label>
<Label>Type d'opération</Label>
</StackLayout>
<StackLayout Orientation="Horizontal">
<Label>Nom de l'opération</Label>
<Label>Date de l'opération</Label>
<Label>Type d'opération</Label>
</StackLayout>
<StackLayout Orientation="Horizontal">
<Label>Nom de l'opération</Label>
<Label>Date de l'opération</Label>
<Label>Type d'opération</Label>
</StackLayout>
<StackLayout Orientation="Horizontal">
<Label>Nom de l'opération</Label>
<Label>Date de l'opération</Label>
<Label>Type d'opération</Label>
</StackLayout>
</StackLayout>
</ViewCell>

@ -0,0 +1,9 @@
namespace IHM.Composant;
public partial class VC_Operation_Dashboard : ViewCell
{
public VC_Operation_Dashboard()
{
InitializeComponent();
}
}

@ -1,12 +1,26 @@
<?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="IHM.DashBoard"> xmlns:local="clr-namespace:IHM.Composant"
x:Class="IHM.DashBoard"
BackgroundColor="#A00EE8">
<ScrollView VerticalOptions="FillAndExpand">
<VerticalStackLayout> <VerticalStackLayout>
<StackLayout Orientation="Horizontal">
<Label <Label
Text="Dashboard" Text="Bienvenue"
VerticalOptions="Center" VerticalOptions="Center"
HorizontalOptions="Center" /> HorizontalOptions="Start"
Margin="10,10,10,20"
FontSize="25"
/>
<Label
FontAttributes="Bold"
Margin="0,10,0,0"
Text="{Binding User.Prenom}"
FontSize="25"
/>
</StackLayout>
<Button <Button
BackgroundColor="Red" BackgroundColor="Red"
x:Name="Bouton" x:Name="Bouton"
@ -17,14 +31,14 @@
Clicked="OnClickedGestionBanque" Clicked="OnClickedGestionBanque"
/> />
<Button <Button
IsVisible="true" IsVisible="False"
IsEnabled="False" IsEnabled="False"
WidthRequest="175" WidthRequest="175"
HeightRequest="50" HeightRequest="50"
Margin="0,-50,0,0" Margin="0,-50,0,0"
x:Name="ImgBanqueActuelle" x:Name="ImgBanqueActuelle"
BackgroundColor="AliceBlue" BackgroundColor="AliceBlue"
Text="wow" Text="{Binding selectedBanque}"
/> />
<Button <Button
IsVisible="false" IsVisible="false"
@ -37,15 +51,85 @@
Clicked="OnClickedRetour" Clicked="OnClickedRetour"
/> />
<StackLayout IsVisible="false" x:Name="stackpannel"> <StackLayout IsVisible="false" x:Name="stackpannel">
<CollectionView x:Name="listeBanque" ItemsSource="{Binding listeBanqueConnecte}" ItemsUpdatingScrollMode="KeepScrollOffset" Margin="22,0,22,0" ItemsLayout="HorizontalList"> <CollectionView x:Name="listeBanque" ItemsSource="{Binding User.LesBanques}" ItemsUpdatingScrollMode="KeepScrollOffset" Margin="22,0,22,0" ItemsLayout="HorizontalList">
<CollectionView.ItemTemplate> <CollectionView.ItemTemplate>
<DataTemplate> <DataTemplate>
<StackLayout Margin="0,35,0,0"> <StackLayout Margin="0,35,0,0">
<Button Clicked="OnClickedBanque" Text="{Binding Nom}" Margin="0,0,20,0"/> <Button Clicked="OnClickedBanque" Text="{Binding Nom}"/>
</StackLayout> </StackLayout>
</DataTemplate> </DataTemplate>
</CollectionView.ItemTemplate> </CollectionView.ItemTemplate>
</CollectionView> </CollectionView>
</StackLayout> </StackLayout>
<StackLayout Margin="0,20,0,0" Orientation="Horizontal">
<Label Margin="20,0,0,0" FontSize="25">Solde total :</Label>
<Label FontSize="25" Margin="8,0,0,0" x:Name="soldetotal">0</Label>
</StackLayout>
<Border Stroke="Black" StrokeThickness="5" Margin="0,70,0,0">
<StackLayout BackgroundColor="Cyan" Padding="0,0,0,20">
<Label HorizontalTextAlignment="Center" FontSize="20">Listes des dernières opérations</Label>
<StackLayout Orientation="Vertical">
<StackLayout Orientation="Horizontal">
<Label>Nom de l'opération</Label>
<Label>Date de l'opération</Label>
<Label>Type d'opération</Label>
</StackLayout>
<StackLayout Orientation="Horizontal">
<Label>Nom de l'opération</Label>
<Label>Date de l'opération</Label>
<Label>Type d'opération</Label>
</StackLayout>
<StackLayout Orientation="Horizontal">
<Label>Nom de l'opération</Label>
<Label>Date de l'opération</Label>
<Label>Type d'opération</Label>
</StackLayout>
<StackLayout Orientation="Horizontal">
<Label>Nom de l'opération</Label>
<Label>Date de l'opération</Label>
<Label>Type d'opération</Label>
</StackLayout>
<StackLayout Orientation="Horizontal">
<Label>Nom de l'opération</Label>
<Label>Date de l'opération</Label>
<Label>Type d'opération</Label>
</StackLayout>
<StackLayout Orientation="Horizontal">
<Label>Nom de l'opération</Label>
<Label>Date de l'opération</Label>
<Label>Type d'opération</Label>
</StackLayout>
<StackLayout Orientation="Horizontal">
<Label>Nom de l'opération</Label>
<Label>Date de l'opération</Label>
<Label>Type d'opération</Label>
</StackLayout>
<StackLayout Orientation="Horizontal">
<Label>Nom de l'opération</Label>
<Label>Date de l'opération</Label>
<Label>Type d'opération</Label>
</StackLayout>
<StackLayout Orientation="Horizontal">
<Label>Nom de l'opération</Label>
<Label>Date de l'opération</Label>
<Label>Type d'opération</Label>
</StackLayout>
<StackLayout Orientation="Horizontal">
<Label>Nom de l'opération</Label>
<Label>Date de l'opération</Label>
<Label>Type d'opération</Label>
</StackLayout>
</StackLayout>
</StackLayout>
</Border>
<Border Stroke="Black" StrokeThickness="5" Margin="0,70,0,30">
<StackLayout Margin="0,10,0,0">
<Label HorizontalTextAlignment="Center" FontSize="20">Pour vous</Label>
<StackLayout BackgroundColor="RosyBrown" Margin="0,0,0,20" HeightRequest="200" WidthRequest="310">
<Label HorizontalOptions="Center" FontSize="20">Aide à la gestion personnalisée</Label>
</StackLayout>
</StackLayout>
</Border>
</VerticalStackLayout> </VerticalStackLayout>
</ScrollView>
</ContentPage> </ContentPage>

@ -3,7 +3,8 @@ using Microsoft.Maui.Controls;
using Microsoft.Maui.Controls.PlatformConfiguration.TizenSpecific; using Microsoft.Maui.Controls.PlatformConfiguration.TizenSpecific;
using System.Diagnostics; using System.Diagnostics;
namespace IHM; namespace IHM
{
public partial class DashBoard : ContentPage public partial class DashBoard : ContentPage
{ {
@ -13,7 +14,7 @@ public partial class DashBoard : ContentPage
InitializeComponent(); InitializeComponent();
BindingContext = Mgr; BindingContext = Mgr;
//Routing.RegisterRoute(nameof(DashBoard), typeof(DashBoard)); //Routing.RegisterRoute(nameof(DashBoard), typeof(DashBoard));
if (Mgr.SelectedInscrit == null) if (Mgr.User == null)
{ {
loadInscription(); loadInscription();
} }
@ -21,19 +22,13 @@ public partial class DashBoard : ContentPage
void OnClickedBanque(object sender, EventArgs args) void OnClickedBanque(object sender, EventArgs args)
{ {
/* foreach(Button but in CollectionView)
{
}*/
Button btn = (Button)sender; Button btn = (Button)sender;
btn.IsEnabled = false;
ImgBanqueActuelle.Text = btn.Text; ImgBanqueActuelle.Text = btn.Text;
} }
async void OnClickedGestionBanque(object sender, EventArgs args) async void OnClickedGestionBanque(object sender, EventArgs args)
{ {
Bouton.IsEnabled = false;
Bouton.BackgroundColor = Color.FromRgb(192, 192, 192); Bouton.BackgroundColor = Color.FromRgb(192, 192, 192);
await Bouton.TranslateTo(-130, 35, 50); await Bouton.TranslateTo(-130, 35, 50);
await Bouton.ScaleXTo(7.5, 50); await Bouton.ScaleXTo(7.5, 50);
@ -53,11 +48,12 @@ public partial class DashBoard : ContentPage
stackpannel.IsVisible = false; stackpannel.IsVisible = false;
await Bouton.TranslateTo(0, 0, 50); await Bouton.TranslateTo(0, 0, 50);
BoutonRetour.IsVisible = false; BoutonRetour.IsVisible = false;
Bouton.IsEnabled = true;
} }
public async void loadInscription() public async void loadInscription()
{ {
await Navigation.PushModalAsync(new MainPage()); await Navigation.PushModalAsync(new MainPage());
BindingContext=Mgr;
}
} }
} }

@ -80,6 +80,9 @@
<MauiXaml Update="ChangePassword.xaml"> <MauiXaml Update="ChangePassword.xaml">
<Generator>MSBuild:Compile</Generator> <Generator>MSBuild:Compile</Generator>
</MauiXaml> </MauiXaml>
<MauiXaml Update="Composant\VC_Operation_Dashboard.xaml">
<Generator>MSBuild:Compile</Generator>
</MauiXaml>
<MauiXaml Update="DashBoard.xaml"> <MauiXaml Update="DashBoard.xaml">
<Generator>MSBuild:Compile</Generator> <Generator>MSBuild:Compile</Generator>
</MauiXaml> </MauiXaml>

@ -24,7 +24,6 @@ namespace IHM
{ {
if (Mgr.isEqualHash(Mgr.recupMdpBdd(EntryMail.Text), EntryPassworld.Text)) if (Mgr.isEqualHash(Mgr.recupMdpBdd(EntryMail.Text), EntryPassworld.Text))
{ {
Mgr.LoadInscrit(EntryMail.Text, EntryPassworld.Text);
Mgr.createUser(EntryMail.Text); Mgr.createUser(EntryMail.Text);
ConnexionValide(); ConnexionValide();
} }

@ -8,7 +8,7 @@ namespace Model
{ {
public interface IPersistanceManager public interface IPersistanceManager
{ {
string LoadInscrit(string id,string mdp); string GetId(string mail);
void SupprimerInscritBdd(Inscrit inscrit); void SupprimerInscritBdd(Inscrit inscrit);
void SupprimerBanqueBdd(Inscrit inscrit, Banque banque); void SupprimerBanqueBdd(Inscrit inscrit, Banque banque);
void SupprimerToutesBanquesBdd(Inscrit inscrit); void SupprimerToutesBanquesBdd(Inscrit inscrit);
@ -18,6 +18,6 @@ namespace Model
void ChangePasswordBdd(string mail, string newMdp); void ChangePasswordBdd(string mail, string newMdp);
string RecupMdpBdd(string mail); string RecupMdpBdd(string mail);
int CalculTotalSoldeComtpe(Inscrit user); int CalculTotalSoldeComtpe(Inscrit user);
IEnumerable<Banque> LoadBanqueId(string id); List<Banque> LoadBanqueId(string id);
} }
} }

@ -5,14 +5,16 @@ using System.Text;
using System.Text.RegularExpressions; using System.Text.RegularExpressions;
using Model; using Model;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.ComponentModel;
namespace Model namespace Model
{ {
public class Inscrit public class Inscrit:INotifyPropertyChanged
{ {
public Hash hash = new Hash(); public Hash hash = new Hash();
public event PropertyChangedEventHandler PropertyChanged;
public string Id { get; private set; } public string Id { get; private set; }
public string Nom { get; private set; } public string Nom { get; private set; }
@ -34,7 +36,7 @@ namespace Model
} }
private string mail; private string mail;
public string Prenom { get; private set; } public string Prenom { get; set; }
public string Mdp public string Mdp
{ {
@ -58,10 +60,24 @@ namespace Model
} }
private string mdp; private string mdp;
void OnPropertyChanged(string propertyName) => PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
public double SoldeTotal { get; private set; } public double SoldeTotal { get; private set; }
public Devises Dev { get; private set; } public Devises Dev { get; private set; }
public List<Banque> LesBanques { get; private set; } = new List<Banque>(); public List<Banque> LesBanques
{
get => lesBanques;
set
{
if(lesBanques!=value)
{
lesBanques = value;
OnPropertyChanged(nameof(LesBanques));
}
}
}
private List<Banque> lesBanques;
public Inscrit(string id, string nom, string mail, string prenom, string mdp, double soldeTotal = 0) public Inscrit(string id, string nom, string mail, string prenom, string mdp, double soldeTotal = 0)
{ {
Id = id; Id = id;
@ -77,9 +93,11 @@ namespace Model
LesBanques = lesbanques; LesBanques = lesbanques;
} }
public Inscrit(string mail) public Inscrit(string mail, string id)
{ {
Prenom = "Lucas";
Mail = mail; Mail = mail;
Id = id;
} }
public Inscrit(List<Banque> lesbanques) public Inscrit(List<Banque> lesbanques)

@ -8,7 +8,7 @@ namespace Model
public event PropertyChangedEventHandler PropertyChanged; public event PropertyChangedEventHandler PropertyChanged;
public IPersistanceManager Pers { get; private set; } public IPersistanceManager Pers { get; private set; }
public string SelectedInscrit { get; set; } public int SelectedInscrit { get; set; }
public Hash hash = new Hash(); public Hash hash = new Hash();
@ -27,7 +27,24 @@ namespace Model
private int solde; private int solde;
public Inscrit User { get; set; }
private Inscrit user;
public Inscrit User {
get
{
return user;
}
set
{
if (user != value)
{
user = value;
OnPropertyChanged(nameof(User));
}
}
}
public Banque SelectedBanque public Banque SelectedBanque
{ {
@ -42,7 +59,6 @@ namespace Model
} }
} }
private Banque selectedBanque; private Banque selectedBanque;
public IEnumerable<Banque> listeBanqueConnecte { get; private set; }
void OnPropertyChanged(string propertyName) => PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); void OnPropertyChanged(string propertyName) => PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
@ -56,15 +72,18 @@ namespace Model
Pers.SupprimerInscritBdd(i); Pers.SupprimerInscritBdd(i);
} }
public void LoadInscrit(string id, string mdp) public string GetId(string mail)
{ {
SelectedInscrit = Pers.LoadInscrit(id, mdp); return Pers.GetId(mail);
Debug.WriteLine(SelectedInscrit);
} }
public void LoadBanques() public void LoadBanques()
{ {
listeBanqueConnecte = Pers.LoadBanqueId(SelectedInscrit); User.LesBanques = Pers.LoadBanqueId(User.Id);
if (User.LesBanques.Count() > 0)
{
SelectedBanque = User.LesBanques[0];
}
} }
public void supprimerToutesBanquesBdd(Inscrit inscrit) public void supprimerToutesBanquesBdd(Inscrit inscrit)
@ -104,7 +123,7 @@ namespace Model
public void createUser(string mail) public void createUser(string mail)
{ {
User = new Inscrit(mail); User = new Inscrit(mail, GetId(mail));
} }
public int recupTotalSolde() public int recupTotalSolde()
@ -115,10 +134,7 @@ namespace Model
public void deconnexion() public void deconnexion()
{ {
SelectedBanque= null; User=null;
SelectedInscrit = null;
listeBanqueConnecte = new List<Banque>();
Debug.WriteLine(listeBanqueConnecte.Count());
} }
} }
} }

Loading…
Cancel
Save