using Microsoft; using ParionsCuite; 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 ParionsCuite.Modeles { [DataContract] public class Participation { [DataMember] public List Boissons { get; private set; } [DataMember] public List Nourriture { get; private set; } [DataMember] public List Autre { get; private set; } public Participation(List boisson, List nourriture, List autre) { Boissons = boisson; Nourriture = nourriture; Autre = autre; } public Participation() { Boissons = new List(); Nourriture = new List(); Autre = new List(); } /* Boisson */ public bool Ajout_Boissons(Boisson boisson) { foreach (var obj in Boissons) { if (obj.Equals(boisson)) { if (boisson.Quantite > 0) { obj.Quantite = obj.Quantite + boisson.Quantite; return true; } return false; } } Boissons.AddRange((IEnumerable)boisson); return true; } public bool Sup_Boissons(Boisson boisson, int quantite) { foreach(var obj in Boissons) { if (obj.Equals(boisson)) if (quantite > 0) { if (quantite >= boisson.Quantite) { Boissons.Remove(boisson); return true; } obj.Quantite = obj.Quantite + boisson.Quantite; return true; } return false; } return false; } /* Nourriture */ public bool Ajout_Nourriture(Nourriture food) { foreach (var obj in Nourriture) { if (obj.Equals(food)) { if (food.Quantite > 0) { obj.Quantite = obj.Quantite + food.Quantite; return true; } return false; } } Nourriture.AddRange((IEnumerable)food); return true; } public bool Sup_Nourriture(Nourriture food, int quantite) { foreach (var obj in Boissons) { if (obj.Equals(food)) if (quantite > 0) { if (quantite >= food.Quantite) { Nourriture.Remove(food); return true; } obj.Quantite = obj.Quantite + food.Quantite; return true; } return false; } return false; } /* Autre */ public bool Ajout_Autre(Autre autre) { foreach (var obj in Autre) { if (obj.Equals(autre)) { if (autre.Quantite > 0) { obj.Quantite = obj.Quantite + autre.Quantite; return true; } return false; } } Autre.AddRange((IEnumerable)autre); return true; } public bool Sup_Autre(Autre autre, int quantite) { foreach (var obj in Autre) { if (obj.Equals(autre)) if (quantite > 0) { if (quantite >= autre.Quantite) { Autre.Remove(autre); return true; } obj.Quantite = obj.Quantite + autre.Quantite; return true; } return false; } return false; } } }