Etablissement.cs 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. namespace CG67.FicheCollege.Domaine
  5. {
  6. // pointeurs de fonction, easy-loading.
  7. public delegate IList<ActionEducative> dlgLoadActionEducative(string codeRNE, int annee);
  8. public delegate IList<ATC> dlgLoadATC(string codeRNE);
  9. public delegate Bilinguisme dlgLoadBilinguisme(string codeRNE, int annee);
  10. public delegate Commentaires dlgLoadCommentaires(string codeRNE, int annee);
  11. public delegate IList<Contact> dlgLoadContact(string codeRNE);
  12. public delegate Dotation dlgLoadDotation(string codeRNE, int annee);
  13. public delegate IList<Equipement> dlgLoadEquipement(string codeRNE, int annee);
  14. public delegate IList<Investissement> dlgLoadInvestissement(string codeRNE, int annee);
  15. public delegate MCG dlgLoadMCG(string codeRNE);
  16. public delegate Logement dlgLoadLogement(string codeRNE);
  17. public delegate IList<ProgTravaux> dlgLoadProgTravaux(string codeRNE, int annee);
  18. public delegate IList<ProjetPilote> dlgLoadProjetPilote(string codeRNE, int annee);
  19. public delegate Restauration dlgLoadRestauration(string codeRNE, int annee);
  20. [Serializable]
  21. public class Etablissement
  22. {
  23. #region Propriétés
  24. #region Loaders
  25. private dlgLoadActionEducative LoaderActionEducative;
  26. private dlgLoadATC LoaderATC;
  27. private dlgLoadBilinguisme LoaderBilinguisme;
  28. private dlgLoadCommentaires LoaderCommentaires;
  29. private dlgLoadContact LoaderContact;
  30. private dlgLoadDotation LoaderDotation;
  31. private dlgLoadEquipement LoaderEquipement;
  32. private dlgLoadInvestissement LoaderInvestissement;
  33. private dlgLoadMCG LoaderMCG;
  34. private dlgLoadLogement LoaderLogement;
  35. private dlgLoadProgTravaux LoaderProgTravaux;
  36. private dlgLoadProjetPilote LoaderProjetPilote;
  37. private dlgLoadRestauration LoaderRestauration;
  38. #endregion
  39. /// <summary>
  40. /// Code RNE de l'établissement.
  41. /// </summary>
  42. private string mCodeRNE;
  43. /// <summary>
  44. /// annee de generation de la fiche.
  45. /// </summary>
  46. private int mAnnee;
  47. /// <summary>
  48. /// Nom de l'établissement.
  49. /// </summary>
  50. private string mNom;
  51. /// <summary>
  52. /// Type de l'établissement de l'établissement.
  53. /// </summary>
  54. private string mTypeEtablissement;
  55. /// <summary>
  56. /// Année de contruction de l'établissement.
  57. /// </summary>
  58. private int mAnneConstruction;
  59. /// <summary>
  60. /// Telephone de l'établissement.
  61. /// </summary>
  62. private string mTelephone;
  63. /// <summary>
  64. /// E-Mail de l'établissement.
  65. /// </summary>
  66. private string mEmail;
  67. /// <summary>
  68. /// Fax de l'établissement.
  69. /// </summary>
  70. private string mFax;
  71. /// <summary>
  72. /// Nom du propriétaire de l'établissement.
  73. /// </summary>
  74. private string mNomProprietaire;
  75. /// <summary>
  76. /// Valeur théorique ETP (Equivalent Temps Plein) de l'établissement.
  77. /// </summary>
  78. private double mValeurETPTheorique;
  79. /// <summary>
  80. /// Montant de la réserve monétaire de l'établissement.
  81. /// </summary>
  82. private double mReserve;
  83. /// <summary>
  84. /// IListe des actions éducatives dont l'établissement participe.
  85. /// </summary>
  86. private IList<ActionEducative> mLstActionEducatives;
  87. /// <summary>
  88. /// IListe des projets pilotes dont l'établissement participe.
  89. /// </summary>
  90. private IList<ProjetPilote> mLstProjetPilote;
  91. /// <summary>
  92. /// Dotation à l'année N de l'établissement.
  93. /// </summary>
  94. private Dotation mDotationAnneeN;
  95. /// <summary>
  96. /// Dotation à l'année N - 1 de l'établissement.
  97. /// </summary>
  98. private Dotation mDotationAnneeNmoins1;
  99. /// <summary>
  100. /// IListe des investissements de l'établissement.
  101. /// </summary>
  102. private IList<Investissement> mLstInvestissement;
  103. /// <summary>
  104. /// IListe du nombre d'effectif collégien sur les 10 dernières années
  105. /// </summary>
  106. private IList<int> mLstEffectifReel;
  107. /// <summary>
  108. /// IListe du nombre prévisionnel d'effectif collégien sur les 5 prochaines années
  109. /// </summary>
  110. private IList<int> mLstEffectifPrevisionnel;
  111. /// <summary>
  112. /// Surface d'emprise de l'établissement
  113. /// </summary>
  114. private double mSurface;
  115. /// <summary>
  116. /// IListe des années de restructuration
  117. /// </summary>
  118. private IList<int> mLstRestructuration;
  119. /// <summary>
  120. /// Principal, gesionnaire et conseiller general de l'établissement (Civilité, Nom, Prénom)
  121. /// </summary>
  122. private IList<Contact> mContacts;
  123. /// <summary>
  124. /// MCG de rattachement de l'établissement
  125. /// </summary>
  126. private MCG mMcgRattachement;
  127. /// <summary>
  128. /// Logement de fonction
  129. /// </summary>
  130. private Logement mLogementFonction;
  131. /// <summary>
  132. /// IListe d'ATC
  133. /// </summary>
  134. private IList<ATC> mLstATC;
  135. /// <summary>
  136. /// IListe des équipements
  137. /// </summary>
  138. private IList<Equipement> mLstEquipements;
  139. /// <summary>
  140. /// Le(s) secteur(s) de recrutement de l'établissement.
  141. /// </summary>
  142. private IList<string> mLstSecteurRecrutement;
  143. /// <summary>
  144. /// adresse de l'établissement.
  145. /// </summary>
  146. private string mAdresse;
  147. /// <summary>
  148. /// complément de l'adresse.
  149. /// </summary>
  150. private string mComplementAdresse;
  151. /// <summary>
  152. /// ville de l'établissement.
  153. /// </summary>
  154. private string mVille;
  155. /// <summary>
  156. /// Contient les commentaires utiles à différents moments de la fiche.
  157. /// </summary>
  158. private Commentaires mCommentairesGeneraux;
  159. /// <summary>
  160. /// Liste de travaux de n-1 à n+1
  161. /// </summary>
  162. private IList<ProgTravaux> mLstTravaux;
  163. /// <summary>
  164. /// objet restauration
  165. /// </summary>
  166. private Restauration mRestaurer;
  167. /// <summary>
  168. /// Bilinguisme
  169. /// </summary>
  170. private Bilinguisme mBilingue;
  171. /// <summary>
  172. /// Code postal du l'établissement
  173. /// </summary>
  174. private int mCodePostal;
  175. /// <summary>
  176. /// Lien vers la photo du collège.
  177. /// </summary>
  178. private string mLienPhoto;
  179. /// <summary>
  180. /// nombre total de remplacements d'ATC
  181. /// </summary>
  182. private int mNbrRemplacementsATC;
  183. #endregion
  184. #region méthodes get/set
  185. /// <summary>
  186. /// Obtient ou définit le Code RNE de l'établissement.
  187. /// </summary>
  188. public string CodeRNE
  189. {
  190. get { return mCodeRNE; }
  191. set { mCodeRNE = value; }
  192. }
  193. /// <summary>
  194. /// Obtient ou définit le Nom de l'établissement.
  195. /// </summary>
  196. public string Nom
  197. {
  198. //si le collège n'a pas de nom, on retourne la ville du collège (ex : collège de truchtersheim)
  199. get
  200. {
  201. if (mNom == string.Empty)
  202. return "de " + mVille;
  203. return mNom;
  204. }
  205. set { mNom = value; }
  206. }
  207. /// <summary>
  208. /// Obtient ou définit le Type de l'établissement.
  209. /// </summary>
  210. public string TypeEtablissement
  211. {
  212. get { return mTypeEtablissement; }
  213. set { mTypeEtablissement = value; }
  214. }
  215. /// <summary>
  216. /// Obtient ou définit l'année de construction de l'établissement.
  217. /// </summary>
  218. public int AnneeConstruction
  219. {
  220. get { return mAnneConstruction; }
  221. set { mAnneConstruction = value; }
  222. }
  223. /// <summary>
  224. /// Obtient ou définit le téléphone de l'établissement.
  225. /// </summary>
  226. public string Telephone
  227. {
  228. get { return mTelephone; }
  229. set { mTelephone = value; }
  230. }
  231. /// <summary>
  232. /// Obtient ou définit l'email de l'établissement.
  233. /// </summary>
  234. public string Email
  235. {
  236. get { return mEmail; }
  237. set { mEmail = value; }
  238. }
  239. /// <summary>
  240. /// Obtient ou définit le fax de l'établissement.
  241. /// </summary>
  242. public string Fax
  243. {
  244. get { return mFax; }
  245. set { mFax = value; }
  246. }
  247. /// <summary>
  248. /// Obtient ou définit le Nom du propriétaire de l'établissement.
  249. /// </summary>
  250. public string NomProprietaire
  251. {
  252. get { return mNomProprietaire; }
  253. set { mNomProprietaire = value; }
  254. }
  255. /// <summary>
  256. /// Obtient ou définit la valeur ETP Théorique de l'établissement.
  257. /// </summary>
  258. public double ValeurETPTheorique
  259. {
  260. get { return mValeurETPTheorique; }
  261. set { mValeurETPTheorique = value; }
  262. }
  263. /// <summary>
  264. /// Obtient ou définit la réserve monétaire de l'établissement.
  265. /// </summary>
  266. public double Reserve
  267. {
  268. get { return mReserve; }
  269. set { mReserve = value; }
  270. }
  271. /// <summary>
  272. /// Obtient ou définit la IListe des actions éducatives auxquels l'établissement participe.
  273. /// </summary>
  274. public IList<ActionEducative> LstActionEducatives
  275. {
  276. get
  277. {
  278. if (mLstActionEducatives == null)
  279. mLstActionEducatives = this.LoaderActionEducative(mCodeRNE, mAnnee);
  280. return mLstActionEducatives;
  281. }
  282. set { mLstActionEducatives = value; }
  283. }
  284. /// <summary>
  285. /// Obtient ou définit la IListe des projets pilotes auxquels l'établissement participe.
  286. /// </summary>
  287. public IList<ProjetPilote> LstProjetPilote
  288. {
  289. get
  290. {
  291. if (mLstProjetPilote == null)
  292. mLstProjetPilote = this.LoaderProjetPilote(mCodeRNE, mAnnee);
  293. return mLstProjetPilote;
  294. }
  295. set { mLstProjetPilote = value; }
  296. }
  297. /// <summary>
  298. /// Obtient ou définit la dotation à l'année N de l'établissement.
  299. /// </summary>
  300. public Dotation DotationAnneeN
  301. {
  302. get
  303. {
  304. if (mDotationAnneeN == null)
  305. mDotationAnneeN = this.LoaderDotation(mCodeRNE, mAnnee);
  306. return mDotationAnneeN;
  307. }
  308. set { mDotationAnneeN = value; }
  309. }
  310. /// <summary>
  311. /// Obtient ou définit la dotation à l'année N - 1 de l'établissement.
  312. /// </summary>
  313. public Dotation DotationAnneeNmoins1
  314. {
  315. get
  316. {
  317. if (mDotationAnneeNmoins1 == null)
  318. mDotationAnneeNmoins1 = this.LoaderDotation(mCodeRNE, mAnnee - 1);
  319. return mDotationAnneeNmoins1;
  320. }
  321. set { mDotationAnneeNmoins1 = value; }
  322. }
  323. /// <summary>
  324. /// Obtient ou définit la IListe des investissements de l'établissement.
  325. /// </summary>
  326. public IList<Investissement> LstInvestissement
  327. {
  328. get
  329. {
  330. if (mLstInvestissement == null)
  331. mLstInvestissement = this.LoaderInvestissement(mCodeRNE, mAnnee);
  332. return mLstInvestissement;
  333. }
  334. set { mLstInvestissement = value; }
  335. }
  336. /// <summary>
  337. /// Obtient ou définit la IListe du nombre d'effectif collégien sur les 10 dernières années
  338. /// </summary>
  339. public IList<int> LstEffectifReel
  340. {
  341. get { return mLstEffectifReel; }
  342. set { mLstEffectifReel = value; }
  343. }
  344. /// <summary>
  345. /// Obtient ou définit la IListe du nombre prévisionnel d'effectif collégien sur les 5 prochaines années
  346. /// </summary>
  347. public IList<int> LstEffectifPrevisionnel
  348. {
  349. get { return mLstEffectifPrevisionnel; }
  350. set { mLstEffectifPrevisionnel = value; }
  351. }
  352. /// <summary>
  353. /// Obtient ou définit la surface d'emprise de l'établissement
  354. /// </summary>
  355. public double Surface
  356. {
  357. get { return mSurface; }
  358. set { mSurface = value; }
  359. }
  360. /// <summary>
  361. /// Obtient ou définit le IListe des années de restructuration
  362. /// </summary>
  363. public IList<int> LstRestructuration
  364. {
  365. get { return mLstRestructuration; }
  366. set { mLstRestructuration = value; }
  367. }
  368. /// <summary>
  369. /// Obtient au définit le principal de l'établissement (Civilité, Nom, Prénom)
  370. /// </summary>
  371. public IList<Contact> Contacts
  372. {
  373. get {
  374. if (mContacts == null)
  375. mContacts = this.LoaderContact(mCodeRNE);
  376. return mContacts; }
  377. set { mContacts = value; }
  378. }
  379. /// <summary>
  380. /// Obtient ou définit la MCG re rattachement de l'établissement.
  381. /// </summary>
  382. public MCG McgRattachement
  383. {
  384. get
  385. {
  386. if (mMcgRattachement == null)
  387. mMcgRattachement = this.LoaderMCG(mCodeRNE);
  388. return mMcgRattachement;
  389. }
  390. set { mMcgRattachement = value; }
  391. }
  392. /// <summary>
  393. /// Obtient ou définit un objet Logement
  394. /// </summary>
  395. public Logement LogementDeFonction
  396. {
  397. get
  398. {
  399. if (mLogementFonction == null)
  400. mLogementFonction = this.LoaderLogement(mCodeRNE);
  401. return mLogementFonction;
  402. }
  403. set { mLogementFonction = value; }
  404. }
  405. /// <summary>
  406. /// Obtient ou définit la IListe d'ATC
  407. /// </summary>
  408. public IList<ATC> LstATC
  409. {
  410. get
  411. {
  412. if (mLstATC == null)
  413. mLstATC = this.LoaderATC(mCodeRNE);
  414. return mLstATC;
  415. }
  416. set { mLstATC = value; }
  417. }
  418. /// <summary>
  419. /// Obtient ou définit la IListe des équipements obtenus.
  420. /// </summary>
  421. public IList<Equipement> LstEquipements
  422. {
  423. get
  424. {
  425. if (mLstEquipements == null)
  426. mLstEquipements = this.LoaderEquipement(mCodeRNE, mAnnee);
  427. return mLstEquipements;
  428. }
  429. set { mLstEquipements = value; }
  430. }
  431. /// <summary>
  432. /// Obtient ou définit le(s) secteur(s) de recrutement de l'établissement.
  433. /// </summary>
  434. public IList<string> LstSecteurRecrutement
  435. {
  436. get { return mLstSecteurRecrutement; }
  437. set { mLstSecteurRecrutement = value; }
  438. }
  439. public string Adresse
  440. {
  441. get { return mAdresse; }
  442. set { mAdresse = value; }
  443. }
  444. public string ComplementAdresse
  445. {
  446. get { return mComplementAdresse; }
  447. set { mComplementAdresse = value; }
  448. }
  449. public string Ville
  450. {
  451. get { return mVille; }
  452. set { mVille = value; }
  453. }
  454. public Commentaires CommentaireGeneraux
  455. {
  456. get
  457. {
  458. if (mCommentairesGeneraux == null)
  459. mCommentairesGeneraux = this.LoaderCommentaires(mCodeRNE, mAnnee);
  460. return mCommentairesGeneraux;
  461. }
  462. set { mCommentairesGeneraux = value; }
  463. }
  464. public IList<ProgTravaux> LstTravaux
  465. {
  466. get
  467. {
  468. if (mLstTravaux == null)
  469. mLstTravaux = this.LoaderProgTravaux(mCodeRNE, mAnnee);
  470. return mLstTravaux;
  471. }
  472. set { mLstTravaux = value; }
  473. }
  474. public Restauration Restaurer
  475. {
  476. get
  477. {
  478. if (mRestaurer == null)
  479. mRestaurer = this.LoaderRestauration(mCodeRNE, mAnnee);
  480. return mRestaurer;
  481. }
  482. set { mRestaurer = value; }
  483. }
  484. public Bilinguisme Bilingue
  485. {
  486. get
  487. {
  488. if (mBilingue == null)
  489. mBilingue = this.LoaderBilinguisme(mCodeRNE, mAnnee);
  490. return mBilingue;
  491. }
  492. set { mBilingue = value; }
  493. }
  494. public int CodePostal
  495. {
  496. get { return mCodePostal; }
  497. set { mCodePostal = value; }
  498. }
  499. /// <summary>
  500. /// sera utilisé pour l'affichage sur la première page.
  501. /// </summary>
  502. public string NomCollegePourPresentation
  503. {
  504. get { return mVille + " - Collège " + Nom; }
  505. }
  506. public string LienPhoto
  507. {
  508. get { return mLienPhoto; }
  509. set { mLienPhoto = value; }
  510. }
  511. public int NbrRemplacementsATC
  512. {
  513. get { return mNbrRemplacementsATC; }
  514. set { mNbrRemplacementsATC = value; }
  515. }
  516. #endregion
  517. #region autres méthodes
  518. /// <summary>
  519. /// retourne le principal de l'établissement
  520. /// </summary>
  521. public string Principal
  522. {
  523. get
  524. {
  525. string retour = string.Empty;
  526. foreach (Contact cont in Contacts)
  527. if (cont.Fonction.ToLower() == "principal")
  528. retour = cont.Civilite + " " + Utile.formatStringPrenom(cont.Prenom) + " " + cont.Nom.ToUpper();
  529. return retour;
  530. }
  531. }
  532. /// <summary>
  533. /// retourne le gestionnaire de l'établissement
  534. /// </summary>
  535. public string Gestionnaire
  536. {
  537. get
  538. {
  539. string retour = string.Empty;
  540. foreach (Contact cont in Contacts)
  541. if (cont.Fonction.ToLower() == "gestionnaire")
  542. retour = cont.Civilite + " " + Utile.formatStringPrenom(cont.Prenom) + " " + cont.Nom.ToUpper();
  543. return retour;
  544. }
  545. }
  546. /// <summary>
  547. /// retourne le conseiller general de l'établissement
  548. /// </summary>
  549. public string ConseillerGeneral
  550. {
  551. get
  552. {
  553. string retour = string.Empty;
  554. foreach (Contact cont in Contacts)
  555. if (cont.Fonction.ToLower() == "conseiller general")
  556. retour = cont.Civilite + " " + Utile.formatStringPrenom(cont.Prenom) + " " + cont.Nom.ToUpper();
  557. return retour;
  558. }
  559. }
  560. /// <summary>
  561. /// retourne la phrase decrivant l'effectif de l'établissement
  562. /// </summary>
  563. public string Effectif
  564. {
  565. get
  566. {
  567. int nbrEleves = 0;
  568. //le dernier enregistrement de cette liste est l'effectif actuel.
  569. foreach (int nbr in LstEffectifReel)
  570. nbrEleves = nbr;
  571. string retour = nbrEleves + " élèves (année scolaire en cours) ";
  572. if (mTypeEtablissement == null)
  573. retour += "dont " + mTypeEtablissement.ToUpper();
  574. retour += ". ";
  575. bool valeurTest = true;
  576. foreach(int nbr in LstEffectifPrevisionnel){
  577. if (valeurTest)
  578. retour += nbr + " élèves prévisionnel pour la prochaine rentrée.";
  579. valeurTest = false;
  580. }
  581. return retour;
  582. }
  583. }
  584. /// <summary>
  585. /// retourne la phrase concernant le(s) restructurations de l'établissement
  586. /// </summary>
  587. public string PhraseRestructuration
  588. {
  589. get
  590. {
  591. string retour = string.Empty;
  592. foreach (int anneeRestruct in LstRestructuration)
  593. {
  594. if (LstRestructuration.Count == 1)
  595. {
  596. retour = Convert.ToString(anneeRestruct);
  597. break;
  598. }
  599. else
  600. {
  601. if (retour == string.Empty)
  602. retour = "Plusieurs restructurations lourdes ont été effectuées, les années de celles-ci sont les suivantes : ";
  603. retour += "\n - " + anneeRestruct;
  604. }
  605. }
  606. if (retour == string.Empty)
  607. retour = "néant";
  608. return retour;
  609. }
  610. }
  611. /// <summary>
  612. /// retourne le commentaire concernant le(s) aménagement(s) particulier(s) de l'établissement
  613. /// </summary>
  614. public string CommentaireAmenagementParticulier
  615. {
  616. get
  617. {
  618. return CommentaireGeneraux.AmenagementsParticuliers;
  619. }
  620. }
  621. /// <summary>
  622. /// retourne le commentaire concernant la programmation des travaux de l'établissement
  623. /// </summary>
  624. public string CommentaireProgTravaux
  625. {
  626. get
  627. {
  628. return CommentaireGeneraux.ProgrammationTravaux;
  629. }
  630. }
  631. /// <summary>
  632. /// retourne le commentaire concernant le secteur de recrutement de l'établissement
  633. /// </summary>
  634. public string CommentaireSecteurRecrutement
  635. {
  636. get
  637. {
  638. return CommentaireGeneraux.SecteurRecrutement;
  639. }
  640. }
  641. /// <summary>
  642. /// retourne le commentaire concernant le graphique d'évolution des effectifs de l'établissement
  643. /// </summary>
  644. public string CommentaireGraphique
  645. {
  646. get
  647. {
  648. return CommentaireGeneraux.TableauEffectif;
  649. }
  650. }
  651. /// <summary>
  652. /// retourne le commentaire concernant les prévisions d'éffectifs ATC de l'établissement
  653. /// </summary>
  654. public string CommentairePrevisionEffectifATC
  655. {
  656. get
  657. {
  658. return CommentaireGeneraux.PrevisionEffectifATC;
  659. }
  660. }
  661. /// <summary>
  662. /// retourne la phrase concernant la programmation des travaux de l'établissement
  663. /// </summary>
  664. public string PhraseProgTravaux
  665. {
  666. get
  667. {
  668. string retour = string.Empty;
  669. string type = string.Empty;
  670. //la requete trie déja par ordre de type d'opération.
  671. foreach (ProgTravaux prog in LstTravaux)
  672. {
  673. if (prog.TypeOperation == type)
  674. {
  675. retour += "\n\n" + prog.TypeOperation + " :";
  676. }
  677. retour += "\n" + prog.Annee + " : " + prog.Libelle;
  678. type = prog.TypeOperation;
  679. }
  680. if (retour == string.Empty)
  681. retour = "néant";
  682. return retour;
  683. }
  684. }
  685. /// <summary>
  686. /// retourne la phrase concernant le secteur de recrutement de l'établissement
  687. /// </summary>
  688. public string PhraseSecteurRecrutement
  689. {
  690. get
  691. {
  692. string retour = string.Empty;
  693. foreach (string com in LstSecteurRecrutement)
  694. {
  695. if (LstSecteurRecrutement.Count == 1)
  696. {
  697. retour = com;
  698. break;
  699. }
  700. else
  701. retour += com + "\n";
  702. }
  703. if (retour == string.Empty)
  704. retour = "l'information n'est actuellement pas disponible";
  705. return retour;
  706. }
  707. }
  708. /// <summary>
  709. /// retourne la phrase concernant les prévisions sur 5 ans de l'établissement
  710. /// </summary>
  711. public string PhrasePrevision5Ans
  712. {
  713. get
  714. {
  715. int nbrActuel = 0;
  716. int nbrPrev = 0;
  717. int nbrEvolution = 0;
  718. string retour;
  719. foreach (int nbr in LstEffectifPrevisionnel)
  720. nbrPrev = nbr;
  721. foreach (int nbr in LstEffectifReel)
  722. nbrActuel = nbr;
  723. nbrEvolution = nbrPrev - nbrActuel;
  724. int pourcentageEvol = ((nbrPrev * 100)/nbrActuel);
  725. if (nbrEvolution < 0)
  726. {
  727. retour = "Diminution de " + (nbrActuel - nbrPrev) + " élèves, soit " + pourcentageEvol + "% en moins sur les cinq prochaines années.";
  728. }
  729. else if (nbrEvolution == 0)
  730. {
  731. retour = "néant";
  732. }
  733. else
  734. {
  735. retour = "Augmentation de " + nbrEvolution + " élèves, soit " + pourcentageEvol + "% en plus sur les cinq prochaines années.";
  736. }
  737. return retour;
  738. }
  739. }
  740. /// <summary>
  741. /// retourne la liste des projets pilotes sous forme de string
  742. /// </summary>
  743. public List<string> LstStringProjetPilote
  744. {
  745. get
  746. {
  747. List<string> retour = new List<string>();
  748. foreach (ProjetPilote proj in LstProjetPilote)
  749. retour.Add(proj.Libelle);
  750. return retour;
  751. }
  752. }
  753. /// <summary>
  754. /// retourne la phrase concernant le total d'ATC de l'établissement
  755. /// </summary>
  756. public string PhraseTotalATC
  757. {
  758. get
  759. {
  760. int nbr = 0;
  761. foreach (ATC adjoint in LstATC)
  762. if (adjoint.ValeurETP < 1)
  763. nbr++;
  764. if (nbr != 0)
  765. return LstATC.Count + " agents, dont " + nbr + " à temps partiel.";
  766. else
  767. return LstATC.Count + " agents.";
  768. }
  769. }
  770. /// <summary>
  771. /// retourne la phrase concernant la valeur ETP totale des ATC de l'établissement
  772. /// </summary>
  773. public string PhraseValeurETP
  774. {
  775. get
  776. {
  777. double valeurReel = 0;
  778. foreach (ATC adjoint in LstATC)
  779. valeurReel += adjoint.ValeurETP;
  780. string retour = "ETP réels : " + valeurReel + "\nEtp Barème : " + ValeurETPTheorique + "\nEcart : ";
  781. double ecart = valeurReel - ValeurETPTheorique;
  782. if (ecart >= 0)
  783. retour += ecart;
  784. else
  785. retour += (ecart - ecart * 2);
  786. return retour;
  787. }
  788. }
  789. /// <summary>
  790. /// retourne la phrase concernant le nombre de jours de formation des ATC de l'établissement
  791. /// </summary>
  792. public string PhraseNombreJoursFormation
  793. {
  794. get
  795. {
  796. int valeur = 0;
  797. foreach (ATC adjoint in LstATC)
  798. valeur += adjoint.NbJoursFormation;
  799. return valeur + " jours.";
  800. }
  801. }
  802. /// <summary>
  803. /// retourne la phrase concernant le(s) remplacement(s) de l'établissement
  804. /// </summary>
  805. public string PhraseRemplacements
  806. {
  807. get
  808. {
  809. if (NbrRemplacementsATC == 0)
  810. return "néant";
  811. else if (NbrRemplacementsATC == 1)
  812. return "Le remplacement d'un agent à été assuré";
  813. else
  814. return "Le remplacement de " + NbrRemplacementsATC + " à été assuré";
  815. }
  816. }
  817. #endregion
  818. #region Constructeurs
  819. /// <summary>
  820. /// constructeur minimal d'établissement, sera utilisé au chargement de l'application.
  821. /// </summary>
  822. /// <param name="codeRNE"></param>
  823. /// <param name="nom"></param>
  824. /// <param name="ville"></param>
  825. public Etablissement(string codeRNE, string nom, string ville)
  826. {
  827. this.mCodeRNE = codeRNE;
  828. this.mNom = nom;
  829. this.mVille = ville;
  830. }
  831. public Etablissement(string codeRNE, int annee, string nom, string typeEtablissement, int anneeConstruction, string telephone, string email, string fax, string nomProprietaire, string adresse, string complementAdresse, int codePostal, string ville, string lienPhoto, dlgLoadActionEducative loaderActionEducative, dlgLoadATC loaderATC, dlgLoadBilinguisme loaderBilinguisme, dlgLoadCommentaires loaderCommentaires, dlgLoadContact loaderContact, dlgLoadDotation loaderDotation, dlgLoadEquipement loaderEquipement, dlgLoadInvestissement loaderInvestissement, dlgLoadMCG loaderMCG, dlgLoadLogement loaderLogement, dlgLoadProgTravaux loaderProgTravaux, dlgLoadProjetPilote loaderProjetPilote, dlgLoadRestauration loaderRestauration)
  832. {
  833. this.mCodeRNE = codeRNE;
  834. this.mAnnee = annee;
  835. this.mNom = nom;
  836. this.mTypeEtablissement = typeEtablissement;
  837. this.mAnneConstruction = anneeConstruction;
  838. this.mTelephone = telephone;
  839. this.mEmail = email;
  840. this.mFax = fax;
  841. this.mNomProprietaire = nomProprietaire;
  842. this.mAdresse = adresse;
  843. this.mComplementAdresse = complementAdresse;
  844. this.mVille = ville;
  845. this.mCodePostal = codePostal;
  846. this.mLienPhoto = lienPhoto;
  847. this.LoaderActionEducative = loaderActionEducative;
  848. this.LoaderATC = loaderATC;
  849. this.LoaderBilinguisme = loaderBilinguisme;
  850. this.LoaderCommentaires = loaderCommentaires;
  851. this.LoaderContact = loaderContact;
  852. this.LoaderDotation = loaderDotation;
  853. this.LoaderEquipement = loaderEquipement;
  854. this.LoaderInvestissement = loaderInvestissement;
  855. this.LoaderMCG = loaderMCG;
  856. this.LoaderLogement = loaderLogement;
  857. this.LoaderProgTravaux = loaderProgTravaux;
  858. this.LoaderProjetPilote = loaderProjetPilote;
  859. this.LoaderRestauration = loaderRestauration;
  860. }
  861. public Etablissement() { }
  862. #endregion
  863. }
  864. }