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.
Ohara_MAUI/Sources/Model/Classes/Equipage.cs

154 lines
4.4 KiB

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Runtime.Serialization;
using System.Text;
using System.Threading.Tasks;
using System.Xml.Linq;
namespace Model.Classes
{
[DataContract(Name = "equipage")]
public class Equipage : ObjetOhara
{
[DataMember(Name = "nomromanise")]
private string? nomromanise;
public string? NomRomanise
{
get => nomromanise;
set
{
if (nomromanise == value) return;
nomromanise = value;
OnPropertyChanged();
}
}
[DataMember(Name = "region")]
private string? region;
public string? Region {
get=> region;
set
{
if (region == value) return;
region = value;
OnPropertyChanged();
}
}
[DataMember(Name = "premierchap")]
private int premierchap;
public int PremierChap {
get=>premierchap;
set
{
if(premierchap == value) return;
premierchap = value;
OnPropertyChanged();
}
}
[DataMember(Name = "premierep")]
private int premierep;
public int PremierEp {
get=>premierep;
set
{
if(premierep == value) return;
premierep = value;
OnPropertyChanged();
}
}
[DataMember(Name = "statut")]
private bool statut;
public bool Statut {
get=>statut;
set
{
if (statut == value) return;
statut = value;
OnPropertyChanged();
}
}
[DataMember(Name = "description")]
private string? description;
public string? Description {
get=>description;
set
{
if(description == value) return;
description = value;
OnPropertyChanged();
}
}
[DataMember(Name = "capitaine")]
public Personnage? Capitaine { get; set; }
[DataMember(Name = "membre")]
public List<Personnage> Membre { get; set; } = new List<Personnage>();
[DataMember(Name = "allie")]
public List<Equipage> Allie { get; set; } = new List<Equipage>();
public Equipage(string nom, string nomRomanise, string region, int premierChap, int premierEp, bool statut, string description) : base(nom)
{
NomRomanise = nomRomanise;
Region = region;
if (premierEp < 0)
{
PremierEp = 0;
}
else
{
PremierEp = premierEp;
}
if (premierChap < 0)
{
premierChap = 0;
}
else
{
PremierChap = premierChap;
}
Statut = statut;
Description = description;
}
public Equipage(string nom, string nomRomanise, string region, int premierChap, int premierEp, bool statut, string description, string image) : this(nom, nomRomanise, region, premierChap, premierEp, statut, description)
{
if (String.IsNullOrWhiteSpace(image))
{
image = "baseimage.png";
}
Image = image;
}
public override bool Equals(object? obj)
{
if (obj == null) return false;
if (this.GetType() != obj.GetType())
{
return false;
}
else
{
Equipage o = (Equipage)obj;
return o.Nom == Nom;
}
}
public override int GetHashCode()
{
return HashCode.Combine(NomRomanise, Region, PremierChap, PremierEp, Statut, Description);
}
public override string ToString()
{
return "Equipage :" + Nom +" "+EstFavori+ " " + NomRomanise + " " + Region + " " + PremierChap + " " + PremierEp + " " + Statut + " " + Description + " " + Image;
}
}
}