| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- using System;
- using System.Collections.Generic;
- using System.Text;
- namespace CG67.FicheCollege.Domaine
- {
- public delegate IList<RestaurationExterne> dlgLoadRestaurationExterne(string codeRNE, int annee);
- [Serializable]
- public class Restauration
- {
- private dlgLoadRestaurationExterne LoaderRestaurationExterne;
- private string mCodeRNE;
- private int mAnnee;
- /// <summary>
- /// Nombre total de rationnaire.
- /// </summary>
- private int mNbrPersonnes;
- /// <summary>
- /// Liste de restaurations externes,
- /// si cette liste à pour valeur null, c'est que l'établissement dispose d'une cantine
- /// sinon cette liste regroupera tous les types de restauration externes utilisés
- /// (télérestauration, hébergement, ...)
- /// </summary>
- private IList<RestaurationExterne> mLstRestaurationExterne;
- /// <summary>
- /// Obtient ou définit le nombre total de rationnaire.
- /// </summary>
- public int NbrPersonnes
- {
- get { return mNbrPersonnes; }
- set { mNbrPersonnes = value; }
- }
- /// <summary>
- /// Obtient ou définit la liste de restaurations externes.
- /// </summary>
- public IList<RestaurationExterne> LstRestaurationExterne
- {
- get {
- if (mLstRestaurationExterne == null)
- mLstRestaurationExterne = this.LoaderRestaurationExterne(mCodeRNE, mAnnee);
- return mLstRestaurationExterne;
- }
- set { mLstRestaurationExterne = value; }
-
- }
- public Restauration(int annee, string codeRNE, int nbrPersonnes, dlgLoadRestaurationExterne loaderRestaurationExterne)
- {
- this.mAnnee = annee;
- this.mNbrPersonnes = nbrPersonnes;
- this.mCodeRNE = codeRNE;
- this.LoaderRestaurationExterne = loaderRestaurationExterne;
- }
- public override string ToString()
- {
- string retour = NbrPersonnes + " rationnaires";
- if (LstRestaurationExterne.Count == 0)
- retour += ". \nL'établissement dispose d'une restauration interne.";
- else
- {
- int nbrAide = 0;
- string retourAide = string.Empty;
- foreach (RestaurationExterne restaur in LstRestaurationExterne)
- {
- retourAide += "\n - " + restaur.NbrPersonnes + " " + restaur.TypeRestauration + " par l'établissement " + restaur.NomCollege + ".";
- nbrAide += restaur.NbrPersonnes;
- }
- retour += " : ";
- int difference = NbrPersonnes - nbrAide;
- if (difference != 0)
- retour += "\n - L'établissement ne dispose pas d'une restauration suffisante, de ce fait uniquement " + difference + " élèves sont réstaurés en interne.";
- retour += retourAide;
- }
- return retour;
- }
- }
- }
|