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.
148 lines
4.3 KiB
148 lines
4.3 KiB
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace Modèle
|
|
{
|
|
public class Requin : IEquatable<Requin>
|
|
{
|
|
public string Nom { get; private set; }
|
|
public string NomSci { get; private set; }
|
|
public string Description { get; private set; }
|
|
public string Photo { get; private set; }
|
|
public string Video { get; private set; }
|
|
public string PhotoCarte { get; private set; }
|
|
public Conservation StatutCons { get; private set; }
|
|
public string FunFact { get; private set; }
|
|
public List<Zone> Repartition { get; private set; }
|
|
|
|
|
|
public Requin(string nom, string nomSci, string description, string photo, string video, string photoCarte, Conservation statutCons, List<Zone> repartition, string funFact) {
|
|
Nom = nom;
|
|
NomSci = nomSci;
|
|
Description = description;
|
|
Photo = photo;
|
|
Video = video;
|
|
PhotoCarte = photoCarte;
|
|
StatutCons = statutCons;
|
|
Repartition = repartition;
|
|
FunFact = funFact;
|
|
}
|
|
|
|
public Requin(string nom, string nomSci, string description, string photo, string video, string photoCarte, Conservation statutCons, List<Zone> repartition, List<string> funFacts)
|
|
{
|
|
Random rnd = new Random();
|
|
int num = rnd.Next(funFacts.Count());
|
|
Nom = nom;
|
|
NomSci = nomSci;
|
|
Description = description;
|
|
Photo = photo;
|
|
Video = video;
|
|
PhotoCarte = photoCarte;
|
|
StatutCons = statutCons;
|
|
Repartition = repartition;
|
|
FunFact = funFacts[num];
|
|
}
|
|
|
|
public override string ToString()
|
|
{
|
|
return Nom + " " + NomSci + " " + Description + " " + StatutCons + " " + FunFact + " " + Photo;
|
|
}
|
|
|
|
|
|
public void ModiferRequin(string description, string photo, string video, string photoCarte, Conservation statutCons, List<Zone> repartition, string funFact)
|
|
{
|
|
if (! string.IsNullOrWhiteSpace(description))
|
|
{
|
|
Description = description;
|
|
}
|
|
if(! string.IsNullOrWhiteSpace(photo))
|
|
{
|
|
Photo = photo;
|
|
}
|
|
if(!string.IsNullOrWhiteSpace(video))
|
|
{
|
|
Video = video;
|
|
}
|
|
if (!string.IsNullOrWhiteSpace(photoCarte))
|
|
{
|
|
Photo = photoCarte;
|
|
}
|
|
if (statutCons != Conservation.NE)
|
|
{
|
|
StatutCons = statutCons;
|
|
}
|
|
if (!string.IsNullOrWhiteSpace(funFact))
|
|
{
|
|
FunFact = funFact;
|
|
}
|
|
if (repartition.Count()!= 0){
|
|
Repartition.Clear();
|
|
foreach(Zone z in repartition)
|
|
{
|
|
Repartition.Add(z);
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
public bool Equals(Requin r)
|
|
{
|
|
return r.Nom == Nom && r.NomSci == NomSci;
|
|
}
|
|
|
|
public override bool Equals(object obj)
|
|
{
|
|
if (ReferenceEquals(obj, null)) return false;
|
|
if (ReferenceEquals(obj, this)) return true;
|
|
if (GetType() != obj.GetType()) return false;
|
|
return Equals(obj as Requin);
|
|
}
|
|
|
|
public override int GetHashCode()
|
|
{
|
|
return Nom.GetHashCode() ^ NomSci.GetHashCode();
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
/*
|
|
public List<Requin> RechercheParNom(List<Requin> requins, string rech)
|
|
{
|
|
List<Requin> nvRequins = new List<Requin>();
|
|
foreach (Requin req in requins)
|
|
{
|
|
if (req.Nom.StartsWith(rech) || req.NomSci.StartsWith(rech))
|
|
{
|
|
nvRequins.Add(req);
|
|
}
|
|
}
|
|
return nvRequins;
|
|
}
|
|
|
|
public List<Requin> RechercheParZone(List<Requin> requins, Zone zone)
|
|
{
|
|
List<Requin> nvRequins = new List<Requin>();
|
|
foreach (Requin req in requins)
|
|
{
|
|
foreach (Zone laZone in req.Repartition)
|
|
{
|
|
if (laZone == zone)
|
|
{
|
|
nvRequins.Add(req);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
return nvRequins;
|
|
}
|
|
*/
|
|
}
|