You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
175 lines
6.2 KiB
175 lines
6.2 KiB
using System;
|
|
using System.Collections.Generic;
|
|
using System.Collections.ObjectModel;
|
|
using System.Linq;
|
|
using System.Runtime.Serialization;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace Modèle
|
|
{
|
|
|
|
/// <summary>
|
|
/// Class Expert qui implémente l'interface Personne
|
|
/// Un expert peut ajouter et modifier des requins mais il peut aussi valider ou refuser les ajouts ou les modifications des utilisateurs
|
|
/// </summary>
|
|
|
|
|
|
[DataContract]
|
|
public class Expert : Personne
|
|
{
|
|
/// <summary>
|
|
/// DateTime qui permet de connaitre la date de création x'un compte expert
|
|
/// </summary>
|
|
[DataMember]
|
|
public DateTime DateD { get; private set; }
|
|
/// <summary>
|
|
/// /String le surnom d'un expert
|
|
/// </summary>
|
|
[DataMember]
|
|
public string Surnom { get; private set; }
|
|
|
|
|
|
/// <summary>
|
|
/// Constructeur sans DateTime
|
|
/// </summary>
|
|
/// <param name="email">String email de l'Expert (son identifiant pour se connecter</param>
|
|
/// <param name="mdp"> String le mot de passe de l'Expert</param>
|
|
/// <param name="surnom">String surnom de l'Expert</param>
|
|
public Expert(string email, string mdp, string surnom) : base(email, mdp)
|
|
{
|
|
Surnom = surnom;
|
|
DateD = DateTime.Now;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Constructeur avec DateTime
|
|
/// </summary>
|
|
/// <param name="email">String email de l'Expert (son identifiant pour se connecter</param>
|
|
/// <param name="mdp"> String le mot de passe de l'Expert</param>
|
|
/// <param name="surnom">String surnom de l'Expert</param>
|
|
/// <param name="date">Date de création du compte Expert</param>
|
|
public Expert(string email, string mdp, string surnom, DateTime date) : base(email, mdp)
|
|
{
|
|
Surnom = surnom;
|
|
DateD = date;
|
|
}
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// Méthode ToString de la classe Expert
|
|
/// </summary>
|
|
public override string ToString()
|
|
{
|
|
return Email + " " + " " + Surnom + " " + DateD;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Méthode de test lors de la création de la class Expert qui permettait de valider ou de refuser des requins ajoutés par les utilisateurs
|
|
/// </summary>
|
|
/// <param name="lBdPasFinie">List de Requin qui est la list contenant tout les requins ajoutés par des Utilisateurs</param>
|
|
/// <param name="lBdFinie">List de Requin qui est la list contenant tout les requins validés par les experts</param>
|
|
/// <returns>Int : Le nombre changement validé</returns>
|
|
|
|
public int ValiderSubmit(List<Requin> lBdFinie, List<Requin> lBdPasFinie)
|
|
{
|
|
int i=0;
|
|
string rep;
|
|
List<Requin> nv = new List<Requin>();
|
|
foreach (Requin r in lBdPasFinie)
|
|
{
|
|
nv.Add(r);
|
|
}
|
|
foreach (Requin r in nv)
|
|
{
|
|
Console.WriteLine(r);
|
|
Console.WriteLine("Voulez vous ajoutez ce requin à la base de données des requins ? (y/n)");
|
|
rep = Console.ReadLine();
|
|
while (rep!="n" && rep != "y")
|
|
{
|
|
Console.WriteLine("Erreur de saisie (y/n)");
|
|
rep = Console.ReadLine();
|
|
}
|
|
if (rep == "y")
|
|
{
|
|
lBdFinie.Add(r);
|
|
i++;
|
|
}
|
|
lBdPasFinie.Remove(r);
|
|
|
|
}
|
|
return i;
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// Méthode de test lors de la création de la class Expert qui permettait de valider ou de refuser des requins édités par les utilisateurs
|
|
/// </summary>
|
|
/// <param name="lBdPasfinie">List de Requin qui est la list contenant tout les requins ajoutés par des Utilisateurs</param>
|
|
/// <param name="lBdFinie">List de Requin qui est la list contenant tout les requins validés par les experts</param>
|
|
/// <returns>Int : Le nombre changement validé</returns>
|
|
public int ValiderUnChangement(List<Requin> lBdFinie, List<Requin> lBdPasfinie)
|
|
{
|
|
int i = 0;
|
|
string rep;
|
|
List<Requin> nv = new List<Requin>();
|
|
foreach (Requin r in lBdPasfinie)
|
|
{
|
|
nv.Add(r);
|
|
}
|
|
foreach (Requin r in nv)
|
|
{
|
|
Console.WriteLine(r);
|
|
Console.WriteLine("Voulez vous ajoutez ce requin à la base de données des requins ? (y/n)");
|
|
rep = Console.ReadLine();
|
|
while (rep != "n" && rep != "y")
|
|
{
|
|
Console.WriteLine("Erreur de saisie (y/n)");
|
|
rep = Console.ReadLine();
|
|
}
|
|
if (rep == "y")
|
|
{
|
|
lBdFinie.Remove(r);
|
|
lBdFinie.Add(r);
|
|
i++;
|
|
}
|
|
lBdPasfinie.Remove(r);
|
|
|
|
}
|
|
return i;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Méthode Equals de la Class Expert qui permet de savoir si deux experts sont égaux, regarde en fonction des emails
|
|
/// </summary>
|
|
/// <param name="e">Expert</param>
|
|
/// <returns>Booléen : true si elles sont égales, false si elles sont différentes</returns>
|
|
public bool Equals(Expert e)
|
|
{
|
|
return Email == e.Email;
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// Méthode qui permet d'ajouter un Requin dans une ObservableCollection de Requin
|
|
/// </summary>
|
|
/// <param name="req">Requin qui va être ajouté dans l'observable collection</param>
|
|
/// <param name="requins">ObservableCollection de Requin l'ObservableCollection dans laquelle on ajoute le Requin</param>
|
|
public override void AjouterRequin(Requin req, ObservableCollection<Requin> requins)
|
|
{
|
|
requins.Add(req);
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// Méthode qui permet de changer le mot de passe de l'Expert
|
|
/// </summary>
|
|
/// <param name="nvMdp">String nouveau mot de passe de l'Expert</param>
|
|
public override void ChangerMotDePasse(string nvMdp)
|
|
{
|
|
MotDePasse = nvMdp;
|
|
}
|
|
}
|
|
}
|