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
{
///
/// Classe Utilisateur qui implémente l'interface Personne
///
[DataContract]
public class Utilisateur : Personne
{
///
/// int qui permet de savoir le nombre d'ajouts et de modifications qu'à fait un utilisateur
///
[DataMember]
public int NbSubmit { get; private set; }
///
/// Constructeur d'utilisateur sans nombre de submits
///
/// string l'email de l'utilisateur
/// string mot de passe de l'utilisateur
public Utilisateur(string mail, string mdp): base(mail, mdp)
{
NbSubmit = 0;
}
///
/// Constructeur d'utilisateur avec nombre de submits
///
/// string l'email de l'utilisateur
/// string mot de passe de l'utilisateur
/// int le nombre de submits de l'utilisateur
public Utilisateur(string mail, string mdp, int nbSubmit): base(mail, mdp)
{
NbSubmit = nbSubmit;
}
///
/// Méthode ToString de la classe Utilisateur
///
public override string ToString()
{
return Email + " " + NbSubmit;
}
///
/// Méthode Equals de la classe Utilisateur qui regarde en fonction des emails
///
/// Utilisateur
/// Booléen : true si ils sont égaux, false si ils sont différents
public bool Equals(Utilisateur u)
{
return Email == u.Email;
}
///
/// Méthode qui permet d'ajouter un Requin dans une ObservableCollection de Requin et d'augmenter le nombre de submits de 1
///
/// Requin qui va être ajouté dans l'observable collection
/// ObservableCollection de Requin l'ObservableCollection dans laquelle on ajoute le Requin
public override void AjouterRequin(Requin req, ObservableCollection requins)
{
requins.Add(req);
NbSubmit++;
}
///
/// Méthode qui permet de changer le mot de passe de l'Utilisateur
///
/// String nouveau mot de passe de l'Utilisateur
public override void ChangerMotDePasse(string nvMdp)
{
MotDePasse = nvMdp;
}
}
}