Etablissement.cs 36 KB

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