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.

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