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.

268 lines
7.1 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
{
[DataContract(Name = "animal")]
public class Animal : INotifyPropertyChanged
{
public event PropertyChangedEventHandler? PropertyChanged;
[DataMember(Name = "nom")]
public string Nom
{
get => nom;
set
{
if (nom == value)
return;
nom = value;
NomIsValid = NomValidate();
OnPropertyChanged(nameof(Nom));
}
}
private string nom;
public bool NomIsValid
{
get => nomIsValid;
set
{
if (nomIsValid == value)
return;
nomIsValid = value;
OnPropertyChanged(nameof(NomIsValid));
}
}
private bool nomIsValid;
[DataMember(Name = "naissance")]
public string DateNaissance
{
get => dateNaissance;
set
{
if (dateNaissance == value)
return;
dateNaissance = value;
OnPropertyChanged(nameof(DateNaissance));
}
}
private string dateNaissance;
[DataMember(Name = "sexe")]
public string Sexe
{
get => sexe;
set {
if (sexe == value)
return;
sexe = value;
OnPropertyChanged(nameof(Sexe));
}
}
private string sexe;
[DataMember(Name = "adoption")]
public string DateAdoption
{
get => dateAdoption;
set
{
if (dateAdoption == value)
return;
dateAdoption = value;
OnPropertyChanged(nameof(DateAdoption));
}
}
private string dateAdoption;
[DataMember(Name = "taille")]
public float? Taille
{
get => taille;
set
{
if (taille == value)
return;
taille = value;
OnPropertyChanged(nameof(Taille));
}
}
private float? taille;
[DataMember(Name = "poids")]
public float? Poids
{
get => poids;
set
{
if (poids == value)
return;
poids = value;
OnPropertyChanged(nameof(Poids));
}
}
private float? poids;
[DataMember(Name = "alimentation")]
public string Alimentation
{
get => alimentation;
set
{
if (alimentation == value)
return;
alimentation = value;
OnPropertyChanged(nameof(Alimentation));
}
}
private string alimentation;
[DataMember(Name = "espèce")]
public Espece? Espece
{
get => espece;
set
{
if (espece == value)
return;
espece = value;
OnPropertyChanged(nameof(Espece));
}
}
private Espece? espece;
[DataMember(Name = "race")]
public Race? Race
{
get => race;
set
{
if(race == value)
return;
race = value;
OnPropertyChanged(nameof(Race));
}
}
private Race? race;
[DataMember(Name = "veterinaire")]
public Veterinaire? Veterinaire
{
get => veterinaire;
set
{
if(veterinaire == value)
return;
veterinaire = value;
OnPropertyChanged(nameof(Veterinaire));
}
}
private Veterinaire? veterinaire = new Veterinaire();
[DataMember(Name = "chenil")]
public Entite? Chenil
{
get => chenil;
set
{
if (chenil == value)
return;
chenil = value;
OnPropertyChanged(nameof(Chenil));
}
}
private Entite? chenil = new Entite();
[DataMember(Name = "magasin")]
public Entite? MagasinAlimentaire
{
get => magasinAlimentaire;
set
{
if (magasinAlimentaire == value)
return;
magasinAlimentaire = value;
OnPropertyChanged(nameof(MagasinAlimentaire));
}
}
private Entite? magasinAlimentaire = new Entite();
[DataMember(Name = "provenance")]
public Entite? Provenance
{
get => provenance;
set
{
if (provenance == value)
return;
provenance = value;
OnPropertyChanged(nameof(Petsitter));
}
}
private Entite? provenance = new Entite();
[DataMember(Name = "petsitter")]
public Entite? Petsitter
{
get => petsitter;
set
{
if (petsitter == value)
return;
petsitter = value;
OnPropertyChanged(nameof(Petsitter));
}
}
private Entite? petsitter = new Entite();
[DataMember(Name = "image")]
public string Image
{
get => image;
set
{
if (image == value)
return;
image = value;
OnPropertyChanged(nameof(Image));
}
}
private string image;
public Animal(string nom = "", string dateNaissance = "Inconnue", string sexe = "Inconnu", string dateAdpotion = "Inconnue", float? taille = null, float? poids = null, string alimentation = "Inconnue")
{
Nom = nom;
DateNaissance = dateNaissance;
Sexe = sexe;
DateAdoption = dateAdpotion;
Taille = taille;
Poids = poids;
Alimentation = alimentation;
NomIsValid = false;
}
void OnPropertyChanged(string propertyName)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
bool NomValidate()
{
if(Nom.Length <= 0 || Nom.StartsWith(" ")) return false;
return true;
}
}
}