Admin 16 jaren geleden
commit
315142ece5
81 gewijzigde bestanden met toevoegingen van 5094 en 0 verwijderingen
  1. 122 0
      CG67.FicheCollege.root/CG67.FicheCollege/CG67.FicheCollege.sln
  2. 10 0
      CG67.FicheCollege.root/CG67.FicheCollege/CG67.FicheCollege.vssscc
  3. 76 0
      CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Domaine/ATC.cs
  4. 55 0
      CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Domaine/ActionEducative.cs
  5. 46 0
      CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Domaine/Bilinguisme.cs
  6. 67 0
      CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Domaine/CG67.FicheCollege.Domaine.csproj
  7. 10 0
      CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Domaine/CG67.FicheCollege.Domaine.csproj.vspscc
  8. 57 0
      CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Domaine/ChiffresSignificatifs.cs
  9. 77 0
      CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Domaine/Commentaires.cs
  10. 87 0
      CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Domaine/Contact.cs
  11. 58 0
      CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Domaine/Dotation.cs
  12. 67 0
      CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Domaine/Equipement.cs
  13. 892 0
      CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Domaine/Etablissement.cs
  14. 55 0
      CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Domaine/Investissement.cs
  15. 55 0
      CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Domaine/Logement.cs
  16. 54 0
      CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Domaine/MCG.cs
  17. 56 0
      CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Domaine/ProgTravaux.cs
  18. 33 0
      CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Domaine/ProjetPilote.cs
  19. 35 0
      CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Domaine/Properties/AssemblyInfo.cs
  20. 83 0
      CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Domaine/Restauration.cs
  21. 49 0
      CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Domaine/RestaurationExterne.cs
  22. 21 0
      CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Domaine/Utile.cs
  23. 122 0
      CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Entrepot/CG67.FicheCollege.Entrepot.csproj
  24. 10 0
      CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Entrepot/CG67.FicheCollege.Entrepot.csproj.vspscc
  25. 48 0
      CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Entrepot/EntrepotATC.cs
  26. 58 0
      CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Entrepot/EntrepotActionEducative.cs
  27. 39 0
      CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Entrepot/EntrepotBase.cs
  28. 53 0
      CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Entrepot/EntrepotBilinguisme.cs
  29. 81 0
      CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Entrepot/EntrepotChiffresSignificatifs.cs
  30. 48 0
      CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Entrepot/EntrepotCommentaires.cs
  31. 47 0
      CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Entrepot/EntrepotContact.cs
  32. 66 0
      CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Entrepot/EntrepotDotation.cs
  33. 49 0
      CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Entrepot/EntrepotEquipement.cs
  34. 209 0
      CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Entrepot/EntrepotEtablissement.cs
  35. 140 0
      CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Entrepot/EntrepotFactory.cs
  36. 49 0
      CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Entrepot/EntrepotInvestissement.cs
  37. 50 0
      CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Entrepot/EntrepotLogement.cs
  38. 46 0
      CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Entrepot/EntrepotMCG.cs
  39. 52 0
      CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Entrepot/EntrepotProgTravaux.cs
  40. 48 0
      CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Entrepot/EntrepotProjetPilote.cs
  41. 50 0
      CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Entrepot/EntrepotRestauration.cs
  42. 48 0
      CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Entrepot/EntrepotRestaurationExterne.cs
  43. 35 0
      CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Entrepot/Properties/AssemblyInfo.cs
  44. 72 0
      CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Interface/CG67.FicheCollege.Interface.csproj
  45. 10 0
      CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Interface/CG67.FicheCollege.Interface.csproj.vspscc
  46. 12 0
      CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Interface/IEntrepotATC.cs
  47. 12 0
      CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Interface/IEntrepotActionEducative.cs
  48. 12 0
      CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Interface/IEntrepotBilinguisme.cs
  49. 12 0
      CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Interface/IEntrepotChiffresSignificatifs.cs
  50. 12 0
      CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Interface/IEntrepotCommentaires.cs
  51. 12 0
      CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Interface/IEntrepotContact.cs
  52. 12 0
      CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Interface/IEntrepotDotation.cs
  53. 12 0
      CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Interface/IEntrepotEquipement.cs
  54. 13 0
      CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Interface/IEntrepotEtablissement.cs
  55. 12 0
      CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Interface/IEntrepotInvestissement.cs
  56. 12 0
      CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Interface/IEntrepotLogement.cs
  57. 12 0
      CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Interface/IEntrepotMCG.cs
  58. 12 0
      CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Interface/IEntrepotProgTravaux.cs
  59. 12 0
      CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Interface/IEntrepotProjetPilote.cs
  60. 12 0
      CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Interface/IEntrepotRestauration.cs
  61. 12 0
      CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Interface/IEntrepotRestaurationExterne.cs
  62. 35 0
      CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Interface/Properties/AssemblyInfo.cs
  63. 107 0
      CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Service/CG67.FicheCollege.Service.csproj
  64. 10 0
      CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Service/CG67.FicheCollege.Service.csproj.vspscc
  65. 35 0
      CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Service/Properties/AssemblyInfo.cs
  66. 206 0
      CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Service/ServiceFiche.cs
  67. 8 0
      CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Testeur/App.config
  68. 64 0
      CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Testeur/CG67.FicheCollege.Testeur.csproj
  69. 10 0
      CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Testeur/CG67.FicheCollege.Testeur.csproj.vspscc
  70. 24 0
      CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Testeur/Program.cs
  71. 33 0
      CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Testeur/Properties/AssemblyInfo.cs
  72. 102 0
      CG67.FicheCollege.root/CG67.FicheCollege/Web/CG67.FicheCollege.Web/CG67.FicheCollege.Web.csproj
  73. 10 0
      CG67.FicheCollege.root/CG67.FicheCollege/Web/CG67.FicheCollege.Web/CG67.FicheCollege.Web.csproj.vspscc
  74. 24 0
      CG67.FicheCollege.root/CG67.FicheCollege/Web/CG67.FicheCollege.Web/Default.aspx
  75. 37 0
      CG67.FicheCollege.root/CG67.FicheCollege/Web/CG67.FicheCollege.Web/Default.aspx.cs
  76. 67 0
      CG67.FicheCollege.root/CG67.FicheCollege/Web/CG67.FicheCollege.Web/Default.aspx.designer.cs
  77. 369 0
      CG67.FicheCollege.root/CG67.FicheCollege/Web/CG67.FicheCollege.Web/GenerationFiche.aspx
  78. 43 0
      CG67.FicheCollege.root/CG67.FicheCollege/Web/CG67.FicheCollege.Web/GenerationFiche.aspx.cs
  79. 148 0
      CG67.FicheCollege.root/CG67.FicheCollege/Web/CG67.FicheCollege.Web/GenerationFiche.aspx.designer.cs
  80. 35 0
      CG67.FicheCollege.root/CG67.FicheCollege/Web/CG67.FicheCollege.Web/Properties/AssemblyInfo.cs
  81. 39 0
      CG67.FicheCollege.root/CG67.FicheCollege/Web/CG67.FicheCollege.Web/Web.config

+ 122 - 0
CG67.FicheCollege.root/CG67.FicheCollege/CG67.FicheCollege.sln

@@ -0,0 +1,122 @@
+
+Microsoft Visual Studio Solution File, Format Version 9.00
+# Visual Studio 2005
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CG67.FicheCollege.Web", "Web\CG67.FicheCollege.Web\CG67.FicheCollege.Web.csproj", "{4F52F11E-1245-4C57-B718-A472BDAAC99C}"
+	ProjectSection(WebsiteProperties) = preProject
+		Debug.AspNetCompiler.Debug = "True"
+		Release.AspNetCompiler.Debug = "False"
+	EndProjectSection
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Core", "Core", "{AF653E19-77A1-4976-B3BF-1B016F16E79B}"
+	ProjectSection(WebsiteProperties) = preProject
+		Debug.AspNetCompiler.Debug = "True"
+		Release.AspNetCompiler.Debug = "False"
+	EndProjectSection
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CG67.FicheCollege.Domaine", "Core\CG67.FicheCollege.Domaine\CG67.FicheCollege.Domaine.csproj", "{EA9B4153-44A9-46AF-891B-8DFE604CF33F}"
+	ProjectSection(WebsiteProperties) = preProject
+		Debug.AspNetCompiler.Debug = "True"
+		Release.AspNetCompiler.Debug = "False"
+	EndProjectSection
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Web", "Web", "{4C65639C-3B2A-46F8-B412-1FF88E335B34}"
+	ProjectSection(WebsiteProperties) = preProject
+		Debug.AspNetCompiler.Debug = "True"
+		Release.AspNetCompiler.Debug = "False"
+	EndProjectSection
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CG67.FicheCollege.Entrepot", "Core\CG67.FicheCollege.Entrepot\CG67.FicheCollege.Entrepot.csproj", "{799F1203-F76F-4623-B6BD-DBE509478539}"
+	ProjectSection(WebsiteProperties) = preProject
+		Debug.AspNetCompiler.Debug = "True"
+		Release.AspNetCompiler.Debug = "False"
+	EndProjectSection
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CG67.FicheCollege.Service", "Core\CG67.FicheCollege.Service\CG67.FicheCollege.Service.csproj", "{19A47A92-43C8-4139-8689-F4E61CC66053}"
+	ProjectSection(WebsiteProperties) = preProject
+		Debug.AspNetCompiler.Debug = "True"
+		Release.AspNetCompiler.Debug = "False"
+	EndProjectSection
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CG67.FicheCollege.Interface", "Core\CG67.FicheCollege.Interface\CG67.FicheCollege.Interface.csproj", "{6F721CCA-8B98-406A-A266-5D7D6264BCE6}"
+	ProjectSection(WebsiteProperties) = preProject
+		Debug.AspNetCompiler.Debug = "True"
+		Release.AspNetCompiler.Debug = "False"
+	EndProjectSection
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CG67.FicheCollege.Testeur", "Core\CG67.FicheCollege.Testeur\CG67.FicheCollege.Testeur.csproj", "{9E6B935E-7CAA-422E-AD37-248C12CC0C09}"
+	ProjectSection(WebsiteProperties) = preProject
+		Debug.AspNetCompiler.Debug = "True"
+		Release.AspNetCompiler.Debug = "False"
+	EndProjectSection
+EndProject
+Global
+	GlobalSection(SourceCodeControl) = preSolution
+		SccNumberOfProjects = 7
+		SccLocalPath0 = .
+		SccProjectUniqueName1 = Core\\CG67.FicheCollege.Domaine\\CG67.FicheCollege.Domaine.csproj
+		SccProjectTopLevelParentUniqueName1 = CG67.FicheCollege.sln
+		SccLocalPath1 = .
+		SccProjectFilePathRelativizedFromConnection1 = Core\\CG67.FicheCollege.Domaine\\
+		SccProjectUniqueName2 = Core\\CG67.FicheCollege.Entrepot\\CG67.FicheCollege.Entrepot.csproj
+		SccProjectTopLevelParentUniqueName2 = CG67.FicheCollege.sln
+		SccLocalPath2 = .
+		SccProjectFilePathRelativizedFromConnection2 = Core\\CG67.FicheCollege.Entrepot\\
+		SccProjectUniqueName3 = Core\\CG67.FicheCollege.Interface\\CG67.FicheCollege.Interface.csproj
+		SccProjectTopLevelParentUniqueName3 = CG67.FicheCollege.sln
+		SccLocalPath3 = .
+		SccProjectFilePathRelativizedFromConnection3 = Core\\CG67.FicheCollege.Interface\\
+		SccProjectUniqueName4 = Core\\CG67.FicheCollege.Service\\CG67.FicheCollege.Service.csproj
+		SccProjectTopLevelParentUniqueName4 = CG67.FicheCollege.sln
+		SccLocalPath4 = .
+		SccProjectFilePathRelativizedFromConnection4 = Core\\CG67.FicheCollege.Service\\
+		SccProjectUniqueName5 = Core\\CG67.FicheCollege.Testeur\\CG67.FicheCollege.Testeur.csproj
+		SccProjectTopLevelParentUniqueName5 = CG67.FicheCollege.sln
+		SccLocalPath5 = .
+		SccProjectFilePathRelativizedFromConnection5 = Core\\CG67.FicheCollege.Testeur\\
+		SccProjectUniqueName6 = Web\\CG67.FicheCollege.Web\\CG67.FicheCollege.Web.csproj
+		SccProjectTopLevelParentUniqueName6 = CG67.FicheCollege.sln
+		SccLocalPath6 = .
+		SccProjectFilePathRelativizedFromConnection6 = Web\\CG67.FicheCollege.Web\\
+	EndGlobalSection
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Any CPU = Debug|Any CPU
+		Release|Any CPU = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{4F52F11E-1245-4C57-B718-A472BDAAC99C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{4F52F11E-1245-4C57-B718-A472BDAAC99C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{4F52F11E-1245-4C57-B718-A472BDAAC99C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{4F52F11E-1245-4C57-B718-A472BDAAC99C}.Release|Any CPU.Build.0 = Release|Any CPU
+		{EA9B4153-44A9-46AF-891B-8DFE604CF33F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{EA9B4153-44A9-46AF-891B-8DFE604CF33F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{EA9B4153-44A9-46AF-891B-8DFE604CF33F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{EA9B4153-44A9-46AF-891B-8DFE604CF33F}.Release|Any CPU.Build.0 = Release|Any CPU
+		{799F1203-F76F-4623-B6BD-DBE509478539}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{799F1203-F76F-4623-B6BD-DBE509478539}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{799F1203-F76F-4623-B6BD-DBE509478539}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{799F1203-F76F-4623-B6BD-DBE509478539}.Release|Any CPU.Build.0 = Release|Any CPU
+		{19A47A92-43C8-4139-8689-F4E61CC66053}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{19A47A92-43C8-4139-8689-F4E61CC66053}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{19A47A92-43C8-4139-8689-F4E61CC66053}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{19A47A92-43C8-4139-8689-F4E61CC66053}.Release|Any CPU.Build.0 = Release|Any CPU
+		{6F721CCA-8B98-406A-A266-5D7D6264BCE6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{6F721CCA-8B98-406A-A266-5D7D6264BCE6}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{6F721CCA-8B98-406A-A266-5D7D6264BCE6}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{6F721CCA-8B98-406A-A266-5D7D6264BCE6}.Release|Any CPU.Build.0 = Release|Any CPU
+		{9E6B935E-7CAA-422E-AD37-248C12CC0C09}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{9E6B935E-7CAA-422E-AD37-248C12CC0C09}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{9E6B935E-7CAA-422E-AD37-248C12CC0C09}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{9E6B935E-7CAA-422E-AD37-248C12CC0C09}.Release|Any CPU.Build.0 = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+	GlobalSection(NestedProjects) = preSolution
+		{4F52F11E-1245-4C57-B718-A472BDAAC99C} = {4C65639C-3B2A-46F8-B412-1FF88E335B34}
+		{EA9B4153-44A9-46AF-891B-8DFE604CF33F} = {AF653E19-77A1-4976-B3BF-1B016F16E79B}
+		{799F1203-F76F-4623-B6BD-DBE509478539} = {AF653E19-77A1-4976-B3BF-1B016F16E79B}
+		{19A47A92-43C8-4139-8689-F4E61CC66053} = {AF653E19-77A1-4976-B3BF-1B016F16E79B}
+		{6F721CCA-8B98-406A-A266-5D7D6264BCE6} = {AF653E19-77A1-4976-B3BF-1B016F16E79B}
+		{9E6B935E-7CAA-422E-AD37-248C12CC0C09} = {AF653E19-77A1-4976-B3BF-1B016F16E79B}
+	EndGlobalSection
+EndGlobal

+ 10 - 0
CG67.FicheCollege.root/CG67.FicheCollege/CG67.FicheCollege.vssscc

@@ -0,0 +1,10 @@
+""
+{
+"FILE_VERSION" = "9237"
+"ENLISTMENT_CHOICE" = "NEVER"
+"PROJECT_FILE_RELATIVE_PATH" = ""
+"NUMBER_OF_EXCLUDED_FILES" = "0"
+"ORIGINAL_PROJECT_FILE_PATH" = ""
+"NUMBER_OF_NESTED_PROJECTS" = "0"
+"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROJECT"
+}

+ 76 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Domaine/ATC.cs

@@ -0,0 +1,76 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace CG67.FicheCollege.Domaine
+{
+    /// <summary>
+    /// Adjoint(Agent) Technique des Collèges
+    /// </summary>
+    [Serializable]
+    public class ATC : Contact
+    {
+        #region propriétés 
+        /// <summary>
+        /// Valeur ETP (equivalent temps plein) de l'ATC.
+        /// </summary>
+        private double mValeurETP;
+        /// <summary>
+        /// Catégorie de l'ATC.
+        /// </summary>
+        private string mCategorie;
+        /// <summary>
+        /// Grade de l'ATC
+        /// </summary>
+        private string mGrade;
+        /// <summary>
+        /// Nombre de jours de formations suivis par l'ATC
+        /// </summary>
+        private int mNbJoursFormation;
+        #endregion
+
+        #region méthodes
+        /// <summary>
+        /// Obtient ou définit la valeur ETP de l'ATC
+        /// </summary>
+        public double ValeurETP
+        {
+            get { return mValeurETP; }
+            set { mValeurETP = value; }
+        }
+        /// <summary>
+        /// Obtient ou définit la catégorie de l'ATC
+        /// </summary>
+        public string Categorie
+        {
+            get { return mCategorie; }
+            set { mCategorie = value; }
+        }
+        /// <summary>
+        /// Obtient ou définit le grade de l'ATC
+        /// </summary>
+        public string Grade
+        {
+            get { return mGrade; }
+            set { mGrade = value; }
+        }
+        /// <summary>
+        /// Obtient ou définit le nombre de jours de formations suivis par l'ATC
+        /// </summary>
+        public int NbJoursFormation
+        {
+            get { return mNbJoursFormation; }
+            set { mNbJoursFormation = value; }
+        }
+        #endregion
+
+        public ATC(double valeurETP, string nom, string prenom, string fonction, string typeContact, string categorie, string grade, int nbJoursFormation) : base(nom, prenom, fonction, typeContact)
+        {
+            this.mValeurETP = valeurETP;
+            this.mCategorie = categorie;
+            this.mGrade = grade;
+            this.mNbJoursFormation = nbJoursFormation;
+        }
+
+    }
+}

+ 55 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Domaine/ActionEducative.cs

@@ -0,0 +1,55 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace CG67.FicheCollege.Domaine
+{
+    [Serializable] 
+    public class ActionEducative
+    {
+        /// <summary>
+        /// Libellé de l'action éducative.
+        /// </summary>
+        private string mLibelle;
+        /// <summary>
+        /// Nombre d'élèves ayant participés à cette action.
+        /// </summary>
+        private int mNbrEleves;
+        /// <summary>
+        /// Montant de la subvention.
+        /// </summary>
+        private double mMontantSubvention;
+
+        /// <summary>
+        /// Obtient ou définit le libellé de l'action éducative.
+        /// </summary>
+        public string Libelle
+        {
+            get { return mLibelle; }
+            set { mLibelle = value; }
+        }
+        /// <summary>
+        /// Obtient ou définit le nombre d'élèves ayant participés à cette action.
+        /// </summary>
+        public int NbrEleves
+        {
+            get { return mNbrEleves; }
+            set { mNbrEleves = value; }
+        }
+        /// <summary>
+        /// Obtient ou définit le montant de la subvention.
+        /// </summary>
+        public double MontantSubvention
+        {
+            get { return mMontantSubvention; }
+            set { mMontantSubvention = value; }
+        }
+
+        public ActionEducative(string libelle, int nbrEleves, double montantSubvention)
+        {
+            this.mLibelle = libelle;
+            this.mNbrEleves = nbrEleves;
+            this.mMontantSubvention = montantSubvention;
+        }
+    }
+}

+ 46 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Domaine/Bilinguisme.cs

@@ -0,0 +1,46 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace CG67.FicheCollege.Domaine
+{
+    [Serializable]
+    public class Bilinguisme
+    {
+        #region propriétés
+        /// <summary>
+        /// Liste des niveaux (6ème, 5ème, etc...) proposant le bilinguisme
+        /// </summary>
+        private List<int> mLstNiveaux;
+        /// <summary>
+        /// Nombre d'élèves concernés par le bilinguisme
+        /// </summary>
+        private int mNbrEleves;
+        #endregion
+
+        #region méthodes
+        /// <summary>
+        /// Obtient ou définit la liste des niveaux (6ème, 5ème, etc...) proposant le bilinguisme
+        /// </summary>
+        public List<int> LstNiveaux
+        {
+            get { return mLstNiveaux; }
+            set { mLstNiveaux = value; }
+        }
+        /// <summary>
+        /// Obtient ou définit le nombre d'élèves concernés par le bilinguisme
+        /// </summary>
+        public int NbrEleves
+        {
+            get { return mNbrEleves; }
+            set { mNbrEleves = value; }
+        }
+        #endregion
+
+        public Bilinguisme(List<int> lstNiveaux, int nbrEleves)
+        {
+            this.mLstNiveaux = lstNiveaux;
+            this.mNbrEleves = nbrEleves;
+        }
+    }
+}

+ 67 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Domaine/CG67.FicheCollege.Domaine.csproj

@@ -0,0 +1,67 @@
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>8.0.50727</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{EA9B4153-44A9-46AF-891B-8DFE604CF33F}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>CG67.FicheCollege.Domaine</RootNamespace>
+    <AssemblyName>CG67.FicheCollege.Domaine</AssemblyName>
+    <SccProjectName>SAK</SccProjectName>
+    <SccLocalPath>SAK</SccLocalPath>
+    <SccAuxPath>SAK</SccAuxPath>
+    <SccProvider>SAK</SccProvider>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="System" />
+    <Reference Include="System.Data" />
+    <Reference Include="System.Xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="ActionEducative.cs" />
+    <Compile Include="ATC.cs" />
+    <Compile Include="Bilinguisme.cs" />
+    <Compile Include="ChiffresSignificatifs.cs" />
+    <Compile Include="Commentaires.cs" />
+    <Compile Include="Equipement.cs" />
+    <Compile Include="Etablissement.cs" />
+    <Compile Include="Contact.cs" />
+    <Compile Include="Dotation.cs" />
+    <Compile Include="Investissement.cs" />
+    <Compile Include="Logement.cs" />
+    <Compile Include="MCG.cs" />
+    <Compile Include="ProgTravaux.cs" />
+    <Compile Include="ProjetPilote.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+    <Compile Include="Restauration.cs" />
+    <Compile Include="RestaurationExterne.cs" />
+    <Compile Include="Utile.cs" />
+  </ItemGroup>
+  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
+</Project>

+ 10 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Domaine/CG67.FicheCollege.Domaine.csproj.vspscc

@@ -0,0 +1,10 @@
+""
+{
+"FILE_VERSION" = "9237"
+"ENLISTMENT_CHOICE" = "NEVER"
+"PROJECT_FILE_RELATIVE_PATH" = "relative:Core\\CG67.FicheCollege.Domaine"
+"NUMBER_OF_EXCLUDED_FILES" = "0"
+"ORIGINAL_PROJECT_FILE_PATH" = ""
+"NUMBER_OF_NESTED_PROJECTS" = "0"
+"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER"
+}

+ 57 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Domaine/ChiffresSignificatifs.cs

@@ -0,0 +1,57 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace CG67.FicheCollege.Domaine
+{
+    [Serializable]
+    public class ChiffresSignificatifs
+    {
+        /// <summary>
+        /// Montant total des financements sur les collèges.
+        /// </summary>
+        private double mMontantTotalFinancements;
+        /// <summary>
+        /// Nombre total de collégiens.
+        /// </summary>
+        private int mNbTotalEleves;
+        /// <summary>
+        /// Montant total des investissments sur les collèges.
+        /// </summary>
+        private double mMontantTotalInvestissement;
+        /// <summary>
+        /// Montant total du coût des transports scolaires.
+        /// </summary>
+        private double mMontantTotalTransportScolaire;
+
+        public double MontantTotalFinancements
+        {
+            get { return mMontantTotalFinancements; }
+            set { mMontantTotalFinancements = value; }
+        }
+        public int NbTotalEleves
+        {
+            get { return mNbTotalEleves; }
+            set { mNbTotalEleves = value; }
+        }
+        public double MontantTotalInvestissement
+        {
+            get { return mMontantTotalInvestissement; }
+            set { mMontantTotalInvestissement = value; }
+        }
+        public double MontantTotalTransportScolaire
+        {
+            get { return mMontantTotalTransportScolaire; }
+            set { mMontantTotalTransportScolaire = value; }
+        }
+
+        public ChiffresSignificatifs(double totalFinance, int totalEleve, double totalInvest, double totalTransport)
+        {
+            this.mMontantTotalFinancements = totalFinance;
+            this.mNbTotalEleves = totalEleve;
+            this.mMontantTotalInvestissement = totalInvest;
+            this.mMontantTotalTransportScolaire = totalTransport;
+        }
+        public ChiffresSignificatifs() { }
+    }
+}

+ 77 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Domaine/Commentaires.cs

@@ -0,0 +1,77 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace CG67.FicheCollege.Domaine
+{
+    [Serializable]
+    public class Commentaires
+    {
+        /// <summary>
+        /// Commentaire sur le sercteur de recrutement
+        /// </summary>
+        private string mSecteurRecrutement;
+        /// <summary>
+        /// Commentaire à propos des prévisions d'effectifs ATC
+        /// </summary>
+        private string mPrevisionEffectifATC;
+        /// <summary>
+        /// Commentaire à propos de la programation des travaux
+        /// </summary>
+        private string mProgrammationTravaux;
+        /// <summary>
+        /// Commentaire à propos des aménagements particuliers
+        /// </summary>
+        private string mAmenagementsParticuliers;
+        /// <summary>
+        /// Commentaire à propos des interventions remarquables
+        /// </summary>
+        private string mInterventionsRemarquables;
+        /// <summary>
+        /// Commentaire à propos du tableau d'évolution des effectifs de n-10 à n+5
+        /// </summary>
+        private string mTableauEffectif;
+	
+        public string SecteurRecrutement
+        {
+            get { return mSecteurRecrutement; }
+            set { mSecteurRecrutement = value; }
+        }
+        public string PrevisionEffectifATC
+        {
+            get { return mPrevisionEffectifATC; }
+            set { mPrevisionEffectifATC = value; }
+        }
+        public string ProgrammationTravaux
+        {
+            get { return mProgrammationTravaux; }
+            set { mProgrammationTravaux = value; }
+        }
+        public string AmenagementsParticuliers
+        {
+            get { return mAmenagementsParticuliers; }
+            set { mAmenagementsParticuliers = value; }
+        }public string InterventionsRemarquables
+        {
+            get { return mInterventionsRemarquables; }
+            set { mInterventionsRemarquables = value; }
+        }
+        public string TableauEffectif
+        {
+            get { return mTableauEffectif; }
+            set { mTableauEffectif = value; }
+        }
+
+
+        public Commentaires(string secteurRecrutement, string previsionEffectifATC, string programmationTravaux, string amenagementsParticuliers, string interventionsRemarquables, string tableauEffectif)
+        {
+            this.mSecteurRecrutement = secteurRecrutement;
+            this.mPrevisionEffectifATC = previsionEffectifATC;
+            this.mProgrammationTravaux = programmationTravaux;
+            this.mAmenagementsParticuliers = amenagementsParticuliers;
+            this.mInterventionsRemarquables = interventionsRemarquables;
+            this.mTableauEffectif = tableauEffectif;
+        }
+	
+    }
+}

+ 87 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Domaine/Contact.cs

@@ -0,0 +1,87 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace CG67.FicheCollege.Domaine
+{
+    [Serializable]
+    public class Contact
+    {
+        /// <summary>
+        /// Civilité du contact.
+        /// </summary>
+        private string mCivilite;
+        /// <summary>
+        /// Nom du contact.
+        /// </summary>
+        private string mNom;
+        /// <summary>
+        /// Prenom du contact.
+        /// </summary>
+        private string mPrenom;
+        /// <summary>
+        /// Fonction du contact.
+        /// </summary>
+        private string mFonction;
+        /// <summary>
+        /// Type de contact.
+        /// </summary>
+        private string mTypeContact;
+
+        /// <summary>
+        /// Obtient ou définit la civilité du contact.
+        /// </summary>
+        public string Civilite
+        {
+            get { return mCivilite; }
+            set { mCivilite = value; }
+        }
+        /// <summary>
+        /// Obtient ou définit le nom du contact.
+        /// </summary>
+        public string Nom
+        {
+            get { return mNom.ToUpper(); }
+            set { mNom = value; }
+        }
+        /// <summary>
+        /// Obtient ou définit le prénom du contact.
+        /// </summary>
+        public string Prenom
+        {
+            get { return Utile.formatStringPrenom(mPrenom); }
+            set { mPrenom = value; }
+        }
+        /// <summary>
+        /// Obtient ou définit la fonction du contact.
+        /// </summary>
+        public string Fonction
+        {
+            get { return mFonction; }
+            set { mFonction = value; }
+        }
+        /// <summary>
+        /// Obtient ou définit le type de contact.
+        /// </summary>
+        public string TypeContact
+        {
+            get { return mTypeContact; }
+            set { mTypeContact = value; }
+        }
+        public Contact(string civilite, string nom, string prenom, string fonction, string typeContact)
+        {
+            this.mCivilite = civilite;
+            this.mNom = nom;
+            this.mPrenom = prenom;
+            this.mFonction = fonction;
+            this.mTypeContact = typeContact;
+        }
+        public Contact(string nom, string prenom, string fonction, string typeContact)
+        {
+            this.mNom = nom;
+            this.mPrenom = prenom;
+            this.mFonction = fonction;
+            this.mTypeContact = typeContact;
+        }
+    }
+}

+ 58 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Domaine/Dotation.cs

@@ -0,0 +1,58 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace CG67.FicheCollege.Domaine
+{
+    [Serializable]
+    public class Dotation
+    {
+        /// <summary>
+        /// Montant de la dotation, partie viabilisation.
+        /// </summary>
+        private double mViabilisation;
+        /// <summary>
+        /// Montant de la dotation, partie Entretien.
+        /// </summary>
+        private double mEntretien;
+        /// <summary>
+        /// Montant des autres depenses de la dotation.
+        /// </summary>
+        private double mAutresDepenses;
+
+
+        /// <summary>
+        /// Obtient ou définit le montant de la dotation, partie viabilisation.
+        /// </summary>
+        public double Viabilisation
+        {
+            get { return mViabilisation; }
+            set { mViabilisation = value; }
+        }
+        /// <summary>
+        /// Obtient ou définit le montant de la dotation, partie Entretien.
+        /// </summary>
+        public double Entretien
+        {
+            get { return mEntretien; }
+            set { mEntretien = value; }
+        }
+        /// <summary>
+        /// Obtient ou définit le montant de la dotation, partie viabilisation.
+        /// </summary>
+        public double AutresDepenses
+        {
+            get { return mAutresDepenses; }
+            set { mAutresDepenses = value; }
+        }
+
+        public Dotation(double viabilisation, double entretien, double autresDepenses)
+        {
+            this.mViabilisation = viabilisation;
+            this.mEntretien = entretien;
+            this.mAutresDepenses = autresDepenses;
+        }
+
+        public Dotation() { }
+    }
+}

+ 67 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Domaine/Equipement.cs

@@ -0,0 +1,67 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace CG67.FicheCollege.Domaine
+{
+    /// <summary>
+    /// Equipement Mobilier et matériel
+    /// </summary>
+    [Serializable]
+    public class Equipement
+    {
+        /// <summary>
+        /// Description de l'achat
+        /// </summary>
+        private string mLibelle;
+        /// <summary>
+        /// Montant de l'achat
+        /// </summary>
+        private double mMontant;
+        /// <summary>
+        /// Booléen permettant de déterminer si l'achat est de type informatique ou non
+        /// </summary>
+        private Boolean mInformatique;
+
+        /// <summary>
+        /// Obtient ou définit la description de l'achat
+        /// </summary>
+        public string Libelle
+        {
+            get { return mLibelle; }
+            set { mLibelle = value; }
+        }
+        /// <summary>
+        /// Obtient ou définit le montant de l'achat
+        /// </summary>
+        public double Montant
+        {
+            get { return mMontant; }
+            set { mMontant = value; }
+        }
+        /// <summary>
+        /// Obtient ou définit le booléen permettant de déterminer si l'achat est de type informatique ou non
+        /// </summary>
+        public Boolean Informatique
+        {
+            get { return mInformatique; }
+            set { mInformatique = value; }
+        }
+
+        public string phrase
+        {
+            get
+            {
+                return Libelle + ". Pour un montant de " + Montant + "€.";
+            }
+        }
+
+        public Equipement(string libelle, double montant, Boolean informatique)
+        {
+            this.mLibelle = libelle;
+            this.mMontant = montant;
+            this.mInformatique = informatique;
+        }
+    
+    }
+}

+ 892 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Domaine/Etablissement.cs

@@ -0,0 +1,892 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace CG67.FicheCollege.Domaine
+{
+    // pointeurs de fonction, easy-loading.
+
+    public delegate IList<ActionEducative> dlgLoadActionEducative(string codeRNE, int annee);
+    public delegate IList<ATC> dlgLoadATC(string codeRNE);
+    public delegate Bilinguisme dlgLoadBilinguisme(string codeRNE, int annee);
+    public delegate Commentaires dlgLoadCommentaires(string codeRNE, int annee);
+    public delegate IList<Contact> dlgLoadContact(string codeRNE);
+    public delegate Dotation dlgLoadDotation(string codeRNE, int annee);
+    public delegate IList<Equipement> dlgLoadEquipement(string codeRNE, int annee);
+    public delegate IList<Investissement> dlgLoadInvestissement(string codeRNE, int annee);
+    public delegate MCG dlgLoadMCG(string codeRNE);
+    public delegate Logement dlgLoadLogement(string codeRNE);
+    public delegate IList<ProgTravaux> dlgLoadProgTravaux(string codeRNE, int annee);
+    public delegate IList<ProjetPilote> dlgLoadProjetPilote(string codeRNE, int annee);
+    public delegate Restauration dlgLoadRestauration(string codeRNE, int annee);
+
+    [Serializable]
+    public class Etablissement
+    {
+        #region Propriétés
+
+        #region Loaders
+        private dlgLoadActionEducative LoaderActionEducative;
+        private dlgLoadATC LoaderATC;
+        private dlgLoadBilinguisme LoaderBilinguisme;
+        private dlgLoadCommentaires LoaderCommentaires;
+        private dlgLoadContact LoaderContact;
+        private dlgLoadDotation LoaderDotation;
+        private dlgLoadEquipement LoaderEquipement;
+        private dlgLoadInvestissement LoaderInvestissement;
+        private dlgLoadMCG LoaderMCG;
+        private dlgLoadLogement LoaderLogement;
+        private dlgLoadProgTravaux LoaderProgTravaux;
+        private dlgLoadProjetPilote LoaderProjetPilote;
+        private dlgLoadRestauration LoaderRestauration;
+        #endregion
+
+        /// <summary>
+        /// Code RNE de l'établissement.
+        /// </summary>
+        private string mCodeRNE;
+        /// <summary>
+        /// annee de generation de la fiche.
+        /// </summary>
+        private int mAnnee;
+        /// <summary>
+        /// Nom de l'établissement.
+        /// </summary>
+        private string mNom;
+        /// <summary>
+        /// Type de l'établissement de l'établissement.
+        /// </summary>
+        private string mTypeEtablissement;
+        /// <summary>
+        /// Année de contruction de l'établissement.
+        /// </summary>
+        private int mAnneConstruction;
+        /// <summary>
+        /// Telephone de l'établissement.
+        /// </summary>
+        private string mTelephone;
+        /// <summary>
+        /// E-Mail de l'établissement.
+        /// </summary>
+        private string mEmail;
+        /// <summary>
+        /// Fax de l'établissement.
+        /// </summary>
+        private string mFax;
+        /// <summary>
+        /// Nom du propriétaire de l'établissement.
+        /// </summary>
+        private string mNomProprietaire;
+        /// <summary>
+        /// Valeur théorique ETP (Equivalent Temps Plein) de l'établissement.
+        /// </summary>
+        private double mValeurETPTheorique;
+        /// <summary>
+        /// Montant de la réserve monétaire de l'établissement.
+        /// </summary>
+        private double mReserve;
+        /// <summary>
+        /// IListe des actions éducatives dont l'établissement participe.
+        /// </summary>
+        private IList<ActionEducative> mLstActionEducatives;
+        /// <summary>
+        /// IListe des projets pilotes dont l'établissement participe.
+        /// </summary>
+        private IList<ProjetPilote> mLstProjetPilote;
+        /// <summary>
+        /// Dotation à l'année N de l'établissement.
+        /// </summary>
+        private Dotation mDotationAnneeN;
+        /// <summary>
+        /// Dotation à l'année N - 1 de l'établissement.
+        /// </summary>
+        private Dotation mDotationAnneeNmoins1;
+        /// <summary>
+        /// IListe des investissements de l'établissement.
+        /// </summary>
+        private IList<Investissement> mLstInvestissement;
+        /// <summary>
+        /// IListe du  nombre d'effectif collégien sur les 10 dernières années
+        /// </summary>
+        private IList<int> mLstEffectifReel;
+        /// <summary>
+        /// IListe du nombre prévisionnel d'effectif collégien sur les 5 prochaines années
+        /// </summary>
+        private IList<int> mLstEffectifPrevisionnel;
+        /// <summary>
+        /// Surface d'emprise de l'établissement
+        /// </summary>
+        private double mSurface;
+        /// <summary>
+        /// IListe des années de restructuration
+        /// </summary>
+        private IList<int> mLstRestructuration;
+        /// <summary>
+        /// Principal, gesionnaire et conseiller general de l'établissement (Civilité, Nom, Prénom)
+        /// </summary>
+        private IList<Contact> mContacts;
+        /// <summary>
+        /// MCG de rattachement de l'établissement
+        /// </summary>
+        private MCG mMcgRattachement;
+        /// <summary>
+        /// Logement de fonction
+        /// </summary>
+        private Logement mLogementFonction;
+        /// <summary>
+        /// IListe d'ATC
+        /// </summary>
+        private IList<ATC> mLstATC;
+        /// <summary>
+        /// IListe des équipements
+        /// </summary>
+        private IList<Equipement> mLstEquipements;
+        /// <summary>
+        /// Le(s) secteur(s) de recrutement de l'établissement.
+        /// </summary>
+        private IList<string> mLstSecteurRecrutement;
+        /// <summary>
+        /// adresse de l'établissement.
+        /// </summary>
+        private string mAdresse;
+        /// <summary>
+        /// complément de l'adresse.
+        /// </summary>
+        private string mComplementAdresse;
+        /// <summary>
+        /// ville de l'établissement.
+        /// </summary>
+        private string mVille;
+        /// <summary>
+        /// Contient les commentaires utiles à différents moments de la fiche.
+        /// </summary>
+        private Commentaires mCommentairesGeneraux;
+        /// <summary>
+        /// Liste de travaux de n-1 à n+1
+        /// </summary>
+        private IList<ProgTravaux> mLstTravaux;
+        /// <summary>
+        /// objet restauration
+        /// </summary>
+        private Restauration mRestaurer;
+        /// <summary>
+        /// Bilinguisme
+        /// </summary>
+        private Bilinguisme mBilingue;
+        /// <summary>
+        /// Code postal du l'établissement
+        /// </summary>
+        private int mCodePostal;
+        /// <summary>
+        /// Lien vers la photo du collège.
+        /// </summary>
+        private string mLienPhoto;
+        /// <summary>
+        /// nombre total de remplacements d'ATC
+        /// </summary>
+        private int mNbrRemplacementsATC;
+        #endregion
+
+        #region méthodes get/set
+        /// <summary>
+        /// Obtient ou définit le Code RNE de l'établissement.
+        /// </summary>
+        public string CodeRNE
+        {
+            get { return mCodeRNE; }
+            set { mCodeRNE = value; }
+        }
+        /// <summary>
+        /// Obtient ou définit le Nom de l'établissement.
+        /// </summary>
+        public string Nom
+        {
+            //si le collège n'a pas de nom, on retourne la ville du collège (ex : collège de truchtersheim)
+            get 
+            {
+                if (mNom == string.Empty)
+                    return "de " + mVille;
+                return mNom;
+            }
+            set { mNom = value; }
+        }
+        /// <summary>
+        /// Obtient ou définit le Type de l'établissement.
+        /// </summary>
+        public string TypeEtablissement
+        {
+            get { return mTypeEtablissement; }
+            set { mTypeEtablissement = value; }
+        }
+        /// <summary>
+        /// Obtient ou définit l'année de construction de l'établissement.
+        /// </summary>
+        public int AnneeConstruction
+        {
+            get { return mAnneConstruction; }
+            set { mAnneConstruction = value; }
+        }
+        /// <summary>
+        /// Obtient ou définit le téléphone de l'établissement.
+        /// </summary>
+        public string Telephone
+        {
+            get { return mTelephone; }
+            set { mTelephone = value; }
+        }
+        /// <summary>
+        /// Obtient ou définit l'email de l'établissement.
+        /// </summary>
+        public string Email
+        {
+            get { return mEmail; }
+            set { mEmail = value; }
+        }
+        /// <summary>
+        /// Obtient ou définit le fax de l'établissement.
+        /// </summary>
+        public string Fax
+        {
+            get { return mFax; }
+            set { mFax = value; }
+        }
+        /// <summary>
+        /// Obtient ou définit le Nom du propriétaire de l'établissement.
+        /// </summary>
+        public string NomProprietaire
+        {
+            get { return mNomProprietaire; }
+            set { mNomProprietaire = value; }
+        }
+        /// <summary>
+        /// Obtient ou définit la valeur ETP Théorique de l'établissement.
+        /// </summary>
+        public double ValeurETPTheorique
+        {
+            get { return mValeurETPTheorique; }
+            set { mValeurETPTheorique = value; }
+        }
+        /// <summary>
+        /// Obtient ou définit la réserve monétaire de l'établissement.
+        /// </summary>
+        public double Reserve
+        {
+            get { return mReserve; }
+            set { mReserve = value; }
+        }
+        /// <summary>
+        /// Obtient ou définit la IListe des actions éducatives auxquels l'établissement participe.
+        /// </summary>
+        public IList<ActionEducative> LstActionEducatives
+        {
+            get 
+            {
+                if (mLstActionEducatives == null)
+                    mLstActionEducatives = this.LoaderActionEducative(mCodeRNE, mAnnee);
+                return mLstActionEducatives; 
+            }
+            set { mLstActionEducatives = value; }
+        }
+        /// <summary>
+        /// Obtient ou définit la IListe des projets pilotes auxquels l'établissement participe.
+        /// </summary>
+        public IList<ProjetPilote> LstProjetPilote
+        {
+            get
+            {
+                if (mLstProjetPilote == null)
+                    mLstProjetPilote = this.LoaderProjetPilote(mCodeRNE, mAnnee);
+                return mLstProjetPilote;
+            }
+            set { mLstProjetPilote = value; }
+        }
+        /// <summary>
+        /// Obtient ou définit la dotation à l'année N de l'établissement.
+        /// </summary>
+        public Dotation DotationAnneeN
+        {
+            get
+            {
+                if (mDotationAnneeN == null)
+                    mDotationAnneeN = this.LoaderDotation(mCodeRNE, mAnnee); 
+                return mDotationAnneeN;
+            }
+            set { mDotationAnneeN = value; }
+        }
+        /// <summary>
+        /// Obtient ou définit la dotation à l'année N - 1 de l'établissement.
+        /// </summary>
+        public Dotation DotationAnneeNmoins1
+        {
+            get
+            {
+                if (mDotationAnneeNmoins1 == null)
+                    mDotationAnneeNmoins1 = this.LoaderDotation(mCodeRNE, mAnnee - 1); 
+                return mDotationAnneeNmoins1;
+            }
+            set { mDotationAnneeNmoins1 = value; }
+        }
+        /// <summary>
+        /// Obtient ou définit la IListe des investissements de l'établissement.
+        /// </summary>
+        public IList<Investissement> LstInvestissement
+        {
+            get
+            {
+                if (mLstInvestissement == null)
+                    mLstInvestissement = this.LoaderInvestissement(mCodeRNE, mAnnee); 
+                return mLstInvestissement;
+            }
+            set { mLstInvestissement = value; }
+        }
+        /// <summary>
+        /// Obtient ou définit la IListe du  nombre d'effectif collégien sur les 10 dernières années
+        /// </summary>
+        public IList<int> LstEffectifReel
+        {
+            get { return mLstEffectifReel; }
+            set { mLstEffectifReel = value; }
+        }
+        /// <summary>
+        /// Obtient ou définit la IListe du nombre prévisionnel d'effectif collégien sur les 5 prochaines années
+        /// </summary>
+        public IList<int> LstEffectifPrevisionnel
+        {
+            get { return mLstEffectifPrevisionnel; }
+            set { mLstEffectifPrevisionnel = value; }
+        }
+        /// <summary>
+        /// Obtient ou définit la surface d'emprise de l'établissement
+        /// </summary>
+        public double Surface
+        {
+            get { return mSurface; }
+            set { mSurface = value; }
+        }
+        /// <summary>
+        /// Obtient ou définit le IListe des années de restructuration
+        /// </summary>
+        public IList<int> LstRestructuration
+        {
+            get { return mLstRestructuration; }
+            set { mLstRestructuration = value; }
+        }
+        /// <summary>
+        /// Obtient au définit le principal de l'établissement (Civilité, Nom, Prénom)
+        /// </summary>
+        public IList<Contact> Contacts
+        {
+            get {
+                if (mContacts == null)
+                    mContacts = this.LoaderContact(mCodeRNE); 
+                return mContacts; }
+            set { mContacts = value; }
+        }
+        /// <summary>
+        /// Obtient ou définit la MCG re rattachement de l'établissement.
+        /// </summary>
+        public MCG McgRattachement
+        {
+            get
+            {
+                if (mMcgRattachement == null)
+                    mMcgRattachement = this.LoaderMCG(mCodeRNE); 
+                return mMcgRattachement;
+            }
+            set { mMcgRattachement = value; }
+        }
+        /// <summary>
+        /// Obtient ou définit un objet Logement
+        /// </summary>
+        public Logement LogementDeFonction
+        {
+            get
+            {
+                if (mLogementFonction == null)
+                    mLogementFonction = this.LoaderLogement(mCodeRNE); 
+                return mLogementFonction;
+            }
+            set { mLogementFonction = value; }
+        }
+        /// <summary>
+        /// Obtient ou définit la IListe d'ATC
+        /// </summary>
+        public IList<ATC> LstATC
+        {
+            get
+            {
+                if (mLstATC == null)
+                    mLstATC = this.LoaderATC(mCodeRNE); 
+                return mLstATC;
+            }
+            set { mLstATC = value; }
+        }
+        /// <summary>
+        /// Obtient ou définit la IListe des équipements obtenus.
+        /// </summary>
+        public IList<Equipement> LstEquipements
+        {
+            get
+            {
+                if (mLstEquipements == null)
+                    mLstEquipements = this.LoaderEquipement(mCodeRNE, mAnnee); 
+                return mLstEquipements;
+            }
+            set { mLstEquipements = value; }
+        }
+        /// <summary>
+        /// Obtient ou définit le(s) secteur(s) de recrutement de l'établissement.
+        /// </summary>
+        public IList<string> LstSecteurRecrutement
+        {
+            get { return mLstSecteurRecrutement; }
+            set { mLstSecteurRecrutement = value; }
+        }
+        public string Adresse
+        {
+            get { return mAdresse; }
+            set { mAdresse = value; }
+        }
+        public string ComplementAdresse
+        {
+            get { return mComplementAdresse; }
+            set { mComplementAdresse = value; }
+        }
+        public string Ville
+        {
+            get { return mVille; }
+            set { mVille = value; }
+        }
+        public Commentaires CommentaireGeneraux
+        {
+            get
+            {
+                if (mCommentairesGeneraux == null)
+                    mCommentairesGeneraux = this.LoaderCommentaires(mCodeRNE, mAnnee); 
+                return mCommentairesGeneraux;
+            }
+            set { mCommentairesGeneraux = value; }
+        }
+        public IList<ProgTravaux> LstTravaux
+        {
+            get
+            {
+                if (mLstTravaux == null)
+                    mLstTravaux = this.LoaderProgTravaux(mCodeRNE, mAnnee); 
+                return mLstTravaux;
+            }
+            set { mLstTravaux = value; }
+        }
+        public Restauration Restaurer
+        {
+            get
+            {
+                if (mRestaurer == null)
+                    mRestaurer = this.LoaderRestauration(mCodeRNE, mAnnee); 
+                return mRestaurer;
+            }
+            set { mRestaurer = value; }
+        }
+        public Bilinguisme Bilingue
+        {
+            get
+            {
+                if (mBilingue == null)
+                    mBilingue = this.LoaderBilinguisme(mCodeRNE, mAnnee);
+                return mBilingue;
+            }
+            set { mBilingue = value; }
+        }
+        public int CodePostal
+        {
+            get { return mCodePostal; }
+            set { mCodePostal = value; }
+        }
+        /// <summary>
+        /// sera utilisé pour l'affichage sur la première page.
+        /// </summary>
+        public string NomCollegePourPresentation
+        {
+            get { return mVille + " - Collège " + Nom; }
+        }
+        public string LienPhoto
+        {
+            get { return mLienPhoto; }
+            set { mLienPhoto = value; }
+        }
+        public int NbrRemplacementsATC
+        {
+            get { return mNbrRemplacementsATC; }
+            set { mNbrRemplacementsATC = value; }
+        }
+        #endregion
+
+        #region autres méthodes
+        /// <summary>
+        /// retourne le principal de l'établissement
+        /// </summary>
+        public string Principal
+        {
+            get
+            {
+                string retour = string.Empty;
+                foreach (Contact cont in Contacts)
+                    if (cont.Fonction.ToLower() == "principal")
+                        retour = cont.Civilite + " " + Utile.formatStringPrenom(cont.Prenom) + " " + cont.Nom.ToUpper();
+                return retour;
+            }
+        }
+        /// <summary>
+        /// retourne le gestionnaire de l'établissement
+        /// </summary>
+        public string Gestionnaire
+        {
+            get
+            {
+                string retour = string.Empty;
+                foreach (Contact cont in Contacts)
+                    if (cont.Fonction.ToLower() == "gestionnaire")
+                        retour = cont.Civilite + " " + Utile.formatStringPrenom(cont.Prenom) + " " + cont.Nom.ToUpper();
+                return retour;
+            }
+        }
+        /// <summary>
+        /// retourne le conseiller general de l'établissement
+        /// </summary>
+        public string ConseillerGeneral
+        {
+            get
+            {
+                string retour = string.Empty;
+                foreach (Contact cont in Contacts)
+                    if (cont.Fonction.ToLower() == "conseiller general")
+                        retour = cont.Civilite + " " + Utile.formatStringPrenom(cont.Prenom) + " " + cont.Nom.ToUpper();
+                return retour;
+            }
+        }
+        /// <summary>
+        /// retourne la phrase decrivant l'effectif de l'établissement
+        /// </summary>
+        public string Effectif
+        {
+            get
+            {
+                int nbrEleves = 0;
+                //le dernier enregistrement de cette liste est l'effectif actuel.
+                foreach (int nbr in LstEffectifReel)
+                    nbrEleves = nbr;
+
+                string retour = nbrEleves + " élèves (année scolaire en cours) ";
+                if (mTypeEtablissement == null)
+                    retour += "dont " + mTypeEtablissement.ToUpper();
+                retour += ". ";
+
+
+                bool valeurTest = true;
+                foreach(int nbr in LstEffectifPrevisionnel){
+                    if (valeurTest)
+                        retour += nbr + " élèves prévisionnel pour la prochaine rentrée.";
+                    valeurTest = false;
+                }
+
+                return retour;
+            }
+        }
+        /// <summary>
+        /// retourne la phrase concernant le(s) restructurations de l'établissement
+        /// </summary>
+        public string PhraseRestructuration
+        {
+            get
+            {
+                string retour = string.Empty;
+
+                foreach (int anneeRestruct in LstRestructuration)
+                {
+                    if (LstRestructuration.Count == 1)
+                    {
+                        retour = Convert.ToString(anneeRestruct);
+                        break;
+                    }
+                    else
+                    {
+                        if (retour == string.Empty)
+                            retour = "Plusieurs restructurations lourdes ont été effectuées, les années de celles-ci sont les suivantes : ";
+                        retour += "\n - " + anneeRestruct;
+                    }
+
+                }
+                if (retour == string.Empty)
+                    retour = "néant";
+                return retour;
+            }
+        }
+        /// <summary>
+        /// retourne le commentaire concernant le(s) aménagement(s) particulier(s) de l'établissement
+        /// </summary>
+        public string CommentaireAmenagementParticulier
+        {
+            get
+            {
+                return CommentaireGeneraux.AmenagementsParticuliers;
+            }
+        }
+        /// <summary>
+        /// retourne le commentaire concernant la programmation des travaux de l'établissement
+        /// </summary>
+        public string CommentaireProgTravaux
+        {
+            get
+            {
+                return CommentaireGeneraux.ProgrammationTravaux;
+            }
+        }
+        /// <summary>
+        /// retourne le commentaire concernant le secteur de recrutement de l'établissement
+        /// </summary>
+        public string CommentaireSecteurRecrutement
+        {
+            get
+            {
+                return CommentaireGeneraux.SecteurRecrutement;
+            }
+        }
+        /// <summary>
+        /// retourne le commentaire concernant le graphique d'évolution des effectifs de l'établissement
+        /// </summary>
+        public string CommentaireGraphique
+        {
+            get
+            {
+                return CommentaireGeneraux.TableauEffectif;
+            }
+        }
+        /// <summary>
+        /// retourne le commentaire concernant les prévisions d'éffectifs ATC de l'établissement
+        /// </summary>
+        public string CommentairePrevisionEffectifATC
+        {
+            get
+            {
+                return CommentaireGeneraux.PrevisionEffectifATC;
+            }
+        }
+        /// <summary>
+        /// retourne la phrase concernant la programmation des travaux de l'établissement
+        /// </summary>
+        public string PhraseProgTravaux
+        {
+            get
+            {
+                string retour = string.Empty;
+
+                string type = string.Empty;
+                //la requete trie déja par ordre de type d'opération.
+                foreach (ProgTravaux prog in LstTravaux)
+                {
+                    if (prog.TypeOperation == type)
+                    {
+                        retour += "\n\n" +  prog.TypeOperation + " :";
+                    }
+                    retour += "\n" + prog.Annee + " : " + prog.Libelle;
+                    type = prog.TypeOperation;
+                }
+
+                if (retour == string.Empty)
+                    retour = "néant";
+                return retour;
+            }
+        }
+        /// <summary>
+        /// retourne la phrase concernant le secteur de recrutement de l'établissement
+        /// </summary>
+        public string PhraseSecteurRecrutement
+        {
+            get
+            {
+                string retour = string.Empty;
+
+                foreach (string com in LstSecteurRecrutement)
+                {
+                    if (LstSecteurRecrutement.Count == 1)
+                    {
+                        retour = com;
+                        break;
+                    }
+                    else
+                        retour += com + "\n";
+                }
+
+                if (retour == string.Empty)
+                    retour = "l'information n'est actuellement pas disponible";
+
+                return retour;
+            }
+        }
+        /// <summary>
+        /// retourne la phrase concernant les prévisions sur 5 ans de l'établissement
+        /// </summary>
+        public string PhrasePrevision5Ans
+        {
+            get
+            {
+                int nbrActuel = 0;
+                int nbrPrev = 0;
+                int nbrEvolution = 0;
+                string retour;
+
+                foreach (int nbr in LstEffectifPrevisionnel)
+                    nbrPrev = nbr;
+                foreach (int nbr in LstEffectifReel)
+                    nbrActuel = nbr;
+
+                nbrEvolution = nbrPrev - nbrActuel;
+                int pourcentageEvol = ((nbrPrev * 100)/nbrActuel);
+                if (nbrEvolution < 0)
+                {
+                    retour = "Diminution de " + (nbrActuel - nbrPrev) + " élèves, soit " + pourcentageEvol + "% en moins sur les cinq prochaines années.";
+                }
+                else if (nbrEvolution == 0)
+                {
+                    retour = "néant";
+                }
+                else
+                {
+                    retour = "Augmentation de " + nbrEvolution + " élèves, soit " + pourcentageEvol + "% en plus sur les cinq prochaines années.";
+                }
+
+                return retour;
+            }
+        }
+        /// <summary>
+        /// retourne la liste des projets pilotes sous forme de string
+        /// </summary>
+        public List<string> LstStringProjetPilote
+        {
+            get
+            {
+                List<string> retour = new List<string>();
+                foreach (ProjetPilote proj in LstProjetPilote)
+                    retour.Add(proj.Libelle);
+                return retour;
+            }
+        }
+        /// <summary>
+        /// retourne la phrase concernant le total d'ATC de l'établissement
+        /// </summary>
+        public string PhraseTotalATC
+        {
+            get
+            {
+                int nbr = 0;
+                foreach (ATC adjoint in LstATC)
+                    if (adjoint.ValeurETP < 1)
+                        nbr++;
+                if (nbr != 0)
+                    return LstATC.Count + " agents, dont " + nbr + " à temps partiel.";
+                else
+                    return LstATC.Count + " agents.";
+            }
+        }
+        /// <summary>
+        /// retourne la phrase concernant la valeur ETP totale des ATC de l'établissement
+        /// </summary>
+        public string PhraseValeurETP
+        {
+            get
+            {
+                double valeurReel = 0;
+                foreach (ATC adjoint in LstATC)
+                    valeurReel += adjoint.ValeurETP;
+
+                string retour = "ETP réels : " + valeurReel + "\nEtp Barème : " + ValeurETPTheorique + "\nEcart : ";
+                double ecart = valeurReel - ValeurETPTheorique;
+                if (ecart >= 0)
+                    retour += ecart;
+                else
+                    retour += (ecart - ecart * 2);
+
+                return retour;
+            }
+        }
+        /// <summary>
+        /// retourne la phrase concernant le nombre de jours de formation des ATC de l'établissement
+        /// </summary>
+        public string PhraseNombreJoursFormation
+        {
+            get
+            {
+                int valeur = 0;
+                foreach (ATC adjoint in LstATC)
+                    valeur += adjoint.NbJoursFormation;
+
+                return valeur + " jours.";
+            }
+        }
+        /// <summary>
+        /// retourne la phrase concernant le(s) remplacement(s) de l'établissement
+        /// </summary>
+        public string PhraseRemplacements
+        {
+            get
+            {
+                if (NbrRemplacementsATC == 0)
+                    return "néant";
+                else if (NbrRemplacementsATC == 1)
+                    return "Le remplacement d'un agent à été assuré";
+                else
+                    return "Le remplacement de " + NbrRemplacementsATC + " à été assuré";
+            }
+        }
+        #endregion
+
+        #region Constructeurs
+        /// <summary>
+        /// constructeur minimal d'établissement, sera utilisé au chargement de l'application.
+        /// </summary>
+        /// <param name="codeRNE"></param>
+        /// <param name="nom"></param>
+        /// <param name="ville"></param>
+        public Etablissement(string codeRNE, string nom, string ville)
+        {
+            this.mCodeRNE = codeRNE;
+            this.mNom = nom;
+            this.mVille = ville;
+        }
+        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)
+        {
+            this.mCodeRNE = codeRNE;
+            this.mAnnee = annee;
+            this.mNom = nom;
+            this.mTypeEtablissement = typeEtablissement;
+            this.mAnneConstruction = anneeConstruction;
+            this.mTelephone = telephone;
+            this.mEmail = email;
+            this.mFax = fax;
+            this.mNomProprietaire = nomProprietaire;
+            this.mAdresse = adresse;
+            this.mComplementAdresse = complementAdresse;
+            this.mVille = ville;
+            this.mCodePostal = codePostal;
+            this.mLienPhoto = lienPhoto;
+
+            this.LoaderActionEducative = loaderActionEducative;
+            this.LoaderATC = loaderATC;
+            this.LoaderBilinguisme = loaderBilinguisme;
+            this.LoaderCommentaires = loaderCommentaires;
+            this.LoaderContact = loaderContact;
+            this.LoaderDotation = loaderDotation;
+            this.LoaderEquipement = loaderEquipement;
+            this.LoaderInvestissement = loaderInvestissement;
+            this.LoaderMCG = loaderMCG;
+            this.LoaderLogement = loaderLogement;
+            this.LoaderProgTravaux = loaderProgTravaux;
+            this.LoaderProjetPilote = loaderProjetPilote;
+            this.LoaderRestauration = loaderRestauration;
+        }
+        public Etablissement() { }
+    #endregion
+
+
+    }
+}

+ 55 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Domaine/Investissement.cs

@@ -0,0 +1,55 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace CG67.FicheCollege.Domaine
+{
+    [Serializable]
+    public class Investissement
+    {
+        /// <summary>
+        /// Type de l'investissement.
+        /// </summary>
+        private string mType;
+        /// <summary>
+        /// Montant de l'investissement.
+        /// </summary>
+        private double mMontant;
+        /// <summary>
+        /// Commentaire sur l'investissement.
+        /// </summary>
+        private string mCommentaire;
+
+        /// <summary>
+        /// Obtient ou définit le type de l'investissement.
+        /// </summary>
+        public string Type
+        {
+            get { return mType; }
+            set { mType = value; }
+        }
+        /// <summary>
+        /// Obtient ou définit le montant de l'investissement.
+        /// </summary>
+        public double Montant
+        {
+            get { return mMontant; }
+            set { mMontant = value; }
+        }
+        /// <summary>
+        /// Obtient ou définit le commentaire associé à l'investissement.
+        /// </summary>
+        public string Commentaire
+        {
+            get { return mCommentaire; }
+            set { mCommentaire = value; }
+        }
+
+        public Investissement(string type, double montant, string commentaire)
+        {
+            this.mType = type;
+            this.mMontant = montant;
+            this.mCommentaire = commentaire;
+        }
+    }
+}

+ 55 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Domaine/Logement.cs

@@ -0,0 +1,55 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace CG67.FicheCollege.Domaine
+{
+    [Serializable]
+    public class Logement
+    {
+        #region propriétés
+        /// <summary>
+        /// Nombre de logements.
+        /// </summary>
+        private int mNbrLogements;
+        /// <summary>
+        /// Nombre d'agent logés.
+        /// </summary>
+        private int mNbrAgentsLoges;
+        #endregion
+
+        #region méthodes
+
+        /// <summary>
+        /// Obtient ou définit le nombre de logements.
+        /// </summary>
+        public int NbrLogements
+        {
+            get { return mNbrLogements; }
+            set { mNbrLogements = value; }
+        }
+        /// <summary>
+        /// Obtient ou définit le nombre d'agents logés.
+        /// </summary>
+        public int NbrAgentsLoges
+        {
+            get { return mNbrAgentsLoges; }
+            set { mNbrAgentsLoges = value; }
+        }
+
+        #endregion
+
+        public Logement(int nbrLogements, int nbrAgentsLoges)
+        {
+            this.mNbrLogements = nbrLogements;
+            this.mNbrAgentsLoges = nbrAgentsLoges;
+        }
+
+        public Logement() { }
+
+        public override string ToString()
+        {
+            return NbrLogements + " logements, dont " + NbrAgentsLoges + " agents CG 67 logés.";
+        }
+    }
+}

+ 54 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Domaine/MCG.cs

@@ -0,0 +1,54 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace CG67.FicheCollege.Domaine
+{
+    /// <summary>
+    /// Maison du Conseil Général
+    /// </summary>
+    public class MCG
+    {
+        /// <summary>
+        /// ville de la MCG
+        /// </summary>
+        private string mVille;
+        /// <summary>
+        /// nom du président de la MCG
+        /// </summary>
+        private string mNomPresident;
+        /// <summary>
+        /// prénom du président de la MCG
+        /// </summary>
+        private string mPrenomPresident;
+
+        
+        public string Ville
+        {
+            get { return mVille; }
+            set { mVille = value; }
+        }public string NomPresident
+        {
+            get { return mNomPresident; }
+            set { mNomPresident = value; }
+        }public string PrenomPresident
+        {
+            get { return mPrenomPresident; }
+            set { mPrenomPresident = value; }
+        }
+
+        public MCG(string ville, string nomPresident, string prenomPresident)
+        {
+            this.mVille = ville;
+            this.mNomPresident = nomPresident;
+            this.mPrenomPresident = prenomPresident;
+        }
+        
+        public override string ToString()
+        {
+            return Ville + " - " + Utile.formatStringPrenom(PrenomPresident) + " " + NomPresident.ToUpper();
+        }
+
+
+    }
+}

+ 56 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Domaine/ProgTravaux.cs

@@ -0,0 +1,56 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace CG67.FicheCollege.Domaine
+{
+    [Serializable]
+    public class ProgTravaux
+    {
+        /// <summary>
+        /// Année à laquelle le travail sera effectué
+        /// </summary>
+        private int mAnnee;
+        /// <summary>
+        /// libellé de ce travail
+        /// </summary>
+        private string mLibelle;
+        /// <summary>
+        /// Montant prévisionnel
+        /// </summary>
+        private double mMontant;
+        /// <summary>
+        /// type de l'opération (maintenance, rénovation, etc...)
+        /// </summary>
+        private string mTypeOperation;
+
+	
+        public int Annee
+        {
+            get { return mAnnee; }
+            set { mAnnee = value; }
+        }
+        public string Libelle
+        {
+            get { return mLibelle; }
+            set { mLibelle = value; }
+        }
+        public double Montant
+        {
+            get { return mMontant; }
+            set { mMontant = value; }
+        }
+        public string TypeOperation
+        {
+            get { return mTypeOperation; }
+            set { mTypeOperation = value; }
+        }
+
+        public ProgTravaux(int annee, string libelle, double montant, string typeOperation)
+        {
+            this.mAnnee = annee;
+            this.mLibelle = libelle;
+            this.mMontant = montant;
+        }
+    }
+}

+ 33 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Domaine/ProjetPilote.cs

@@ -0,0 +1,33 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace CG67.FicheCollege.Domaine
+{
+    /// <summary>
+    /// si l'instance existe, c'est que le collège participe ...
+    /// du coup, seul le libelle sufit.
+    /// </summary>
+    [Serializable]
+    public class ProjetPilote
+    {
+        /// <summary>
+        /// Libellé du projet pilote.
+        /// </summary>
+        private string mLibelle;
+
+        /// <summary>
+        /// Obtient ou définit le libellé du projet pilote.
+        /// </summary>
+        public string Libelle
+        {
+            get { return mLibelle; }
+            set { mLibelle = value; }
+        }
+	
+        public ProjetPilote(string libelle)
+        {
+            mLibelle = libelle;
+        }
+    }
+}

+ 35 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Domaine/Properties/AssemblyInfo.cs

@@ -0,0 +1,35 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// Les informations générales relatives à un assembly dépendent de 
+// l'ensemble d'attributs suivant. Changez les valeurs de ces attributs pour modifier les informations
+// associées à un assembly.
+[assembly: AssemblyTitle("CG67.FicheCollege.Domaine")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("Conseil général du Bas-Rhin")]
+[assembly: AssemblyProduct("CG67.FicheCollege.Domaine")]
+[assembly: AssemblyCopyright("Copyright © Conseil général du Bas-Rhin 2009")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// L'affectation de la valeur false à ComVisible rend les types invisibles dans cet assembly 
+// aux composants COM. Si vous devez accéder à un type dans cet assembly à partir de 
+// COM, affectez la valeur true à l'attribut ComVisible sur ce type.
+[assembly: ComVisible(false)]
+
+// Le GUID suivant est pour l'ID de la typelib si ce projet est exposé à COM
+[assembly: Guid("88abe98b-825d-41c6-8b9e-e1e5660b3cdd")]
+
+// Les informations de version pour un assembly se composent des quatre valeurs suivantes :
+//
+//      Version principale
+//      Version secondaire 
+//      Numéro de build
+//      Révision
+//
+// Vous pouvez spécifier toutes les valeurs ou indiquer les numéros de révision et de build par défaut 
+// en utilisant '*', comme indiqué ci-dessous :
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]

+ 83 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Domaine/Restauration.cs

@@ -0,0 +1,83 @@
+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;
+        }
+    }
+}

+ 49 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Domaine/RestaurationExterne.cs

@@ -0,0 +1,49 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace CG67.FicheCollege.Domaine
+{
+
+
+    [Serializable]
+    public class RestaurationExterne
+    {
+        /// <summary>
+        /// nom du collège aidant 
+        /// </summary>
+        private string mNomCollege;
+        /// <summary>
+        /// nombre de personnes aidées
+        /// </summary>
+        private int mNbrPersonnes;
+        /// <summary>
+        /// type d'aide (télérestauration, hébergement, etc...)
+        /// </summary>
+        private string mTypeRestauration;
+
+	
+        public string NomCollege
+        {
+            get { return mNomCollege; }
+            set { mNomCollege = value; }
+        }
+        public int NbrPersonnes
+        {
+            get { return mNbrPersonnes; }
+            set { mNbrPersonnes = value; }
+        }
+        public string TypeRestauration
+        {
+            get { return mTypeRestauration; }
+            set { mTypeRestauration = value; }
+        }
+
+        public RestaurationExterne(string nomCollege, int nbrPersonnes, string typeRestauration)
+        {
+            this.mNomCollege = nomCollege;
+            this.mNbrPersonnes = nbrPersonnes;
+            this.mTypeRestauration = typeRestauration;
+        }
+    }
+}

+ 21 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Domaine/Utile.cs

@@ -0,0 +1,21 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace CG67.FicheCollege.Domaine
+{
+    public static class Utile
+    {
+        /// <summary>
+        /// formate un string sous forme de prénom.
+        /// </summary>
+        /// <param name="str"></param>
+        /// <returns>string formaté en type prénom, exemple : MIckAeL, retournera Mickael</returns>
+        public static string formatStringPrenom(string str)
+        {
+            string retour = str.Substring(0, 1).ToUpper();
+            retour += str.Substring(1, str.Length - 1).ToLower();
+            return retour;
+        }
+    }
+}

+ 122 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Entrepot/CG67.FicheCollege.Entrepot.csproj

@@ -0,0 +1,122 @@
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>8.0.50727</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{799F1203-F76F-4623-B6BD-DBE509478539}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>CG67.FicheCollege.Entrepot</RootNamespace>
+    <AssemblyName>CG67.FicheCollege.Entrepot</AssemblyName>
+    <SccProjectName>SAK</SccProjectName>
+    <SccLocalPath>SAK</SccLocalPath>
+    <SccAuxPath>SAK</SccAuxPath>
+    <SccProvider>SAK</SccProvider>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="Oracle.DataAccess, Version=2.102.2.20, Culture=neutral, PublicKeyToken=89b483f429c47342, processorArchitecture=x86" />
+    <Reference Include="System" />
+    <Reference Include="System.configuration" />
+    <Reference Include="System.Data" />
+    <Reference Include="System.Xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="EntrepotActionEducative.cs" />
+    <Compile Include="EntrepotATC.cs" />
+    <Compile Include="EntrepotBase.cs" />
+    <Compile Include="EntrepotBilinguisme.cs" />
+    <Compile Include="EntrepotChiffresSignificatifs.cs" />
+    <Compile Include="EntrepotCommentaires.cs" />
+    <Compile Include="EntrepotContact.cs" />
+    <Compile Include="EntrepotDotation.cs" />
+    <Compile Include="EntrepotEquipement.cs" />
+    <Compile Include="EntrepotEtablissement.cs" />
+    <Compile Include="EntrepotFactory.cs" />
+    <Compile Include="EntrepotInvestissement.cs" />
+    <Compile Include="EntrepotLogement.cs" />
+    <Compile Include="EntrepotMCG.cs" />
+    <Compile Include="EntrepotProgTravaux.cs" />
+    <Compile Include="EntrepotProjetPilote.cs" />
+    <Compile Include="EntrepotRestauration.cs" />
+    <Compile Include="EntrepotRestaurationExterne.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\CG67.FicheCollege.Domaine\CG67.FicheCollege.Domaine.csproj">
+      <Project>{EA9B4153-44A9-46AF-891B-8DFE604CF33F}</Project>
+      <Name>CG67.FicheCollege.Domaine</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\CG67.FicheCollege.Interface\CG67.FicheCollege.Interface.csproj">
+      <Project>{6F721CCA-8B98-406A-A266-5D7D6264BCE6}</Project>
+      <Name>CG67.FicheCollege.Interface</Name>
+    </ProjectReference>
+  </ItemGroup>
+  <ItemGroup>
+    <COMReference Include="Access">
+      <Guid>{4AFFC9A0-5F99-101B-AF4E-00AA003F0F07}</Guid>
+      <VersionMajor>9</VersionMajor>
+      <VersionMinor>0</VersionMinor>
+      <Lcid>0</Lcid>
+      <WrapperTool>primary</WrapperTool>
+      <Isolated>False</Isolated>
+    </COMReference>
+    <COMReference Include="ADODB">
+      <Guid>{00000205-0000-0010-8000-00AA006D2EA4}</Guid>
+      <VersionMajor>2</VersionMajor>
+      <VersionMinor>5</VersionMinor>
+      <Lcid>0</Lcid>
+      <WrapperTool>primary</WrapperTool>
+      <Isolated>False</Isolated>
+    </COMReference>
+    <COMReference Include="DAO">
+      <Guid>{00025E01-0000-0000-C000-000000000046}</Guid>
+      <VersionMajor>5</VersionMajor>
+      <VersionMinor>0</VersionMinor>
+      <Lcid>0</Lcid>
+      <WrapperTool>primary</WrapperTool>
+      <Isolated>False</Isolated>
+    </COMReference>
+    <COMReference Include="Microsoft.Office.Core">
+      <Guid>{2DF8D04C-5BFA-101B-BDE5-00AA0044DE52}</Guid>
+      <VersionMajor>2</VersionMajor>
+      <VersionMinor>3</VersionMinor>
+      <Lcid>0</Lcid>
+      <WrapperTool>primary</WrapperTool>
+      <Isolated>False</Isolated>
+    </COMReference>
+    <COMReference Include="VBIDE">
+      <Guid>{0002E157-0000-0000-C000-000000000046}</Guid>
+      <VersionMajor>5</VersionMajor>
+      <VersionMinor>3</VersionMinor>
+      <Lcid>0</Lcid>
+      <WrapperTool>primary</WrapperTool>
+      <Isolated>False</Isolated>
+    </COMReference>
+  </ItemGroup>
+  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
+</Project>

+ 10 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Entrepot/CG67.FicheCollege.Entrepot.csproj.vspscc

@@ -0,0 +1,10 @@
+""
+{
+"FILE_VERSION" = "9237"
+"ENLISTMENT_CHOICE" = "NEVER"
+"PROJECT_FILE_RELATIVE_PATH" = "relative:Core\\CG67.FicheCollege.Entrepot"
+"NUMBER_OF_EXCLUDED_FILES" = "0"
+"ORIGINAL_PROJECT_FILE_PATH" = ""
+"NUMBER_OF_NESTED_PROJECTS" = "0"
+"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER"
+}

+ 48 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Entrepot/EntrepotATC.cs

@@ -0,0 +1,48 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.Data;
+using System.Data.SqlClient;
+using CG67.FicheCollege.Domaine;
+using CG67.FicheCollege.Interface;
+
+namespace CG67.FicheCollege.Entrepot
+{
+    public class EntrepotATC : EntrepotBase, IEntrepotATC
+    {
+        public IList<ATC> GetByCodeRNE(string codeRNE)
+        {
+            IList<ATC> resultat = new List<ATC>();
+            using (SqlConnection connexion = new SqlConnection(this.ChaineDeConnexion))
+            {
+                try
+                {
+                    connexion.Open();
+                    using (SqlCommand command = connexion.CreateCommand())
+                    {
+                        //on récupère les ATC.
+                        command.CommandText = "Select ValeurETP, TypeContact, Nom, Prenom, Fonction, Fonction, Catégorie, Grade, Sum(NbJours) as NbJoursFormation from ATC INNER JOIN Contact ON (ATC.Id = Contact.Id) LEFT JOIN Formation_ATC ON (ATC.Id = Formation_ATC.IdATC) WHERE CodeRNE = @RNE GROUP BY ValeurETP, TypeContact, Nom, Prenom, Fonction, Fonction, Catégorie, Grade";
+                        command.Parameters.AddWithValue("@RNE", codeRNE);
+                        using (SqlDataReader dr = command.ExecuteReader())
+                        {
+                            while (dr.Read())
+                            {
+                                resultat.Add(new ATC(Convert.ToDouble(dr["ValeurETP"].ToString()), dr["Nom"].ToString(), dr["Prenom"].ToString(), dr["Fonction"].ToString(), dr["TypeContact"].ToString(), dr["Catégorie"].ToString(), dr["Grade"].ToString(), Convert.ToInt32(dr["NbJoursFormation"].ToString())));
+                            }
+                        }
+                    }
+                }
+                catch (Exception erreurInterne)
+                {
+                    throw new Exception(" " + erreurInterne);
+                }
+                finally
+                {
+                    if (connexion.State == ConnectionState.Open)
+                        connexion.Close();
+                }
+            }
+            return resultat;
+        }
+    }
+}

+ 58 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Entrepot/EntrepotActionEducative.cs

@@ -0,0 +1,58 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.Data;
+using System.Data.SqlClient;
+using CG67.FicheCollege.Domaine;
+using CG67.FicheCollege.Interface;
+
+namespace CG67.FicheCollege.Entrepot
+{
+    public class EntrepotActionEducative : EntrepotBase, IEntrepotActionEducative
+    {
+        public IList<ActionEducative> GetByCodeRNEAndAnnee(string codeRNE, int annee)
+        {
+            //definition de l'IList de retour.
+            IList<ActionEducative> resultat = new List<ActionEducative>();
+            //utilisation de la connection pour sql server.
+            using (SqlConnection connexion = new SqlConnection(this.ChaineDeConnexion))
+            {
+                try
+                {
+                    //tentative de connection.
+                    connexion.Open();
+                    using (SqlCommand command = connexion.CreateCommand())
+                    {
+                        //mise en place de la requete.
+                        command.CommandText = "Select * from ActionEducative INNER JOIN Etablissement_ActionEducative ON (Etablissement_ActionEducative.IdActionEducative = ActionEducative.Id) WHERE CodeRNE = @RNE AND Annee = @Annee";
+                        //mise en place des attributs.
+                        command.Parameters.AddWithValue("@RNE", codeRNE);
+                        command.Parameters.AddWithValue("@Annee", annee);
+                        //lancement de la requete
+                        using (SqlDataReader dr = command.ExecuteReader())
+                        {
+                            //rajout des résultats de la requete dans l'IList de retour.
+                            while (dr.Read())
+                            {
+                                resultat.Add(new ActionEducative(dr["Libelle"].ToString(), Convert.ToInt32(dr["NbEleves"].ToString()), Convert.ToDouble(dr["MontantSubvention"].ToString())));
+                            }
+                        }
+                    }
+                }
+                catch (Exception e)
+                {
+                    //renvoie de l'exception ...
+                    throw new Exception(e.ToString()); 
+                }
+                finally
+                {
+                    //on ferme la connection si elle est ouverte.
+                    if (connexion.State == ConnectionState.Open)
+                        connexion.Close();
+                }
+            }
+            //retour de l'IList de résultat.
+            return resultat;
+        }
+    }
+}

+ 39 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Entrepot/EntrepotBase.cs

@@ -0,0 +1,39 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.Configuration;
+using System.Data;
+using System.Data.SqlClient;
+using CG67.FicheCollege.Domaine;
+
+namespace CG67.FicheCollege.Entrepot
+{
+  
+    public class EntrepotBase
+    {
+        protected string ChaineDeConnexion;
+        protected string ChaineDeConnexionCollege;
+        protected string ChaineDeConnexionAccess;
+        public EntrepotBase()
+        {
+            this.ChaineDeConnexion = ConfigurationManager.AppSettings["ConnexionStringSic"];
+            if (string.IsNullOrEmpty(this.ChaineDeConnexion))
+            {
+                throw new Exception("Chaine de connexion Sql Server non renseignée");
+            }
+
+            this.ChaineDeConnexionCollege = ConfigurationManager.AppSettings["ConnexionStringOracleCollege"];
+            if (string.IsNullOrEmpty(this.ChaineDeConnexionCollege))
+            {
+                throw new Exception("Chaine de connexion Oracle non renseignée");
+            }
+
+            this.ChaineDeConnexionAccess = ConfigurationManager.AppSettings["ConnexionStringAccess"];
+            if (string.IsNullOrEmpty(this.ChaineDeConnexionAccess))
+            {
+                throw new Exception("Chaine de connexion Access non renseignée");
+            }
+        }
+                
+    }
+}

+ 53 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Entrepot/EntrepotBilinguisme.cs

@@ -0,0 +1,53 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.Data;
+using System.Data.SqlClient;
+using CG67.FicheCollege.Domaine;
+using CG67.FicheCollege.Interface;
+
+namespace CG67.FicheCollege.Entrepot
+{
+    public class EntrepotBilinguisme : EntrepotBase, IEntrepotBilinguisme
+    {
+        public Bilinguisme GetByCodeRNEAndAnnee(string codeRNE, int annee)
+        {
+            Bilinguisme resultat = null;
+            using (SqlConnection connexion = new SqlConnection(this.ChaineDeConnexion))
+            {
+                try
+                {
+                    connexion.Open();
+                    using (SqlCommand command = connexion.CreateCommand())
+                    {
+                        command.CommandText = "SELECT Niveau, NbEleve FROM Bilinguisme WHERE CodeRne = @RNE AND Annee = @Annee";
+                        command.Parameters.AddWithValue("@RNE", codeRNE);
+                        command.Parameters.AddWithValue("@Annee", annee);
+                        using (SqlDataReader dr = command.ExecuteReader())
+                        {
+                            List<int> lstNiveaux = new List<int>();
+                            int nombreTotalEleves = 0;
+                            while (dr.Read())
+                            {
+                                lstNiveaux.Add(Convert.ToInt16(dr["Niveau"].ToString()));
+                                nombreTotalEleves += Convert.ToInt16(dr["NbEleve"].ToString());
+                            }
+                            resultat = new Bilinguisme(lstNiveaux, nombreTotalEleves);
+                        }
+                    }
+                }
+                catch (Exception erreurInterne)
+                {
+                    throw new Exception(" " + erreurInterne);
+                }
+                finally
+                {
+                    if (connexion.State == ConnectionState.Open)
+                        connexion.Close();
+                }
+            }
+
+            return resultat;
+        }
+    }
+}

+ 81 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Entrepot/EntrepotChiffresSignificatifs.cs

@@ -0,0 +1,81 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.Data;
+using System.Data.SqlClient;
+using CG67.FicheCollege.Domaine;
+using CG67.FicheCollege.Interface;
+
+namespace CG67.FicheCollege.Entrepot
+{
+    public class EntrepotChiffresSignificatifs : EntrepotBase, IEntrepotChiffresSignificatifs
+    {
+        public ChiffresSignificatifs GetByAnnee(int annee)
+        {
+            ChiffresSignificatifs resultat = new ChiffresSignificatifs();
+            using (SqlConnection connexion = new SqlConnection(this.ChaineDeConnexion))
+            {
+                try
+                {
+                    connexion.Open();
+                    using (SqlCommand command = connexion.CreateCommand())
+                    {
+                        //Il n'est pas possible de tout faire en une requete ...
+                        //Du coup, une requete a été crée par chiffre (deux dans le cas du montant total des financements.
+                        command.CommandText = "SELECT sum(Dotation.Montant) as totalDotation FROM Dotation WHERE Dotation.Annee = @Annee";
+                        command.Parameters.AddWithValue("@Annee", annee);
+                        using (SqlDataReader dr = command.ExecuteReader())
+                        {
+                            while (dr.Read())
+                            {
+                                resultat.MontantTotalFinancements += Convert.ToDouble(dr["totalDotation"].ToString());
+                            }
+                        }
+                        command.CommandText = "SELECT sum(MontantSubvention) as totalSubvention FROM Etablissement_ActionEducative WHERE Etablissement_ActionEducative.Annee = @Annee";
+                        using (SqlDataReader dr2 = command.ExecuteReader())
+                        {
+                            while (dr2.Read())
+                            {
+                                resultat.MontantTotalFinancements += Convert.ToDouble(dr2["totalSubvention"].ToString());
+                            }
+                        }
+                        command.CommandText = "SELECT sum(TotalEleves) as totalEleves FROM Effectif WHERE Effectif.Annee = @Annee";
+                        using (SqlDataReader dr3 = command.ExecuteReader())
+                        {
+                            while (dr3.Read())
+                            {
+                                resultat.NbTotalEleves += Convert.ToInt16(dr3["totalEleves"].ToString());
+                            }
+                        }
+                        command.CommandText = "SELECT sum(Montant) as totalInvest FROM Investissement WHERE Investissement.Annee = @Annee";
+                        using (SqlDataReader dr4 = command.ExecuteReader())
+                        {
+                            while (dr4.Read())
+                            {
+                                resultat.MontantTotalInvestissement += Convert.ToDouble(dr4["totalInvest"].ToString());
+                            }
+                        }
+                        command.CommandText = "SELECT CoutTotal as totalTransport FROM Transport WHERE Transport.Annee = @Annee";
+                        using (SqlDataReader dr5 = command.ExecuteReader())
+                        {
+                            while (dr5.Read())
+                            {
+                                resultat.MontantTotalTransportScolaire += Convert.ToDouble(dr5["totalTransport"].ToString());
+                            }
+                        }
+                    }
+                }
+                catch (Exception erreurInterne)
+                {
+                    throw new Exception(erreurInterne.ToString());
+                }
+                finally
+                {
+                    if (connexion.State == ConnectionState.Open)
+                        connexion.Close();
+                }
+            }
+            return resultat;
+        }
+    }
+}

+ 48 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Entrepot/EntrepotCommentaires.cs

@@ -0,0 +1,48 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.Data;
+using System.Data.SqlClient;
+using CG67.FicheCollege.Domaine;
+using CG67.FicheCollege.Interface;
+
+namespace CG67.FicheCollege.Entrepot
+{
+    public class EntrepotCommentaires : EntrepotBase, IEntrepotCommentaires
+    {
+        public Commentaires GetByCodeRNEAndAnnee(string codeRNE, int annee)
+        {
+            Commentaires resultat = null;
+            using (SqlConnection connexion = new SqlConnection(this.ChaineDeConnexion))
+            {
+                try
+                {
+                    connexion.Open();
+                    using (SqlCommand command = connexion.CreateCommand())
+                    {
+                        command.CommandText = "SELECT * FROM Commentaire WHERE CodeRNE=@RNE AND Annee = @Annee";
+                        command.Parameters.AddWithValue("@RNE", codeRNE);
+                        command.Parameters.AddWithValue("@Annee", annee);
+                        using (SqlDataReader dr = command.ExecuteReader())
+                        {
+                            if (dr.Read())
+                            {
+                                resultat = new Commentaires(dr["ComSecteurRecrutement"].ToString(), dr["ComPrevisionEffectifATC"].ToString(), dr["ComProgrammationTravaux"].ToString(), dr["ComAmenagementsParticuliers"].ToString(), dr["ComInterventionsRemarquables"].ToString(), dr["ComTableauEffectif"].ToString());
+                            }
+                        }
+                    }
+                }
+                catch (Exception erreurInterne)
+                {
+                    throw new Exception(" " + erreurInterne);
+                }
+                finally
+                {
+                    if (connexion.State == ConnectionState.Open)
+                        connexion.Close();
+                }
+            }
+            return resultat;
+        }
+    }
+}

+ 47 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Entrepot/EntrepotContact.cs

@@ -0,0 +1,47 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.Data;
+using System.Data.SqlClient;
+using CG67.FicheCollege.Domaine;
+using CG67.FicheCollege.Interface;
+
+namespace CG67.FicheCollege.Entrepot
+{
+    public class EntrepotContact : EntrepotBase, IEntrepotContact
+    {
+        public IList<Contact> GetByCodeRNE(string codeRNE)
+        {
+            IList<Contact> resultat = new List<Contact>();
+            using (SqlConnection connexion = new SqlConnection(this.ChaineDeConnexion))
+            {
+                try
+                {
+                    connexion.Open();
+                    using (SqlCommand command = connexion.CreateCommand())
+                    {
+                        command.CommandText = "SELECT * FROM Contact WHERE CodeRNE = @RNE";
+                        command.Parameters.AddWithValue("@RNE", codeRNE);
+                        using (SqlDataReader dr = command.ExecuteReader())
+                        {
+                            while (dr.Read())
+                            {
+                                resultat.Add(new Contact(dr["Civilite"].ToString(), dr["Nom"].ToString(), dr["Prenom"].ToString(), dr["Fonction"].ToString(),dr["TypeContact"].ToString()));
+                            }
+                        }
+                    }
+                }
+                catch (Exception erreurInterne)
+                {
+                    throw new Exception(" " + erreurInterne);
+                }
+                finally
+                {
+                    if (connexion.State == ConnectionState.Open)
+                        connexion.Close();
+                }
+            }
+            return resultat;
+        }
+    }
+}

+ 66 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Entrepot/EntrepotDotation.cs

@@ -0,0 +1,66 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.Data;
+using System.Data.SqlClient;
+using CG67.FicheCollege.Domaine;
+using CG67.FicheCollege.Interface;
+
+namespace CG67.FicheCollege.Entrepot
+{
+    public class EntrepotDotation : EntrepotBase, IEntrepotDotation
+    {
+        public Dotation GetByCodeRNEAndAnnee(string codeRNE, int annee)
+        {
+            Dotation resultat = new Dotation();
+            using (SqlConnection connexion = new SqlConnection(this.ChaineDeConnexion))
+            {
+                try
+                {
+                    connexion.Open();
+                    using (SqlCommand command = connexion.CreateCommand())
+                    {
+                        command.CommandText = "Select * from Dotation WHERE CodeRNE = @RNE AND Annee = @Annee";
+                        command.Parameters.AddWithValue("@RNE", codeRNE);
+                        command.Parameters.AddWithValue("@Annee", annee);
+                        using (SqlDataReader dr = command.ExecuteReader())
+                        {
+                            if (dr.Read())
+                            {
+                                switch (dr["Type"].ToString())
+                                {
+                                    case "Viabilisation":
+                                        resultat.Viabilisation = Convert.ToDouble(dr["Montant"].ToString());
+                                        break;
+
+                                    case "Entretien":
+                                        resultat.Entretien = Convert.ToDouble(dr["Montant"].ToString());
+                                        break;
+
+                                    case "Autres Depenses":
+                                        resultat.AutresDepenses = Convert.ToDouble(dr["Montant"].ToString());
+                                        break;
+
+                                    default:
+                                        Console.WriteLine("{0}", "petite erreur au niveau de la dotation");
+                                        break;
+                                }
+                            }
+                        }
+                    }
+                }
+                catch (Exception erreurInterne)
+                {
+                    throw new Exception(" " + erreurInterne);
+                }
+                finally
+                {
+                    if (connexion.State == ConnectionState.Open)
+                        connexion.Close();
+                }
+            }
+
+            return resultat;
+        }
+    }
+}

+ 49 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Entrepot/EntrepotEquipement.cs

@@ -0,0 +1,49 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.Data;
+using System.Data.SqlClient;
+using CG67.FicheCollege.Domaine;
+using CG67.FicheCollege.Interface;
+
+namespace CG67.FicheCollege.Entrepot
+{
+    public class EntrepotEquipement : EntrepotBase, IEntrepotEquipement
+    {
+        public IList<Equipement> GetByCodeRNEAndAnnee(string codeRNE, int annee)
+        {
+            IList<Equipement> resultat = new List<Equipement>();
+            using (SqlConnection connexion = new SqlConnection(this.ChaineDeConnexion))
+            {
+                try
+                {
+                    connexion.Open();
+                    using (SqlCommand command = connexion.CreateCommand())
+                    {
+                        command.CommandText = "Select * from EquipementMobilierMateriel WHERE CodeRNE = @RNE AND Annee = @Annee";
+                        command.Parameters.AddWithValue("@RNE", codeRNE);
+                        command.Parameters.AddWithValue("@Annee", annee);
+                        using (SqlDataReader dr = command.ExecuteReader())
+                        {
+                            while (dr.Read())
+                            {
+                                resultat.Add(new Equipement(dr["libelle"].ToString(),Convert.ToDouble(dr["Montant"].ToString()),Convert.ToBoolean(dr["Informatique"].ToString())));
+                            }
+                        }
+                    }
+                }
+                catch (Exception erreurInterne)
+                {
+                    throw new Exception(" " + erreurInterne);
+                }
+                finally
+                {
+                    if (connexion.State == ConnectionState.Open)
+                        connexion.Close();
+                }
+            }
+
+            return resultat;
+        }
+    }
+}

+ 209 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Entrepot/EntrepotEtablissement.cs

@@ -0,0 +1,209 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.Data;
+using System.Data.SqlClient;
+using Oracle.DataAccess.Client;
+using System.Data.OleDb;
+using CG67.FicheCollege.Domaine;
+using CG67.FicheCollege.Interface;
+
+namespace CG67.FicheCollege.Entrepot
+{
+    public class EntrepotEtablissement : EntrepotBase, IEntrepotEtablissement
+    {
+        public IList<Etablissement> GetAll()
+        {
+            IList<Etablissement> resultat = new List<Etablissement>();
+            using (SqlConnection connexion = new SqlConnection(this.ChaineDeConnexion))
+            {
+                try
+                {
+                    connexion.Open();
+                    using (SqlCommand command = connexion.CreateCommand())
+                    {
+                        command.CommandText = "Select Etablissement.CodeRNE, Etablissement.NomCollege, Adresse.Ville from Etablissement LEFT JOIN Adresse ON (Etablissement.IdAdresse = Adresse.Id) ORDER BY Adresse.Ville, Etablissement.NomCollege ASC";
+                        using (SqlDataReader dr = command.ExecuteReader())
+                        {
+                            while (dr.Read())
+                            {
+                                resultat.Add(new Etablissement(dr["CodeRNE"].ToString(), dr["NomCollege"].ToString(), dr["Ville"].ToString()));
+                            }
+                        }
+                    }
+                }
+                catch (Exception erreurInterne)
+                {
+                    throw new Exception(" " + erreurInterne);
+                }
+                finally
+                {
+                    if (connexion.State == ConnectionState.Open)
+                        connexion.Close();
+                }
+            }
+
+            return resultat;
+        }
+
+
+        public Etablissement GetByCodeRNEAndAnnee(string codeRNE, int annee)
+        {
+            Etablissement resultat = null;
+            using (SqlConnection connexion = new SqlConnection(this.ChaineDeConnexion))
+            {
+                try
+                {
+                    connexion.Open();
+                    using (SqlCommand command = connexion.CreateCommand())
+                    {
+                        command.CommandText = "Select * from Etablissement LEFT JOIN Adresse ON (Etablissement.IdAdresse = Adresse.Id) WHERE Etablissement.CodeRNE = @RNE";
+                        command.Parameters.AddWithValue("@RNE", codeRNE);
+                        command.Parameters.AddWithValue("@Annee", annee);
+                        using (SqlDataReader dr = command.ExecuteReader())
+                        {
+                            if (dr.Read())
+                            {
+                                string adresse = dr["NumRue"].ToString() + ", " + dr["TypeDeVoie"].ToString() + " " + dr["Voie"].ToString();
+                                
+                                resultat = new Etablissement(codeRNE, annee, dr["NomCollege"].ToString(),
+                                    dr["TypeEtablissement"].ToString(), Convert.ToInt16(dr["AnneeConstruction"].ToString()),
+                                    dr["Telephone"].ToString(), dr["Email"].ToString(), dr["Fax"].ToString(),
+                                    dr["NomPropriétaire"].ToString(), adresse, dr["ComplementAdresse"].ToString(),
+                                    Convert.ToInt32(dr["CodePostal"].ToString()), dr["Ville"].ToString(), dr["LienPhoto"].ToString(),
+                                    EntrepotFactory.GetEntrepotActionEducative().GetByCodeRNEAndAnnee,
+                                    EntrepotFactory.GetEntrepotATC().GetByCodeRNE,
+                                    EntrepotFactory.GetEntrepotBilinguisme().GetByCodeRNEAndAnnee,
+                                    EntrepotFactory.GetEntrepotCommentaires().GetByCodeRNEAndAnnee,
+                                    EntrepotFactory.GetEntrepotContact().GetByCodeRNE,
+                                    EntrepotFactory.GetEntrepotDotation().GetByCodeRNEAndAnnee,
+                                    EntrepotFactory.GetEntrepotEquipement().GetByCodeRNEAndAnnee,
+                                    EntrepotFactory.GetEntrepotInvestissement().GetByCodeRNEAndAnnee,
+                                    EntrepotFactory.GetEntrepotMCG().GetByCodeRNE,
+                                    EntrepotFactory.GetEntrepotLogement().GetByCodeRNE, 
+                                    EntrepotFactory.GetEntrepotProgTravaux().GetByCodeRNEAndAnnee, 
+                                    EntrepotFactory.GetEntrepotProjetPilote().GetByCodeRNEAndAnnee,
+                                    EntrepotFactory.GetEntrepotRestauration().GetByRNEAndAnnee);
+                            }
+                        }
+
+                        command.CommandText = "SELECT * FROM EtpTheorique WHERE CodeRNE = @RNE AND Annee = @Annee";
+                        using (SqlDataReader dr2 = command.ExecuteReader())
+                        {
+                            if (dr2.Read())
+                            {
+                                resultat.ValeurETPTheorique = Convert.ToInt32(dr2["Valeur"].ToString());
+                            }
+                        }
+
+                        command.CommandText = "SELECT * FROM Reserve WHERE CodeRNE = @RNE AND Annee = @Annee";
+                        using (SqlDataReader dr3 = command.ExecuteReader())
+                        {
+                            if (dr3.Read())
+                            {
+                                resultat.Reserve = Convert.ToInt32(dr3["Montant"].ToString());
+                            }
+                        }
+
+                        command.CommandText = "SELECT Annee, sum(TotalEleves) as TotalEleves FROM Effectif WHERE CodeRNE = @RNE AND Annee BETWEEN @AnneeMoins10 AND @Annee GROUP BY Annee ORDER BY Annee ASC";
+                        command.Parameters.AddWithValue("@AnneeMoins10", annee - 10);
+                        using (SqlDataReader dr4 = command.ExecuteReader())
+                        {
+                            IList<int> lstEffectifReel = new List<int>();
+                            while (dr4.Read())
+                            {
+                                lstEffectifReel.Add(Convert.ToInt32(dr4["TotalEleves"].ToString()));
+                            }
+                            resultat.LstEffectifReel = lstEffectifReel;
+                        }
+
+                        command.CommandText = "SELECT Annee, sum(NbEleve) as TotalEleves FROM PrevisionEffectif WHERE CodeRNE = @RNE AND Annee BETWEEN @Annee AND @AnneePlus5 GROUP BY Annee ORDER BY Annee ASC";
+                        command.Parameters.AddWithValue("@AnneePlus5", annee + 5);
+                        using (SqlDataReader dr5 = command.ExecuteReader())
+                        {
+                            IList<int> lstEffectifPrev = new List<int>();
+                            while (dr5.Read())
+                            {
+                                lstEffectifPrev.Add(Convert.ToInt32(dr5["TotalEleves"].ToString()));
+                            }
+                            resultat.LstEffectifPrevisionnel = lstEffectifPrev;
+                        }
+
+                        command.CommandText = "SELECT * from Restructuration WHERE CodeRNE = @RNE";
+                        using (SqlDataReader dr6 = command.ExecuteReader())
+                        {
+                            IList<int> lstRestructuration = new List<int>();
+                            while (dr6.Read())
+                            {
+                                lstRestructuration.Add(Convert.ToInt32(dr6["Annee"].ToString()));
+                            }
+                            resultat.LstRestructuration = lstRestructuration;
+                        }
+
+                        command.CommandText = "SELECT * from SecteurRecrutement WHERE CodeRNE = @RNE";
+                        using (SqlDataReader dr7 = command.ExecuteReader())
+                        {
+                            IList<string> lstSecteurRecrut = new List<string>();
+                            while (dr7.Read())
+                            {
+                                lstSecteurRecrut.Add(dr7["Libelle"].ToString());
+                            }
+                            resultat.LstSecteurRecrutement = lstSecteurRecrut;
+                        }
+
+                        command.CommandText = "SELECT * from Remplacement INNER JOIN ATC ON (ATC.Id = Remplacement.IdATCRemplace) INNER JOIN Contact ON (ATC.Id = Contact.Id) WHERE CodeRNE = @RNE AND Remplacement.DateDebut + DureeEnSemaine >= GETDATE()";
+                        using (SqlDataReader dr8 = command.ExecuteReader())
+                        {
+                            int nbrRemplacements = 0;
+                            while (dr8.Read())
+                            {
+                                nbrRemplacements++; ;
+                            }
+                            resultat.NbrRemplacementsATC = nbrRemplacements;
+                        }
+                    }
+                }
+                catch (Exception e)
+                {
+                    throw new Exception(e.ToString());
+                }
+                finally
+                {
+                    if (connexion.State == ConnectionState.Open)
+                        connexion.Close();
+                }
+            }
+
+            using (OleDbConnection connexion = new OleDbConnection(this.ChaineDeConnexionAccess))
+            {
+                try
+                {
+                    connexion.Open();
+                    using (OleDbCommand command = connexion.CreateCommand())
+                    {
+                        command.CommandText = "SELECT Sum(Externat_Enseignementgeneral + Externat_Labochimie_sciencenat + Externat_Labophysique + Externat_Salleinformatique + Externat_Batimentsdemontables + Externat_Administration + Gymnaseatelier_Gymnases + Gymnaseatelier_Ateliers + Restauration_internats_internats + Restauration_internats_Restauration + Logements_et_exterieur_Logements + Logements_et_exterieur_Autres + Logements_et_exterieur_Logautres + Logements_et_exterieur_Cours + Logements_et_exterieur_Parkings + Logements_et_exterieur_Espacesverts + Logements_et_exterieur_Airessportives + Logements_et_exterieur_Consouvertes) as SurfaceTotale FROM [T_EDL Surfaces données du rectorat] LEFT JOIN T_COLLEGE ON ([T_EDL Surfaces données du rectorat].Lien_T_College = T_COLLEGE.REF_COLLEGE) WHERE T_COLLEGE.CODE_COLLEGE = @RNE";
+                        command.Parameters.AddWithValue("@RNE", codeRNE);
+                        using (OleDbDataReader reader = command.ExecuteReader())
+                        {
+                            if (reader.Read())
+                            {
+                                resultat.Surface = Convert.ToDouble(reader["SurfaceTotale"].ToString());
+                            }
+                        }
+                    }
+                }
+                catch
+                {
+                    throw;
+                }
+                finally
+                {
+                    if (connexion.State == ConnectionState.Open)
+                        connexion.Close();
+                }
+            }
+
+            return resultat;
+        }
+    }
+}

+ 140 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Entrepot/EntrepotFactory.cs

@@ -0,0 +1,140 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using CG67.FicheCollege.Domaine;
+using CG67.FicheCollege.Interface;
+
+namespace CG67.FicheCollege.Entrepot
+{
+    public static class EntrepotFactory
+    {
+        private static IEntrepotActionEducative entrepotActionEducative;
+        public static IEntrepotActionEducative GetEntrepotActionEducative()
+        {
+            if (entrepotActionEducative == null)
+                entrepotActionEducative = new EntrepotActionEducative();
+            return entrepotActionEducative;
+        }
+
+        private static IEntrepotATC entrepotATC;
+        public static IEntrepotATC GetEntrepotATC()
+        {
+            if (entrepotATC == null)
+                entrepotATC = new EntrepotATC();
+            return entrepotATC;
+        }
+
+        private static IEntrepotBilinguisme entrepotBilinguisme;
+        public static IEntrepotBilinguisme GetEntrepotBilinguisme()
+        {
+            if (entrepotBilinguisme == null)
+                entrepotBilinguisme = new EntrepotBilinguisme();
+            return entrepotBilinguisme;
+        }
+
+        private static IEntrepotDotation entrepotDotation;
+        public static IEntrepotDotation GetEntrepotDotation()
+        {
+            if (entrepotDotation == null)
+                entrepotDotation = new EntrepotDotation();
+            return entrepotDotation;
+        }
+
+        private static IEntrepotEquipement entrepotEquipement;
+        public static IEntrepotEquipement GetEntrepotEquipement()
+        {
+            if (entrepotEquipement == null)
+                entrepotEquipement = new EntrepotEquipement();
+            return entrepotEquipement;
+        }
+
+        private static IEntrepotInvestissement entrepotInvestissement;
+        public static IEntrepotInvestissement GetEntrepotInvestissement()
+        {
+            if (entrepotInvestissement == null)
+                entrepotInvestissement = new EntrepotInvestissement();
+            return entrepotInvestissement;
+        }
+
+        private static IEntrepotLogement entrepotLogement;
+        public static IEntrepotLogement GetEntrepotLogement()
+        {
+            if (entrepotLogement == null)
+                entrepotLogement = new EntrepotLogement();
+            return entrepotLogement;
+        }
+
+        private static IEntrepotMCG entrepotMCG;
+        public static IEntrepotMCG GetEntrepotMCG()
+        {
+            if (entrepotMCG == null)
+                entrepotMCG = new EntrepotMCG();
+            return entrepotMCG;
+        }
+
+        private static IEntrepotProjetPilote entrepotProjetPilote;
+        public static IEntrepotProjetPilote GetEntrepotProjetPilote()
+        {
+            if (entrepotProjetPilote == null)
+                entrepotProjetPilote = new EntrepotProjetPilote();
+            return entrepotProjetPilote;
+        }
+
+        private static IEntrepotRestaurationExterne entrepotRestaurationExterne;
+        public static IEntrepotRestaurationExterne GetEntrepotRestaurationExterne()
+        {
+            if (entrepotRestaurationExterne == null)
+                entrepotRestaurationExterne = new EntrepotRestaurationExterne();
+            return entrepotRestaurationExterne;
+        }
+
+        private static IEntrepotContact entrepotContact;
+        public static IEntrepotContact GetEntrepotContact()
+        {
+            if (entrepotContact == null)
+                entrepotContact = new EntrepotContact();
+            return entrepotContact;
+        }
+
+        private static IEntrepotChiffresSignificatifs entrepotChiffresSignificatifs;
+        public static IEntrepotChiffresSignificatifs GetEntrepotChiffresSignificatifs()
+        {
+            if (entrepotChiffresSignificatifs == null)
+                entrepotChiffresSignificatifs = new EntrepotChiffresSignificatifs();
+            return entrepotChiffresSignificatifs;
+        }
+
+        private static IEntrepotCommentaires entrepotCommentaires;
+        public static IEntrepotCommentaires GetEntrepotCommentaires()
+        {
+            if (entrepotCommentaires == null)
+                entrepotCommentaires = new EntrepotCommentaires();
+            return entrepotCommentaires;
+        }
+
+        private static IEntrepotRestauration entrepotRestauration;
+        public static IEntrepotRestauration GetEntrepotRestauration()
+        {
+            if (entrepotRestauration == null)
+                entrepotRestauration = new EntrepotRestauration();
+            return entrepotRestauration;
+        }
+
+        private static IEntrepotProgTravaux entrepotProgTravaux;
+        public static IEntrepotProgTravaux GetEntrepotProgTravaux()
+        {
+            if (entrepotProgTravaux == null)
+                entrepotProgTravaux = new EntrepotProgTravaux();
+            return entrepotProgTravaux;
+        }
+
+        private static IEntrepotEtablissement entrepotEtablissement;
+        public static IEntrepotEtablissement GetEntrepotEtablissement()
+        {
+            if (entrepotEtablissement == null)
+                entrepotEtablissement = new EntrepotEtablissement();
+            return entrepotEtablissement;
+        }
+
+    }
+}

+ 49 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Entrepot/EntrepotInvestissement.cs

@@ -0,0 +1,49 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.Data;
+using System.Data.SqlClient;
+using CG67.FicheCollege.Domaine;
+using CG67.FicheCollege.Interface;
+
+namespace CG67.FicheCollege.Entrepot
+{
+    public class EntrepotInvestissement : EntrepotBase,IEntrepotInvestissement
+    {
+        public IList<Investissement> GetByCodeRNEAndAnnee(string codeRNE, int annee)
+        {
+            IList<Investissement> resultat = new List<Investissement>();
+            using (SqlConnection connexion = new SqlConnection(this.ChaineDeConnexion))
+            {
+                try
+                {
+                    connexion.Open();
+                    using (SqlCommand command = connexion.CreateCommand())
+                    {
+                        //on récupère les ATC.
+                        command.CommandText = "Select * from Investissement Where CodeRNE = @RNE AND Annee = @Annee";
+                        command.Parameters.AddWithValue("@RNE", codeRNE);
+                        command.Parameters.AddWithValue("@Annee", annee);
+                        using (SqlDataReader dr = command.ExecuteReader())
+                        {
+                            while (dr.Read())
+                            {
+                                resultat.Add(new Investissement(dr["Type"].ToString(), Convert.ToDouble(dr["Montant"].ToString()), dr["Commentaire"].ToString()));
+                            }
+                        }
+                    }
+                }
+                catch (Exception erreurInterne)
+                {
+                    throw new Exception(" " + erreurInterne);
+                }
+                finally
+                {
+                    if (connexion.State == ConnectionState.Open)
+                        connexion.Close();
+                }
+            }
+            return resultat;
+        }
+    }
+}

+ 50 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Entrepot/EntrepotLogement.cs

@@ -0,0 +1,50 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.Data;
+using System.Data.SqlClient;
+using CG67.FicheCollege.Domaine;
+using CG67.FicheCollege.Interface;
+
+namespace CG67.FicheCollege.Entrepot
+{
+    public class EntrepotLogement : EntrepotBase, IEntrepotLogement
+    {
+        public Logement GetByCodeRNE(string codeRNE)
+        {
+            Logement resultat = new Logement();
+            using (SqlConnection connexion = new SqlConnection(this.ChaineDeConnexion))
+            {
+                try
+                {
+                    connexion.Open();
+                    using (SqlCommand command = connexion.CreateCommand())
+                    {
+                        command.CommandText = "SELECT count(Logement.Id) as NbrLogements, Contact.Fonction FROM Logement LEFT JOIN Logement_Contact ON (Logement.Id = Logement_Contact.IdLogement) LEFT JOIN Contact ON (Logement_Contact.IdContact = Contact.Id) WHERE Logement.CodeRNE = @RNE AND Logement_Contact.DateSortie is NULL AND Contact.CodeRNE  = @RNE Group BY Contact.Fonction";
+                        command.Parameters.AddWithValue("@RNE", codeRNE);
+                        using (SqlDataReader dr = command.ExecuteReader())
+                        {
+                            while (dr.Read())
+                            {
+                                resultat.NbrLogements += Convert.ToInt16(dr["NbrLogements"].ToString());
+                                // Si la fonction est de type ATC* (maintenance, entretien, etc...) on ajoute le nombre de logements au nombre d'agents logés (cf. requete)
+                                if ((String.Compare(dr["Fonction"].ToString().Substring(0, 3), "ATC")) == 0)
+                                    resultat.NbrAgentsLoges += Convert.ToInt16(dr["NbrLogements"].ToString());
+                            }
+                        }
+                    }
+                }
+                catch (Exception erreurInterne)
+                {
+                    throw new Exception(" " + erreurInterne);
+                }
+                finally
+                {
+                    if (connexion.State == ConnectionState.Open)
+                        connexion.Close();
+                }
+            }
+            return resultat;
+        }
+    }
+}

+ 46 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Entrepot/EntrepotMCG.cs

@@ -0,0 +1,46 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.Data;
+using System.Data.SqlClient;
+using CG67.FicheCollege.Domaine;
+using CG67.FicheCollege.Interface;
+namespace CG67.FicheCollege.Entrepot
+{
+    public class EntrepotMCG : EntrepotBase, IEntrepotMCG
+    {
+        public MCG GetByCodeRNE(string codeRNE)
+        {
+            MCG resultat = null;
+            using (SqlConnection connexion = new SqlConnection(this.ChaineDeConnexion))
+            {
+                try
+                {
+                    connexion.Open();
+                    using (SqlCommand command = connexion.CreateCommand())
+                    {
+                        command.CommandText = "Select Nom, Prenom, Ville FROM Etablissement INNER JOIN Mcg ON (Etablissement.IdMCG = Mcg.Id) INNER JOIN Contact ON (Mcg.IdContact = Contact.Id) WHERE Etablissement.CodeRNE = @RNE AND TypeContact = 'Directeur MCG'";
+                        command.Parameters.AddWithValue("@RNE", codeRNE);
+                        using (SqlDataReader dr = command.ExecuteReader())
+                        {
+                            if (dr.Read())
+                            {
+                                resultat = new MCG(dr["Ville"].ToString(), dr["Nom"].ToString(), dr["Prenom"].ToString());
+                            }
+                        }
+                    }
+                }
+                catch (Exception erreurInterne)
+                {
+                    throw new Exception(" " + erreurInterne);
+                }
+                finally
+                {
+                    if (connexion.State == ConnectionState.Open)
+                        connexion.Close();
+                }
+            }
+            return resultat;
+        }
+    }
+}

+ 52 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Entrepot/EntrepotProgTravaux.cs

@@ -0,0 +1,52 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.Data;
+using Oracle.DataAccess.Client;
+using CG67.FicheCollege.Domaine;
+using CG67.FicheCollege.Interface;
+ 
+
+namespace CG67.FicheCollege.Entrepot
+{
+    public class EntrepotProgTravaux : EntrepotBase, IEntrepotProgTravaux
+    {
+        public IList<ProgTravaux> GetByCodeRNEAndAnnee(string codeRNE, int annee)
+        {
+            IList<ProgTravaux> resultat = new List<ProgTravaux>();
+            using (OracleConnection connexion = new OracleConnection(this.ChaineDeConnexionCollege))
+            {
+                try
+                {
+                    connexion.Open();
+                    using (OracleCommand command = connexion.CreateCommand())
+                    {
+                        command.CommandText = "SELECT ANNEE, LIBELLE_OPERATION, MONTANT_PREV, TYPE_OPERATION FROM T_OPERAT_SERV_BAT INNER JOIN T_COLLEGE ON (T_OPERAT_SERV_BAT.LIEN_T_COLLEGE = T_COLLEGE.REF_COLLEGE) WHERE TYPE_OPERATION Like 'Restructuration%' AND CODE_COLLEGE = :RNE AND LIBELLE_OPERATION NOT IN (Select LIBELLE_OPERATION FROM T_OPERAT_SERV_BAT WHERE LIBELLE_OPERATION = 'Op') AND ANNEE BETWEEN :AnneeMoins1 AND :AnneePlus1 ORDER BY TYPE_OPERATION, ANNEE ASC";
+                        command.Parameters.Add(":RNE", codeRNE);
+                        int anneeMoins1 = annee - 1;
+                        command.Parameters.Add(":AnneeMoins1", anneeMoins1);
+                        int anneePlus1 = annee + 1;
+                        command.Parameters.Add(":AnneePlus1", anneePlus1);
+                        using (OracleDataReader reader = command.ExecuteReader())
+                        {
+                            while (reader.Read())
+                            {
+                                resultat.Add(new ProgTravaux(Convert.ToInt16(reader["ANNEE"].ToString()), reader["LIBELLE_OPERATION"].ToString(), Convert.ToDouble(reader["MONTANT_PREV"].ToString()), reader["TYPE_OPERATION"].ToString()));
+                            }
+                        }
+                    }
+                }
+                catch (Exception erreurInterne)
+                {
+                    throw new Exception(" " + erreurInterne);
+                }
+                finally
+                {
+                    if (connexion.State == ConnectionState.Open)
+                        connexion.Close();
+                }
+            }
+            return resultat;
+        }
+    }
+}

+ 48 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Entrepot/EntrepotProjetPilote.cs

@@ -0,0 +1,48 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.Data;
+using System.Data.SqlClient;
+using CG67.FicheCollege.Domaine;
+using CG67.FicheCollege.Interface;
+
+namespace CG67.FicheCollege.Entrepot
+{
+    public class EntrepotProjetPilote : EntrepotBase, IEntrepotProjetPilote
+    {
+        public IList<ProjetPilote> GetByCodeRNEAndAnnee(string codeRNE, int annee)
+        {
+            IList<ProjetPilote> resultat = new List<ProjetPilote>();
+            using (SqlConnection connexion = new SqlConnection(this.ChaineDeConnexion))
+            {
+                try
+                {
+                    connexion.Open();
+                    using (SqlCommand command = connexion.CreateCommand())
+                    {
+                        command.CommandText = "SELECT Libelle from ProjetPilote INNER JOIN Etablissement_ProjetPilote ON (ProjetPilote.Id = Etablissement_ProjetPilote.IdProjetPilote) WHERE CodeRNE = @RNE AND Participer = 'True' AND Annee = @Annee";
+                        command.Parameters.AddWithValue("@RNE", codeRNE);
+                        command.Parameters.AddWithValue("@Annee", annee);
+                        using (SqlDataReader dr = command.ExecuteReader())
+                        {
+                            while (dr.Read())
+                            {
+                                resultat.Add(new ProjetPilote(dr["Libelle"].ToString()));
+                            }
+                        }
+                    }
+                }
+                catch (Exception erreurInterne)
+                {
+                    throw new Exception(" " + erreurInterne);
+                }
+                finally
+                {
+                    if (connexion.State == ConnectionState.Open)
+                        connexion.Close();
+                }
+            }
+            return resultat;
+        }
+    }
+}

+ 50 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Entrepot/EntrepotRestauration.cs

@@ -0,0 +1,50 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.Data;
+using System.Data.SqlClient;
+using CG67.FicheCollege.Domaine;
+using CG67.FicheCollege.Interface;
+
+namespace CG67.FicheCollege.Entrepot
+{
+    public class EntrepotRestauration : EntrepotBase, IEntrepotRestauration
+    {
+        public Restauration GetByRNEAndAnnee(string codeRNE, int annee)
+        {
+            Restauration resultat = null;
+
+            using (SqlConnection connexion = new SqlConnection(this.ChaineDeConnexion))
+            {
+                try
+                {
+                    connexion.Open();
+                    using (SqlCommand command = connexion.CreateCommand())
+                    {
+                        command.CommandText = "SELECT * FROM Tarif WHERE CodeRNE = @RNE AND Tarif.Annee = @Annee";
+                        command.Parameters.AddWithValue("@RNE", codeRNE);
+                        command.Parameters.AddWithValue("@Annee", annee);
+                        using (SqlDataReader dr = command.ExecuteReader())
+                        {
+                            if (dr.Read())
+                            {
+                                resultat = new Restauration(Convert.ToInt16(dr["Annee"].ToString()), dr["CodeRNE"].ToString(), Convert.ToInt16(dr["NombrePersonne"].ToString()), EntrepotFactory.GetEntrepotRestaurationExterne().GetByCodeRNEAndAnnee  );
+                                
+                            }
+                        }
+                    }
+                }
+                catch (Exception erreurInterne)
+                {
+                    throw new Exception(" " + erreurInterne);
+                }
+                finally
+                {
+                    if (connexion.State == ConnectionState.Open)
+                        connexion.Close();
+                }
+                return resultat ;
+            }
+        }
+    }
+}

+ 48 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Entrepot/EntrepotRestaurationExterne.cs

@@ -0,0 +1,48 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.Data;
+using System.Data.SqlClient;
+using CG67.FicheCollege.Domaine;
+using CG67.FicheCollege.Interface;
+
+namespace CG67.FicheCollege.Entrepot
+{
+    public class EntrepotRestaurationExterne : EntrepotBase, IEntrepotRestaurationExterne
+    {
+        public IList<RestaurationExterne> GetByCodeRNEAndAnnee(string codeRNE, int annee)
+        {
+            IList<RestaurationExterne> resultat = new List<RestaurationExterne>();
+            using (SqlConnection connexion = new SqlConnection(this.ChaineDeConnexion))
+            {
+                try
+                {
+                    connexion.Open();
+                    using (SqlCommand command = connexion.CreateCommand())
+                    {
+                        command.CommandText = "SELECT Etablissement.NomCollege, RestaurationExterne.NbEleves, RestaurationExterne.TypeAide FROM RestaurationExterne INNER JOIN Etablissement ON (Etablissement.CodeRNE = RestaurationExterne.CodeRNEaidant) WHERE RestaurationExterne.CodeRNEAide = @RNE AND RestaurationExterne.Annee = @Annee";
+                        command.Parameters.AddWithValue("@RNE", codeRNE);
+                        command.Parameters.AddWithValue("@Annee", annee);
+                        using (SqlDataReader dr = command.ExecuteReader())
+                        {
+                            while (dr.Read())
+                            {
+                                resultat.Add(new RestaurationExterne(dr["NomCollege"].ToString(), Convert.ToInt16(dr["NbEleves"].ToString()), dr["TypeAide"].ToString()));
+                            }
+                        }
+                    }
+                }
+                catch (Exception erreurInterne)
+                {
+                    throw new Exception(" " + erreurInterne);
+                }
+                finally
+                {
+                    if (connexion.State == ConnectionState.Open)
+                        connexion.Close();
+                }
+            }
+            return resultat;
+        }
+    }
+}

+ 35 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Entrepot/Properties/AssemblyInfo.cs

@@ -0,0 +1,35 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// Les informations générales relatives à un assembly dépendent de 
+// l'ensemble d'attributs suivant. Changez les valeurs de ces attributs pour modifier les informations
+// associées à un assembly.
+[assembly: AssemblyTitle("CG67.FicheCollege.Entrepot")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("Conseil général du Bas-Rhin")]
+[assembly: AssemblyProduct("CG67.FicheCollege.Entrepot")]
+[assembly: AssemblyCopyright("Copyright © Conseil général du Bas-Rhin 2009")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// L'affectation de la valeur false à ComVisible rend les types invisibles dans cet assembly 
+// aux composants COM. Si vous devez accéder à un type dans cet assembly à partir de 
+// COM, affectez la valeur true à l'attribut ComVisible sur ce type.
+[assembly: ComVisible(false)]
+
+// Le GUID suivant est pour l'ID de la typelib si ce projet est exposé à COM
+[assembly: Guid("297d420d-d91c-459a-975b-ca23b121b4cf")]
+
+// Les informations de version pour un assembly se composent des quatre valeurs suivantes :
+//
+//      Version principale
+//      Version secondaire 
+//      Numéro de build
+//      Révision
+//
+// Vous pouvez spécifier toutes les valeurs ou indiquer les numéros de révision et de build par défaut 
+// en utilisant '*', comme indiqué ci-dessous :
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]

+ 72 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Interface/CG67.FicheCollege.Interface.csproj

@@ -0,0 +1,72 @@
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>8.0.50727</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{6F721CCA-8B98-406A-A266-5D7D6264BCE6}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>CG67.FicheCollege.Interface</RootNamespace>
+    <AssemblyName>CG67.FicheCollege.Interface</AssemblyName>
+    <SccProjectName>SAK</SccProjectName>
+    <SccLocalPath>SAK</SccLocalPath>
+    <SccAuxPath>SAK</SccAuxPath>
+    <SccProvider>SAK</SccProvider>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="System" />
+    <Reference Include="System.Data" />
+    <Reference Include="System.Xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="IEntrepotActionEducative.cs" />
+    <Compile Include="IEntrepotATC.cs" />
+    <Compile Include="IEntrepotBilinguisme.cs" />
+    <Compile Include="IEntrepotChiffresSignificatifs.cs" />
+    <Compile Include="IEntrepotCommentaires.cs" />
+    <Compile Include="IEntrepotContact.cs" />
+    <Compile Include="IEntrepotDotation.cs" />
+    <Compile Include="IEntrepotEquipement.cs" />
+    <Compile Include="IEntrepotEtablissement.cs" />
+    <Compile Include="IEntrepotInvestissement.cs" />
+    <Compile Include="IEntrepotLogement.cs" />
+    <Compile Include="IEntrepotMCG.cs" />
+    <Compile Include="IEntrepotProgTravaux.cs" />
+    <Compile Include="IEntrepotProjetPilote.cs" />
+    <Compile Include="IEntrepotRestauration.cs" />
+    <Compile Include="IEntrepotRestaurationExterne.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\CG67.FicheCollege.Domaine\CG67.FicheCollege.Domaine.csproj">
+      <Project>{EA9B4153-44A9-46AF-891B-8DFE604CF33F}</Project>
+      <Name>CG67.FicheCollege.Domaine</Name>
+    </ProjectReference>
+  </ItemGroup>
+  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
+</Project>

+ 10 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Interface/CG67.FicheCollege.Interface.csproj.vspscc

@@ -0,0 +1,10 @@
+""
+{
+"FILE_VERSION" = "9237"
+"ENLISTMENT_CHOICE" = "NEVER"
+"PROJECT_FILE_RELATIVE_PATH" = "relative:Core\\CG67.FicheCollege.Interface"
+"NUMBER_OF_EXCLUDED_FILES" = "0"
+"ORIGINAL_PROJECT_FILE_PATH" = ""
+"NUMBER_OF_NESTED_PROJECTS" = "0"
+"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER"
+}

+ 12 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Interface/IEntrepotATC.cs

@@ -0,0 +1,12 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using CG67.FicheCollege.Domaine;
+
+namespace CG67.FicheCollege.Interface
+{
+    public interface IEntrepotATC
+    {
+        IList<ATC> GetByCodeRNE(string codeRNE);
+    }
+}

+ 12 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Interface/IEntrepotActionEducative.cs

@@ -0,0 +1,12 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using CG67.FicheCollege.Domaine;
+
+namespace CG67.FicheCollege.Interface
+{
+    public interface IEntrepotActionEducative
+    {
+        IList<ActionEducative> GetByCodeRNEAndAnnee(string codeRNE, int annee);
+    }
+}

+ 12 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Interface/IEntrepotBilinguisme.cs

@@ -0,0 +1,12 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using CG67.FicheCollege.Domaine;
+
+namespace CG67.FicheCollege.Interface
+{
+    public interface IEntrepotBilinguisme
+    {
+        Bilinguisme GetByCodeRNEAndAnnee(string codeRNE, int annee);
+    }
+}

+ 12 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Interface/IEntrepotChiffresSignificatifs.cs

@@ -0,0 +1,12 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using CG67.FicheCollege.Domaine;
+
+namespace CG67.FicheCollege.Interface
+{
+    public interface IEntrepotChiffresSignificatifs
+    {
+        ChiffresSignificatifs GetByAnnee(int annee);
+    }
+}

+ 12 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Interface/IEntrepotCommentaires.cs

@@ -0,0 +1,12 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using CG67.FicheCollege.Domaine;
+
+namespace CG67.FicheCollege.Interface
+{
+    public interface IEntrepotCommentaires
+    {
+        Commentaires GetByCodeRNEAndAnnee(string codeRNE, int annee);
+    }
+}

+ 12 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Interface/IEntrepotContact.cs

@@ -0,0 +1,12 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using CG67.FicheCollege.Domaine;
+
+namespace CG67.FicheCollege.Interface
+{
+    public interface IEntrepotContact
+    {
+        IList<Contact> GetByCodeRNE(string codeRNE);
+    }
+}

+ 12 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Interface/IEntrepotDotation.cs

@@ -0,0 +1,12 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using CG67.FicheCollege.Domaine;
+
+namespace CG67.FicheCollege.Interface
+{
+    public interface IEntrepotDotation
+    {
+        Dotation GetByCodeRNEAndAnnee(string codeRNE, int annee);
+    }
+}

+ 12 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Interface/IEntrepotEquipement.cs

@@ -0,0 +1,12 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using CG67.FicheCollege.Domaine;
+
+namespace CG67.FicheCollege.Interface
+{
+    public interface IEntrepotEquipement
+    {
+        IList<Equipement> GetByCodeRNEAndAnnee(string codeRNE, int annee);
+    }
+}

+ 13 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Interface/IEntrepotEtablissement.cs

@@ -0,0 +1,13 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using CG67.FicheCollege.Domaine;
+
+namespace CG67.FicheCollege.Interface
+{
+    public interface IEntrepotEtablissement
+    {
+        Etablissement GetByCodeRNEAndAnnee(string codeRNE, int annee);
+        IList<Etablissement> GetAll();
+    }
+}

+ 12 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Interface/IEntrepotInvestissement.cs

@@ -0,0 +1,12 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using CG67.FicheCollege.Domaine;
+
+namespace CG67.FicheCollege.Interface
+{
+    public interface IEntrepotInvestissement
+    {
+        IList<Investissement> GetByCodeRNEAndAnnee(string codeRNE, int annee);
+    }
+}

+ 12 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Interface/IEntrepotLogement.cs

@@ -0,0 +1,12 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using CG67.FicheCollege.Domaine;
+
+namespace CG67.FicheCollege.Interface
+{
+    public interface IEntrepotLogement
+    {
+        Logement GetByCodeRNE(string codeRNEee);
+    }
+}

+ 12 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Interface/IEntrepotMCG.cs

@@ -0,0 +1,12 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using CG67.FicheCollege.Domaine;
+
+namespace CG67.FicheCollege.Interface
+{
+    public interface IEntrepotMCG
+    {
+        MCG GetByCodeRNE(string codeRNE);
+    }
+}

+ 12 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Interface/IEntrepotProgTravaux.cs

@@ -0,0 +1,12 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using CG67.FicheCollege.Domaine;
+
+namespace CG67.FicheCollege.Interface
+{
+    public interface IEntrepotProgTravaux
+    {
+        IList<ProgTravaux> GetByCodeRNEAndAnnee(string codeRNE, int annee);
+    }
+}

+ 12 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Interface/IEntrepotProjetPilote.cs

@@ -0,0 +1,12 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using CG67.FicheCollege.Domaine;
+
+namespace CG67.FicheCollege.Interface
+{
+    public interface IEntrepotProjetPilote
+    {
+        IList<ProjetPilote> GetByCodeRNEAndAnnee(string codeRNE, int annee);
+    }
+}

+ 12 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Interface/IEntrepotRestauration.cs

@@ -0,0 +1,12 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using CG67.FicheCollege.Domaine;
+
+namespace CG67.FicheCollege.Interface
+{
+    public interface IEntrepotRestauration
+    {
+        Restauration GetByRNEAndAnnee(string codeRNE, int annee);
+    }
+}

+ 12 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Interface/IEntrepotRestaurationExterne.cs

@@ -0,0 +1,12 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using CG67.FicheCollege.Domaine;
+
+namespace CG67.FicheCollege.Interface
+{
+    public interface IEntrepotRestaurationExterne
+    {
+        IList<RestaurationExterne> GetByCodeRNEAndAnnee(string codeRNE, int annee);
+    }
+}

+ 35 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Interface/Properties/AssemblyInfo.cs

@@ -0,0 +1,35 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// Les informations générales relatives à un assembly dépendent de 
+// l'ensemble d'attributs suivant. Changez les valeurs de ces attributs pour modifier les informations
+// associées à un assembly.
+[assembly: AssemblyTitle("CG67.FicheCollege.Interface")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("Conseil général du Bas-Rhin")]
+[assembly: AssemblyProduct("CG67.FicheCollege.Interface")]
+[assembly: AssemblyCopyright("Copyright © Conseil général du Bas-Rhin 2009")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// L'affectation de la valeur false à ComVisible rend les types invisibles dans cet assembly 
+// aux composants COM. Si vous devez accéder à un type dans cet assembly à partir de 
+// COM, affectez la valeur true à l'attribut ComVisible sur ce type.
+[assembly: ComVisible(false)]
+
+// Le GUID suivant est pour l'ID de la typelib si ce projet est exposé à COM
+[assembly: Guid("d293917c-ed78-4fb5-8cc8-222d1868ef7e")]
+
+// Les informations de version pour un assembly se composent des quatre valeurs suivantes :
+//
+//      Version principale
+//      Version secondaire 
+//      Numéro de build
+//      Révision
+//
+// Vous pouvez spécifier toutes les valeurs ou indiquer les numéros de révision et de build par défaut 
+// en utilisant '*', comme indiqué ci-dessous :
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]

+ 107 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Service/CG67.FicheCollege.Service.csproj

@@ -0,0 +1,107 @@
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>8.0.50727</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{19A47A92-43C8-4139-8689-F4E61CC66053}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>CG67.FicheCollege.Service</RootNamespace>
+    <AssemblyName>CG67.FicheCollege.Service</AssemblyName>
+    <SccProjectName>SAK</SccProjectName>
+    <SccLocalPath>SAK</SccLocalPath>
+    <SccAuxPath>SAK</SccAuxPath>
+    <SccProvider>SAK</SccProvider>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="System" />
+    <Reference Include="System.Data" />
+    <Reference Include="System.Xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="ServiceFiche.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\CG67.FicheCollege.Domaine\CG67.FicheCollege.Domaine.csproj">
+      <Project>{EA9B4153-44A9-46AF-891B-8DFE604CF33F}</Project>
+      <Name>CG67.FicheCollege.Domaine</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\CG67.FicheCollege.Entrepot\CG67.FicheCollege.Entrepot.csproj">
+      <Project>{799F1203-F76F-4623-B6BD-DBE509478539}</Project>
+      <Name>CG67.FicheCollege.Entrepot</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\CG67.FicheCollege.Interface\CG67.FicheCollege.Interface.csproj">
+      <Project>{6F721CCA-8B98-406A-A266-5D7D6264BCE6}</Project>
+      <Name>CG67.FicheCollege.Interface</Name>
+    </ProjectReference>
+  </ItemGroup>
+  <ItemGroup>
+    <COMReference Include="Access">
+      <Guid>{4AFFC9A0-5F99-101B-AF4E-00AA003F0F07}</Guid>
+      <VersionMajor>9</VersionMajor>
+      <VersionMinor>0</VersionMinor>
+      <Lcid>0</Lcid>
+      <WrapperTool>primary</WrapperTool>
+      <Isolated>False</Isolated>
+    </COMReference>
+    <COMReference Include="ADODB">
+      <Guid>{00000205-0000-0010-8000-00AA006D2EA4}</Guid>
+      <VersionMajor>2</VersionMajor>
+      <VersionMinor>5</VersionMinor>
+      <Lcid>0</Lcid>
+      <WrapperTool>primary</WrapperTool>
+      <Isolated>False</Isolated>
+    </COMReference>
+    <COMReference Include="DAO">
+      <Guid>{00025E01-0000-0000-C000-000000000046}</Guid>
+      <VersionMajor>5</VersionMajor>
+      <VersionMinor>0</VersionMinor>
+      <Lcid>0</Lcid>
+      <WrapperTool>primary</WrapperTool>
+      <Isolated>False</Isolated>
+    </COMReference>
+    <COMReference Include="Microsoft.Office.Core">
+      <Guid>{2DF8D04C-5BFA-101B-BDE5-00AA0044DE52}</Guid>
+      <VersionMajor>2</VersionMajor>
+      <VersionMinor>3</VersionMinor>
+      <Lcid>0</Lcid>
+      <WrapperTool>primary</WrapperTool>
+      <Isolated>False</Isolated>
+    </COMReference>
+    <COMReference Include="VBIDE">
+      <Guid>{0002E157-0000-0000-C000-000000000046}</Guid>
+      <VersionMajor>5</VersionMajor>
+      <VersionMinor>3</VersionMinor>
+      <Lcid>0</Lcid>
+      <WrapperTool>primary</WrapperTool>
+      <Isolated>False</Isolated>
+    </COMReference>
+  </ItemGroup>
+  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
+</Project>

+ 10 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Service/CG67.FicheCollege.Service.csproj.vspscc

@@ -0,0 +1,10 @@
+""
+{
+"FILE_VERSION" = "9237"
+"ENLISTMENT_CHOICE" = "NEVER"
+"PROJECT_FILE_RELATIVE_PATH" = "relative:Core\\CG67.FicheCollege.Service"
+"NUMBER_OF_EXCLUDED_FILES" = "0"
+"ORIGINAL_PROJECT_FILE_PATH" = ""
+"NUMBER_OF_NESTED_PROJECTS" = "0"
+"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER"
+}

+ 35 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Service/Properties/AssemblyInfo.cs

@@ -0,0 +1,35 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// Les informations générales relatives à un assembly dépendent de 
+// l'ensemble d'attributs suivant. Changez les valeurs de ces attributs pour modifier les informations
+// associées à un assembly.
+[assembly: AssemblyTitle("CG67.FicheCollege.Service")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("Conseil général du Bas-Rhin")]
+[assembly: AssemblyProduct("CG67.FicheCollege.Service")]
+[assembly: AssemblyCopyright("Copyright © Conseil général du Bas-Rhin 2009")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// L'affectation de la valeur false à ComVisible rend les types invisibles dans cet assembly 
+// aux composants COM. Si vous devez accéder à un type dans cet assembly à partir de 
+// COM, affectez la valeur true à l'attribut ComVisible sur ce type.
+[assembly: ComVisible(false)]
+
+// Le GUID suivant est pour l'ID de la typelib si ce projet est exposé à COM
+[assembly: Guid("2322ed85-1582-4ae2-a87c-bca64d1ec4ae")]
+
+// Les informations de version pour un assembly se composent des quatre valeurs suivantes :
+//
+//      Version principale
+//      Version secondaire 
+//      Numéro de build
+//      Révision
+//
+// Vous pouvez spécifier toutes les valeurs ou indiquer les numéros de révision et de build par défaut 
+// en utilisant '*', comme indiqué ci-dessous :
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]

+ 206 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Service/ServiceFiche.cs

@@ -0,0 +1,206 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.ComponentModel;
+using CG67.FicheCollege.Domaine;
+using CG67.FicheCollege.Entrepot;
+using CG67.FicheCollege.Interface;
+
+namespace CG67.FicheCollege.Service
+{
+    /// <summary>
+    /// Une méthode est déclarée pour chaque Entrepot, ceci permet l'appel en static depuis n'importe où
+    /// y compris depuis une page ASP.
+    /// </summary>
+    [DataObject]
+    public static class ServiceFiche
+    {
+        public static IList<ActionEducative> GetActionEducativeByRNEAndAnnee(string codeRNE, int annee)
+        {
+            try
+            {
+                return EntrepotFactory.GetEntrepotActionEducative().GetByCodeRNEAndAnnee(codeRNE, annee);
+            }
+            catch (Exception erreur)
+            {
+                throw new Exception(erreur.ToString());
+            }
+        }
+        public static IList<ATC> GetATCByRNE(string codeRNE)
+        {
+            try
+            {
+                return EntrepotFactory.GetEntrepotATC().GetByCodeRNE(codeRNE);
+            }
+            catch (Exception erreur)
+            {
+                throw new Exception(erreur.ToString());
+            }
+        }
+        public static Bilinguisme GetBilinguismeByRNEAndAnnee(string codeRNE, int annee)
+        {
+            try
+            {
+                return EntrepotFactory.GetEntrepotBilinguisme().GetByCodeRNEAndAnnee(codeRNE, annee);
+            }
+            catch (Exception erreur)
+            {
+                throw new Exception(erreur.ToString());
+            }
+        }
+        public static Dotation GetDotationByRNEAndAnnee(string codeRNE, int annee)
+        {
+            try
+            {
+                return EntrepotFactory.GetEntrepotDotation().GetByCodeRNEAndAnnee(codeRNE, annee);
+            }
+            catch (Exception erreur)
+            {
+                throw new Exception(erreur.ToString());
+            }
+        }
+        public static IList<Equipement> GetEquipementByRNEAndAnnee(string codeRNE, int annee)
+        {
+            try
+            {
+                return EntrepotFactory.GetEntrepotEquipement().GetByCodeRNEAndAnnee(codeRNE, annee);
+            }
+            catch (Exception erreur)
+            {
+                throw new Exception(erreur.ToString());
+            }
+        }
+        public static IList<Investissement> GetInvestissementByRNEAndAnnee(string codeRNE, int annee)
+        {
+            try
+            {
+                return EntrepotFactory.GetEntrepotInvestissement().GetByCodeRNEAndAnnee(codeRNE, annee);
+            }
+            catch (Exception erreur)
+            {
+                throw new Exception(erreur.ToString());
+            }
+        }
+        public static Logement GetLogementByRNE(string codeRNE)
+        {
+            try
+            {
+                return EntrepotFactory.GetEntrepotLogement().GetByCodeRNE(codeRNE);
+            }
+            catch (Exception erreur)
+            {
+                throw new Exception(erreur.ToString());
+            }
+        }
+        public static MCG GetMCGByRNE(string codeRNE)
+        {
+            try
+            {
+                return EntrepotFactory.GetEntrepotMCG().GetByCodeRNE(codeRNE);
+            }
+            catch (Exception erreur)
+            {
+                throw new Exception(erreur.ToString());
+            }
+        }
+        public static IList<ProjetPilote> GetProjetPiloteByRNEAndAnnee(string codeRNE, int annee)
+        {
+            try
+            {
+                return EntrepotFactory.GetEntrepotProjetPilote().GetByCodeRNEAndAnnee(codeRNE, annee);
+            }
+            catch (Exception erreur)
+            {
+                throw new Exception(erreur.ToString());
+            }
+        }
+        public static IList<RestaurationExterne> GetRestaurationExterneByRNEAndAnnee(string codeRNE, int annee)
+        {
+            try
+            {
+                return EntrepotFactory.GetEntrepotRestaurationExterne().GetByCodeRNEAndAnnee(codeRNE, annee);
+            }
+            catch (Exception erreur)
+            {
+                throw new Exception(erreur.ToString());
+            }
+        }
+        public static IList<Contact> GetContactByRNE(string codeRNE)
+        {
+            try
+            {
+                return EntrepotFactory.GetEntrepotContact().GetByCodeRNE(codeRNE);
+            }
+            catch (Exception erreur)
+            {
+                throw new Exception(erreur.ToString());
+            }
+        }
+        public static ChiffresSignificatifs GetChiffresSignificatifsByAnnee(int annee)
+        {
+            try
+            {
+                return EntrepotFactory.GetEntrepotChiffresSignificatifs().GetByAnnee(annee);
+            }
+            catch (Exception erreur)
+            {
+                throw new Exception(erreur.ToString());
+            }
+        }
+        public static Commentaires GetCommentairesByCodeRNE(string codeRNE, int annee)
+        {
+            try
+            {
+                return EntrepotFactory.GetEntrepotCommentaires().GetByCodeRNEAndAnnee(codeRNE, annee);
+            }
+            catch 
+            {
+                throw;
+            }
+        }
+        public static Restauration GetRestaurationByCodeRNEAndAnnee(string codeRNE, int annee)
+        {
+            try
+            {
+                return EntrepotFactory.GetEntrepotRestauration().GetByRNEAndAnnee(codeRNE, annee);
+            }
+            catch
+            {
+                throw;
+            }
+        }
+        public static IList<ProgTravaux> GetProgTravauxByCodeRNEAndAnnee(string codeRNE, int annee)
+        {
+            try
+            {
+                return EntrepotFactory.GetEntrepotProgTravaux().GetByCodeRNEAndAnnee(codeRNE, annee);
+            }
+            catch
+            {
+                throw;
+            }
+        }
+        public static IList<Etablissement> GetAllEtablissement()
+        {
+            try
+            {
+                return EntrepotFactory.GetEntrepotEtablissement().GetAll();
+            }
+            catch
+            {
+                throw;
+            }
+        }
+        public static Etablissement GetEtablissementByCodeRNEAndAnnee(string codeRNE, int annee)
+        {
+            try
+            {
+                return EntrepotFactory.GetEntrepotEtablissement().GetByCodeRNEAndAnnee(codeRNE, annee);
+            }
+            catch
+            {
+                throw;
+            }
+        }
+    }
+}

+ 8 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Testeur/App.config

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<configuration>
+  <appSettings>
+    <add key="ConnexionStringSic" value="Data Source=ESNA\sqlstd2k5_1;Initial Catalog=TSic;User Id=UserTSicRW;password=UserTS!cRW!"/>
+    <add key="ConnexionStringOracleCollege" value="Data Source=PCOL;User Id=college;Password=college;"/>
+    <add key="ConnexionStringAccess" value="Provider=microsoft.jet.oledb.4.0;Data Source=\\Moder\App_production\College\data\Base\BD Collège_prod.mdb;Persist Security Info=False;"/>
+  </appSettings>
+</configuration>

+ 64 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Testeur/CG67.FicheCollege.Testeur.csproj

@@ -0,0 +1,64 @@
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>8.0.50727</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{9E6B935E-7CAA-422E-AD37-248C12CC0C09}</ProjectGuid>
+    <OutputType>Exe</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>CG67.FicheCollege.Testeur</RootNamespace>
+    <AssemblyName>CG67.FicheCollege.Testeur</AssemblyName>
+    <SccProjectName>SAK</SccProjectName>
+    <SccLocalPath>SAK</SccLocalPath>
+    <SccAuxPath>SAK</SccAuxPath>
+    <SccProvider>SAK</SccProvider>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="System" />
+    <Reference Include="System.Data" />
+    <Reference Include="System.Xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Program.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\CG67.FicheCollege.Domaine\CG67.FicheCollege.Domaine.csproj">
+      <Project>{EA9B4153-44A9-46AF-891B-8DFE604CF33F}</Project>
+      <Name>CG67.FicheCollege.Domaine</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\CG67.FicheCollege.Service\CG67.FicheCollege.Service.csproj">
+      <Project>{19A47A92-43C8-4139-8689-F4E61CC66053}</Project>
+      <Name>CG67.FicheCollege.Service</Name>
+    </ProjectReference>
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="App.config" />
+  </ItemGroup>
+  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
+</Project>

+ 10 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Testeur/CG67.FicheCollege.Testeur.csproj.vspscc

@@ -0,0 +1,10 @@
+""
+{
+"FILE_VERSION" = "9237"
+"ENLISTMENT_CHOICE" = "NEVER"
+"PROJECT_FILE_RELATIVE_PATH" = "relative:Core\\CG67.FicheCollege.Testeur"
+"NUMBER_OF_EXCLUDED_FILES" = "0"
+"ORIGINAL_PROJECT_FILE_PATH" = ""
+"NUMBER_OF_NESTED_PROJECTS" = "0"
+"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER"
+}

+ 24 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Testeur/Program.cs

@@ -0,0 +1,24 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using CG67.FicheCollege.Domaine;
+using CG67.FicheCollege.Service;
+
+namespace CG67.FicheCollege.Testeur
+{
+    class Program
+    {
+        static void Main(string[] args)
+        {
+            /* test de code RNE : 
+             *  - Oracle (College) : 0672072N
+             */
+
+
+            ChiffresSignificatifs a = ServiceFiche.GetChiffresSignificatifsByAnnee(2009);
+            Console.WriteLine("{0}", a.MontantTotalFinancements);
+
+            Console.ReadKey();
+        }
+    }
+}

+ 33 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Core/CG67.FicheCollege.Testeur/Properties/AssemblyInfo.cs

@@ -0,0 +1,33 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// Les informations générales relatives à un assembly dépendent de 
+// l'ensemble d'attributs suivant. Changez les valeurs de ces attributs pour modifier les informations
+// associées à un assembly.
+[assembly: AssemblyTitle("CG67.FicheCollege.Testeur")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("Conseil général du Bas-Rhin")]
+[assembly: AssemblyProduct("CG67.FicheCollege.Testeur")]
+[assembly: AssemblyCopyright("Copyright © Conseil général du Bas-Rhin 2009")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// L'affectation de la valeur false à ComVisible rend les types invisibles dans cet assembly 
+// aux composants COM. Si vous devez accéder à un type dans cet assembly à partir de 
+// COM, affectez la valeur true à l'attribut ComVisible sur ce type.
+[assembly: ComVisible(false)]
+
+// Le GUID suivant est pour l'ID de la typelib si ce projet est exposé à COM
+[assembly: Guid("f6cb619b-eda1-40af-9c7b-df4690f40e5b")]
+
+// Les informations de version pour un assembly se composent des quatre valeurs suivantes :
+//
+//      Version principale
+//      Version secondaire 
+//      Numéro de build
+//      Révision
+//
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]

+ 102 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Web/CG67.FicheCollege.Web/CG67.FicheCollege.Web.csproj

@@ -0,0 +1,102 @@
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>8.0.50727</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{4F52F11E-1245-4C57-B718-A472BDAAC99C}</ProjectGuid>
+    <ProjectTypeGuids>{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>CG67.FicheCollege</RootNamespace>
+    <AssemblyName>CG67.FicheCollege</AssemblyName>
+    <SccProjectName>SAK</SccProjectName>
+    <SccLocalPath>SAK</SccLocalPath>
+    <SccAuxPath>SAK</SccAuxPath>
+    <SccProvider>SAK</SccProvider>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="System" />
+    <Reference Include="System.Data" />
+    <Reference Include="System.Drawing" />
+    <Reference Include="System.Web" />
+    <Reference Include="System.Xml" />
+    <Reference Include="System.Configuration" />
+    <Reference Include="System.Web.Services" />
+    <Reference Include="System.EnterpriseServices" />
+    <Reference Include="System.Web.Mobile" />
+  </ItemGroup>
+  <ItemGroup>
+    <Content Include="Default.aspx" />
+    <Content Include="GenerationFiche.aspx" />
+    <Content Include="Web.config" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Default.aspx.cs">
+      <SubType>ASPXCodeBehind</SubType>
+      <DependentUpon>Default.aspx</DependentUpon>
+    </Compile>
+    <Compile Include="Default.aspx.designer.cs">
+      <DependentUpon>Default.aspx</DependentUpon>
+    </Compile>
+    <Compile Include="GenerationFiche.aspx.cs">
+      <SubType>ASPXCodeBehind</SubType>
+      <DependentUpon>GenerationFiche.aspx</DependentUpon>
+    </Compile>
+    <Compile Include="GenerationFiche.aspx.designer.cs">
+      <DependentUpon>GenerationFiche.aspx</DependentUpon>
+    </Compile>
+    <Compile Include="Properties\AssemblyInfo.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\..\Core\CG67.FicheCollege.Domaine\CG67.FicheCollege.Domaine.csproj">
+      <Project>{EA9B4153-44A9-46AF-891B-8DFE604CF33F}</Project>
+      <Name>CG67.FicheCollege.Domaine</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\Core\CG67.FicheCollege.Service\CG67.FicheCollege.Service.csproj">
+      <Project>{19A47A92-43C8-4139-8689-F4E61CC66053}</Project>
+      <Name>CG67.FicheCollege.Service</Name>
+    </ProjectReference>
+  </ItemGroup>
+  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
+  <Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v8.0\WebApplications\Microsoft.WebApplication.targets" />
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
+  <ProjectExtensions>
+    <VisualStudio>
+      <FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
+        <WebProjectProperties>
+          <UseIIS>False</UseIIS>
+          <AutoAssignPort>True</AutoAssignPort>
+          <DevelopmentServerPort>1031</DevelopmentServerPort>
+          <DevelopmentServerVPath>/</DevelopmentServerVPath>
+          <IISUrl>
+          </IISUrl>
+          <NTLMAuthentication>False</NTLMAuthentication>
+        </WebProjectProperties>
+      </FlavorProperties>
+    </VisualStudio>
+  </ProjectExtensions>
+</Project>

+ 10 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Web/CG67.FicheCollege.Web/CG67.FicheCollege.Web.csproj.vspscc

@@ -0,0 +1,10 @@
+""
+{
+"FILE_VERSION" = "9237"
+"ENLISTMENT_CHOICE" = "NEVER"
+"PROJECT_FILE_RELATIVE_PATH" = "relative:Web\\CG67.FicheCollege.Web"
+"NUMBER_OF_EXCLUDED_FILES" = "0"
+"ORIGINAL_PROJECT_FILE_PATH" = ""
+"NUMBER_OF_NESTED_PROJECTS" = "0"
+"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER"
+}

+ 24 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Web/CG67.FicheCollege.Web/Default.aspx

@@ -0,0 +1,24 @@
+<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="CG67.FicheCollege._Default" %>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" >
+<head runat="server">
+    <title>Fiche de synthèse collège</title>
+</head>
+<body>
+    <form id="form1" runat="server">
+    <div>
+        <asp:Label ID="lblChoix" runat="server" Text="Veuillez sélectionner un établissement"></asp:Label><br />
+        <asp:DropDownList ID="ddlChoixCollege" runat="server" DataSourceID="ObjectDataSource1" DataTextField="NomCollegePourPresentation" DataValueField="CodeRNE">
+        </asp:DropDownList><asp:ObjectDataSource ID="ObjectDataSource1" runat="server" OldValuesParameterFormatString="original_{0}"
+            SelectMethod="GetAllEtablissement" TypeName="CG67.FicheCollege.Service.ServiceFiche">
+        </asp:ObjectDataSource>
+        &nbsp;<br />
+    </div>
+        &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+        &nbsp;
+        <asp:Button ID="btnGeneration" runat="server" OnClick="Button1Click" Text="Générer la fiche" />
+    </form>
+</body>
+</html>

+ 37 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Web/CG67.FicheCollege.Web/Default.aspx.cs

@@ -0,0 +1,37 @@
+using System;
+using System.Data;
+using System.Configuration;
+using System.Collections;
+using System.Web;
+using System.Web.Security;
+using System.Web.UI;
+using System.Web.UI.WebControls;
+using System.Web.UI.WebControls.WebParts;
+using System.Web.UI.HtmlControls;
+
+namespace CG67.FicheCollege
+{
+    public partial class _Default : System.Web.UI.Page
+    {
+        protected void Page_Load(object sender, EventArgs e)
+        {
+
+        }
+
+        protected void Button1Click(object sender, EventArgs e)
+        {
+            //on considère que l'on change d'année scolaire début Août (au milieu des vacances scolaires).
+            //l'année n est équivalente à l'année scolaire n-1/n (exemple 2009, sera équivalent à l'année scolaire 2008-2009
+            int annee;
+            if (System.DateTime.Now.Month < 7)
+                annee = System.DateTime.Now.Year - 1;
+            else
+                annee = System.DateTime.Now.Year;
+
+            HttpContext.Current.Session["Annee"] = annee;
+            HttpContext.Current.Session["AnneeMoins1"] = annee - 1;
+            HttpContext.Current.Session["RNE"] = ddlChoixCollege.SelectedValue;
+            Server.Transfer("GenerationFiche.aspx");
+        }
+    }
+}

+ 67 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Web/CG67.FicheCollege.Web/Default.aspx.designer.cs

@@ -0,0 +1,67 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+//     Ce code a été généré par un outil.
+//     Version du runtime :2.0.50727.1433
+//
+//     Les modifications apportées à ce fichier peuvent provoquer un comportement incorrect et seront perdues si
+//     le code est régénéré.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace CG67.FicheCollege {
+    
+    
+    /// <summary>
+    /// Classe _Default.
+    /// </summary>
+    /// <remarks>
+    /// Classe générée automatiquement.
+    /// </remarks>
+    public partial class _Default {
+        
+        /// <summary>
+        /// Contrôle form1.
+        /// </summary>
+        /// <remarks>
+        /// Champ généré automatiquement.
+        /// Pour changer, déplacez la déclaration du fichier du concepteur vers le fichier code-behind.
+        /// </remarks>
+        protected global::System.Web.UI.HtmlControls.HtmlForm form1;
+        
+        /// <summary>
+        /// Contrôle lblChoix.
+        /// </summary>
+        /// <remarks>
+        /// Champ généré automatiquement.
+        /// Pour changer, déplacez la déclaration du fichier du concepteur vers le fichier code-behind.
+        /// </remarks>
+        protected global::System.Web.UI.WebControls.Label lblChoix;
+        
+        /// <summary>
+        /// Contrôle ddlChoixCollege.
+        /// </summary>
+        /// <remarks>
+        /// Champ généré automatiquement.
+        /// Pour changer, déplacez la déclaration du fichier du concepteur vers le fichier code-behind.
+        /// </remarks>
+        protected global::System.Web.UI.WebControls.DropDownList ddlChoixCollege;
+        
+        /// <summary>
+        /// Contrôle ObjectDataSource1.
+        /// </summary>
+        /// <remarks>
+        /// Champ généré automatiquement.
+        /// Pour changer, déplacez la déclaration du fichier du concepteur vers le fichier code-behind.
+        /// </remarks>
+        protected global::System.Web.UI.WebControls.ObjectDataSource ObjectDataSource1;
+        
+        /// <summary>
+        /// Contrôle btnGeneration.
+        /// </summary>
+        /// <remarks>
+        /// Champ généré automatiquement.
+        /// Pour changer, déplacez la déclaration du fichier du concepteur vers le fichier code-behind.
+        /// </remarks>
+        protected global::System.Web.UI.WebControls.Button btnGeneration;
+    }
+}

+ 369 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Web/CG67.FicheCollege.Web/GenerationFiche.aspx

@@ -0,0 +1,369 @@
+<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="GenerationFiche.aspx.cs" Inherits="CG67.FicheCollege.GenerationFiche" %>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" >
+<head runat="server">
+    <title>Page sans titre</title>
+</head>
+<body>
+    <form id="form1" runat="server">
+    <div>
+        <table style="width: 100%; height: 213px" border="1">
+            <tr>
+                <td>
+                    A l'attention de
+                </td>
+                <td>
+                    Monsieur le Président du Conseil Général sous le couvert de Monsieur Pierre GEY,
+                    Directeur Général des Services
+                </td>
+            </tr>
+            <tr>
+                <td>
+                    Editée par
+                </td>
+                <td>
+                    Direction des Collèges et de l'Education
+                </td>
+            </tr>
+            <tr>
+                <td>
+                    Validée par
+                </td>
+                <td>
+                    Guy DIETRICH, DGA du PEP
+                </td>
+            </tr>
+            <tr>
+                <td>
+                    Date de Validation
+                </td>
+                <td>
+                    15 Septembre 2009
+                </td>
+            </tr>
+            <tr>
+                <td style="height: 36px" colspan="">
+                    Affaire suivie par
+                </td>
+                <td style="height: 36px">
+                    Direction des Collèges et de l'Education<br />
+                    Pascale HAUGER<br />
+                    Chef de projet<br />
+                    Tél. : 03 69 20 75 86<br />
+                    Fax : 03 69 20 75 23<br />
+                    Mél : pascale.hauger@cg67.fr
+                </td>
+            </tr>
+        </table>
+        <br />
+        <br />
+        1. Fiche d'identité du collège<br />
+        <asp:DetailsView ID="detailsViewFicheIdentiteCollege" runat="server" AutoGenerateRows="False" DataSourceID="ObjectDataSourceEtablissement"
+            Height="50px" Width="100%">
+            <Fields>
+                <asp:BoundField DataField="CodeRNE" HeaderText="Code RNE du coll&#232;ge" SortExpression="CodeRNE" />
+                <asp:TemplateField HeaderText="Coordonn&#233;es du coll&#232;ge" SortExpression="Adresse">
+                    <EditItemTemplate>
+                        <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("Adresse") %>'></asp:TextBox>
+                    </EditItemTemplate>
+                    <InsertItemTemplate>
+                        <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("Adresse") %>'></asp:TextBox>
+                    </InsertItemTemplate>
+                    <ItemTemplate>
+                        <asp:Label ID="lblAdresse" runat="server" Text='<%# Bind("Adresse") %>'></asp:Label>&nbsp;
+                        -
+                        <asp:Label ID="lblComplementAdr" runat="server" Text='<%# Eval("ComplementAdresse") %>'></asp:Label>
+                        - &nbsp;<asp:Label ID="lblCP" runat="server" Text='<%# Eval("CodePostal") %>'></asp:Label>
+                        <asp:Label ID="lblVille" runat="server" Text='<%# Eval("Ville") %>'></asp:Label><br />
+                        &nbsp;Tél :
+                        <asp:Label ID="lblTel" runat="server" Text='<%# Eval("Telephone") %>'></asp:Label>
+                        - Fax :
+                        <asp:Label ID="lblFax" runat="server" Text='<%# Eval("Fax") %>'></asp:Label>
+                        - Mél :
+                        <asp:Label ID="lblMail" runat="server" Text='<%# Eval("Email") %>'></asp:Label>
+                    </ItemTemplate>
+                </asp:TemplateField>
+                <asp:BoundField DataField="Principal" HeaderText="Principal" SortExpression="Principal" />
+                <asp:BoundField DataField="Gestionnaire" HeaderText="Gestionnaire" SortExpression="Gestionnaire" />
+                <asp:BoundField DataField="ConseillerGeneral" HeaderText="ConseillerGeneral" SortExpression="ConseillerGeneral" />
+                <asp:BoundField DataField="McgRattachement" HeaderText="Mcg de rattachement et directeur de MCG"
+                    SortExpression="McgRattachement" />
+                <asp:BoundField DataField="Effectif" HeaderText="Effectifs" SortExpression="Effectif" />
+                <asp:BoundField DataField="Restaurer" HeaderText="Demi-pension" SortExpression="Restaurer" />
+            </Fields>
+        </asp:DetailsView>
+        &nbsp;<br />
+        2. Structure Immobilière<br />
+        <asp:DetailsView ID="detailsViewStructureImmobiliere" runat="server" AutoGenerateRows="False" DataSourceID="ObjectDataSourceEtablissement"
+            Height="50px" Width="100%">
+            <Fields>
+                <asp:BoundField DataField="NomProprietaire" HeaderText="Propri&#233;taire" SortExpression="NomProprietaire" />
+                <asp:BoundField DataField="AnneeConstruction" HeaderText="Annee de construction"
+                    SortExpression="AnneeConstruction" />
+                <asp:BoundField DataField="PhraseRestructuration" HeaderText="Ann&#233;e(s) de restructuration lourde"
+                    SortExpression="PhraseRestructuration" />
+                <asp:BoundField DataField="Surface" HeaderText="Superficie d'emprise" SortExpression="Surface" />
+                <asp:BoundField DataField="CommentaireAmenagementParticulier" HeaderText="Am&#233;nagements particuliers"
+                    SortExpression="CommentaireAmenagementParticulier" />
+                <asp:BoundField DataField="LogementDeFonction" HeaderText="Logement de fonction"
+                    SortExpression="LogementDeFonction" />
+                <asp:TemplateField HeaderText="Programmation des travaux" SortExpression="PhraseProgTravaux">
+                    <EditItemTemplate>
+                        <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("PhraseProgTravaux") %>'></asp:TextBox>
+                    </EditItemTemplate>
+                    <InsertItemTemplate>
+                        <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("PhraseProgTravaux") %>'></asp:TextBox>
+                    </InsertItemTemplate>
+                    <ItemTemplate>
+                        <asp:Label ID="lblProgTravaux" runat="server" Text='<%# Bind("PhraseProgTravaux") %>'></asp:Label><br />
+                        <br />
+                        <asp:Label ID="lblCommentaireProgTravaux" runat="server" Text='<%# Eval("CommentaireProgTravaux") %>'></asp:Label>
+                    </ItemTemplate>
+                </asp:TemplateField>
+            </Fields>
+        </asp:DetailsView>
+        <br />
+        3. Sectorisation des collèges - évolution des effectifs<br />
+        <asp:DetailsView ID="detailsViewSectorisation" runat="server" AutoGenerateRows="False"
+            DataSourceID="ObjectDataSourceEtablissement" Height="50px" Width="100%">
+            <Fields>
+                <asp:BoundField DataField="PhraseSecteurRecrutement" HeaderText="Secteur de recrutement"
+                    SortExpression="PhraseSecteurRecrutement" />
+                <asp:BoundField DataField="CommentaireSecteurRecrutement" HeaderText="Observation sur le secteur de recrutement"
+                    SortExpression="CommentaireSecteurRecrutement" />
+                <asp:BoundField DataField="PhrasePrevision5Ans" HeaderText="Pr&#233;vision sur les 5 prochaines ann&#233;es"
+                    SortExpression="PhrasePrevision5Ans" />
+                <asp:TemplateField HeaderText="Graphique" SortExpression="PhraseProgTravaux">
+                    <EditItemTemplate>
+                        <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("PhraseProgTravaux") %>'></asp:TextBox>
+                    </EditItemTemplate>
+                    <InsertItemTemplate>
+                        <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("PhraseProgTravaux") %>'></asp:TextBox>
+                    </InsertItemTemplate>
+                    <ItemTemplate>
+                        &nbsp;
+                    </ItemTemplate>
+                </asp:TemplateField>
+                <asp:BoundField DataField="CommentaireGraphique" HeaderText="Commentaire sur le tableau"
+                    SortExpression="CommentaireGraphique" />
+            </Fields>
+        </asp:DetailsView>
+        <br />
+        4. Intervention du Département<br />
+        <asp:DetailsView ID="detailsViewInterventionDepartement" runat="server" Height="50px"
+            Width="100%" AutoGenerateRows="False" DataSourceID="ObjectDataSourceEtablissement">
+            <Fields>
+                <asp:TemplateField HeaderText="Equipements" SortExpression="LstEquipements">
+                    <EditItemTemplate>
+                        <asp:TextBox ID="TextBox6" runat="server" Text='<%# Bind("LstEquipements") %>'></asp:TextBox>
+                    </EditItemTemplate>
+                    <InsertItemTemplate>
+                        <asp:TextBox ID="TextBox6" runat="server" Text='<%# Bind("LstEquipements") %>'></asp:TextBox>
+                    </InsertItemTemplate>
+                    <ItemTemplate>
+                        <asp:GridView ID="GridView3" runat="server" AutoGenerateColumns="False" DataSourceID="ObjectDataSourceEquipement"
+                            ShowHeader="False" Width="100%">
+                            <Columns>
+                                <asp:BoundField DataField="phrase" SortExpression="phrase" />
+                            </Columns>
+                        </asp:GridView>
+                        <asp:ObjectDataSource ID="ObjectDataSourceEquipement" runat="server" OldValuesParameterFormatString="original_{0}"
+                            SelectMethod="GetEquipementByRNEAndAnnee" TypeName="CG67.FicheCollege.Service.ServiceFiche">
+                            <SelectParameters>
+                                <asp:SessionParameter DefaultValue="-1" Name="codeRNE" SessionField="RNE" Type="String" />
+                                <asp:SessionParameter DefaultValue="-1" Name="annee" SessionField="Annee" Type="Int32" />
+                            </SelectParameters>
+                        </asp:ObjectDataSource>
+                    </ItemTemplate>
+                </asp:TemplateField>
+                <asp:TemplateField HeaderText="Dotation de fonctionnement">
+                    <EditItemTemplate>
+                        <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("DotationAnneeN") %>'></asp:TextBox>
+                    </EditItemTemplate>
+                    <InsertItemTemplate>
+                        <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("DotationAnneeN") %>'></asp:TextBox>
+                    </InsertItemTemplate>
+                    <ItemTemplate>
+                        <asp:Table ID="Table1" runat="server" Height="58px" Width="100%">
+                        </asp:Table>
+                        <br />
+                        <br />
+                        <br />
+                        <asp:ObjectDataSource ID="ObjectDataSourceDotationMoins1" runat="server" OldValuesParameterFormatString="original_{0}"
+                            SelectMethod="GetDotationByRNEAndAnnee" TypeName="CG67.FicheCollege.Service.ServiceFiche">
+                            <SelectParameters>
+                                <asp:SessionParameter DefaultValue="-1" Name="codeRNE" SessionField="RNE" Type="String" />
+                                <asp:SessionParameter DefaultValue="-1" Name="annee" SessionField="AnneeMoins1" Type="Int32" />
+                            </SelectParameters>
+                        </asp:ObjectDataSource>
+                        <asp:ObjectDataSource ID="ObjectDataSourceDotation" runat="server" OldValuesParameterFormatString="original_{0}"
+                            SelectMethod="GetDotationByRNEAndAnnee" TypeName="CG67.FicheCollege.Service.ServiceFiche" OnSelecting="ObjectDataSourceDotation_Selecting">
+                            <SelectParameters>
+                                <asp:SessionParameter DefaultValue="-1" Name="codeRNE" SessionField="RNE" Type="String" />
+                                <asp:SessionParameter DefaultValue="-1" Name="annee" SessionField="Annee" Type="Int32" />
+                            </SelectParameters>
+                        </asp:ObjectDataSource>
+                    </ItemTemplate>
+                </asp:TemplateField>
+                <asp:TemplateField HeaderText="Investissement" SortExpression="LstInvestissement">
+                    <EditItemTemplate>
+                        <asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("LstInvestissement") %>'></asp:TextBox>
+                    </EditItemTemplate>
+                    <InsertItemTemplate>
+                        <asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("LstInvestissement") %>'></asp:TextBox>
+                    </InsertItemTemplate>
+                    <ItemTemplate>
+                        <asp:Label ID="Label2" runat="server" Text='<%# Bind("LstInvestissement") %>'></asp:Label>
+                    </ItemTemplate>
+                </asp:TemplateField>
+                <asp:TemplateField HeaderText="Montant total des interventions du d&#233;partement">
+                    <EditItemTemplate>
+                        <asp:TextBox ID="TextBox3" runat="server" Text='<%# Bind("LstInvestissement") %>'></asp:TextBox>
+                    </EditItemTemplate>
+                    <InsertItemTemplate>
+                        <asp:TextBox ID="TextBox3" runat="server" Text='<%# Bind("LstInvestissement") %>'></asp:TextBox>
+                    </InsertItemTemplate>
+                    <ItemTemplate>
+                        <asp:Label ID="Label3" runat="server" Text='<%# Bind("LstInvestissement") %>'></asp:Label>
+                    </ItemTemplate>
+                </asp:TemplateField>
+                <asp:TemplateField HeaderText="Etat des r&#233;serves du coll&#232;ge" SortExpression="Reserve">
+                    <EditItemTemplate>
+                        <asp:TextBox ID="TextBox4" runat="server" Text='<%# Bind("Reserve") %>'></asp:TextBox>
+                    </EditItemTemplate>
+                    <InsertItemTemplate>
+                        <asp:TextBox ID="TextBox4" runat="server" Text='<%# Bind("Reserve") %>'></asp:TextBox>
+                    </InsertItemTemplate>
+                    <ItemTemplate>
+                        <asp:Label ID="Label4" runat="server" Text='<%# Bind("Reserve") %>'></asp:Label>
+                    </ItemTemplate>
+                </asp:TemplateField>
+                <asp:TemplateField HeaderText="CommentaireGeneraux" SortExpression="CommentaireGeneraux">
+                    <EditItemTemplate>
+                        <asp:TextBox ID="TextBox5" runat="server" Text='<%# Bind("CommentaireGeneraux") %>'></asp:TextBox>
+                    </EditItemTemplate>
+                    <InsertItemTemplate>
+                        <asp:TextBox ID="TextBox5" runat="server" Text='<%# Bind("CommentaireGeneraux") %>'></asp:TextBox>
+                    </InsertItemTemplate>
+                    <ItemTemplate>
+                        <asp:Label ID="Label5" runat="server" Text='<%# Bind("CommentaireGeneraux") %>'></asp:Label>
+                    </ItemTemplate>
+                </asp:TemplateField>
+            </Fields>
+        </asp:DetailsView>
+        <br />
+        5. Gestion des adjoints techniques des collèges (ATC)<br />
+        <asp:DetailsView ID="detailsViewGestionATC" runat="server" Height="50px" Width="100%" AutoGenerateRows="False" DataSourceID="ObjectDataSourceEtablissement">
+            <Fields>
+                <asp:BoundField DataField="PhraseTotalATC" HeaderText="Nombre Total d'ATC" SortExpression="PhraseTotalATC" />
+                <asp:BoundField DataField="PhraseValeurETP" HeaderText="Nombre d'ATC en valeur ETP (&#233;quivalent temps plein, soit 1560 h/an)"
+                    SortExpression="PhraseValeurETP" />
+                <asp:TemplateField HeaderText="Liste nominative et fonctions des agents" SortExpression="LstATC">
+                    <EditItemTemplate>
+                        <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("LstATC") %>'></asp:TextBox>
+                    </EditItemTemplate>
+                    <InsertItemTemplate>
+                        <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("LstATC") %>'></asp:TextBox>
+                    </InsertItemTemplate>
+                    <ItemTemplate>
+                        &nbsp;<asp:GridView ID="GridView2" runat="server" AutoGenerateColumns="False" DataSourceID="ObjectDataSourceATC"
+                            Width="100%">
+                            <Columns>
+                                <asp:BoundField DataField="Nom" HeaderText="Nom" SortExpression="Nom" />
+                                <asp:BoundField DataField="Prenom" HeaderText="Prenom" SortExpression="Prenom" />
+                                <asp:BoundField DataField="ValeurETP" HeaderText="Valeur ETP" SortExpression="ValeurETP" />
+                                <asp:BoundField DataField="Categorie" HeaderText="Categorie" SortExpression="Categorie" />
+                                <asp:BoundField DataField="TypeContact" HeaderText="TypeContact" SortExpression="TypeContact" />
+                                <asp:BoundField DataField="Fonction" HeaderText="Fonction" SortExpression="Fonction" />
+                            </Columns>
+                        </asp:GridView>
+                    </ItemTemplate>
+                </asp:TemplateField>
+                <asp:BoundField DataField="CommentairePrevisionEffectifATC" HeaderText="Prevision d'effectif"
+                    SortExpression="CommentairePrevisionEffectifATC" />
+                <asp:BoundField DataField="PhraseNombreJoursFormation" HeaderText="Nombre de jours de formation suivis par les ATC."
+                    SortExpression="PhraseNombreJoursFormation" />
+            </Fields>
+        </asp:DetailsView>
+        &nbsp;
+        <br />
+        6. Actions éducatives territoriales<asp:GridView ID="gridViewActionEducatives" runat="server" AutoGenerateColumns="False"
+            DataSourceID="ObjectDataSourceActionEducative" ShowHeader="False" Width="100%">
+            <Columns>
+                <asp:BoundField DataField="Libelle" SortExpression="Libelle" />
+                <asp:TemplateField SortExpression="NbrEleves">
+                    <EditItemTemplate>
+                        <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("NbrEleves") %>'></asp:TextBox>
+                    </EditItemTemplate>
+                    <ItemTemplate>
+                        <asp:Label ID="lblNbrEleves" runat="server" Text='<%# Bind("NbrEleves") %>'></asp:Label>
+                        élèves sont concernés.<br />
+                        Le financement se monte à valeur de
+                        <asp:Label ID="lblFinancement" runat="server" Text='<%# Eval("MontantSubvention") %>'></asp:Label>€
+                    </ItemTemplate>
+                </asp:TemplateField>
+            </Columns>
+        </asp:GridView>
+        <br />
+        7. Participation aux projets pilotes du Conseil Général 67<br />
+        <asp:GridView ID="grdViewProjetPilote" runat="server" AutoGenerateColumns="False" DataSourceID="ObjectDataSourceProjetPilote"
+            Width="100%" ShowHeader="False">
+            <Columns>
+                <asp:BoundField DataField="Libelle" HeaderText="7. Participation &#224; des projets pilotes du Conseil G&#233;n&#233;ral 67"
+                    SortExpression="Libelle" />
+            </Columns>
+        </asp:GridView>
+        &nbsp;
+        <br />
+        8. Quelques chiffres significatifs sur l'ensemble des collèges<br />
+        <asp:DetailsView ID="detailsViewChiffresSignificatifs" runat="server" AutoGenerateRows="False" DataSourceID="ObjectDataSourceChiffres"
+            Height="50px" Width="100%">
+            <Fields>
+                <asp:BoundField DataField="MontantTotalFinancements" HeaderText="Montant total des financements du d&#233;partement aux coll&#232;ges"
+                    SortExpression="MontantTotalFinancements" />
+                <asp:BoundField DataField="NbTotalEleves" HeaderText="Nombre total d'&#233;l&#232;ves" SortExpression="NbTotalEleves" />
+                <asp:BoundField DataField="MontantTotalInvestissement" HeaderText="Montant total des investissements"
+                    SortExpression="MontantTotalInvestissement" />
+                <asp:BoundField DataField="MontantTotalTransportScolaire" HeaderText="Co&#251;t total des transports scolaires"
+                    SortExpression="MontantTotalTransportScolaire" />
+            </Fields>
+        </asp:DetailsView>
+        <asp:ObjectDataSource ID="ObjectDataSourceEtablissement" runat="server" OldValuesParameterFormatString="original_{0}"
+            SelectMethod="GetEtablissementByCodeRNEAndAnnee" TypeName="CG67.FicheCollege.Service.ServiceFiche">
+            <SelectParameters>
+                <asp:SessionParameter DefaultValue="-1" Name="codeRNE" SessionField="RNE" Type="String" />
+                <asp:SessionParameter DefaultValue="-1" Name="annee" SessionField="Annee" Type="Int32" />
+            </SelectParameters>
+        </asp:ObjectDataSource>
+        <asp:ObjectDataSource ID="ObjectDataSourceChiffres" runat="server" OldValuesParameterFormatString="original_{0}"
+            SelectMethod="GetChiffresSignificatifsByAnnee" TypeName="CG67.FicheCollege.Service.ServiceFiche">
+            <SelectParameters>
+                <asp:SessionParameter DefaultValue="-1" Name="annee" SessionField="Annee" Type="Int32" />
+            </SelectParameters>
+        </asp:ObjectDataSource>
+        <asp:ObjectDataSource ID="ObjectDataSourceATC" runat="server" OldValuesParameterFormatString="original_{0}"
+            SelectMethod="GetATCByRNE" TypeName="CG67.FicheCollege.Service.ServiceFiche">
+            <SelectParameters>
+                <asp:SessionParameter DefaultValue="-1" Name="codeRNE" SessionField="RNE" Type="String" />
+            </SelectParameters>
+        </asp:ObjectDataSource>
+        <asp:ObjectDataSource ID="ObjectDataSourceActionEducative" runat="server" OldValuesParameterFormatString="original_{0}"
+            SelectMethod="GetActionEducativeByRNEAndAnnee" TypeName="CG67.FicheCollege.Service.ServiceFiche">
+            <SelectParameters>
+                <asp:SessionParameter DefaultValue="-1" Name="codeRNE" SessionField="RNE" Type="String" />
+                <asp:SessionParameter DefaultValue="-1" Name="annee" SessionField="Annee" Type="Int32" />
+            </SelectParameters>
+        </asp:ObjectDataSource>
+        <asp:ObjectDataSource ID="ObjectDataSourceProjetPilote" runat="server" OldValuesParameterFormatString="original_{0}"
+            SelectMethod="GetProjetPiloteByRNEAndAnnee" TypeName="CG67.FicheCollege.Service.ServiceFiche">
+            <SelectParameters>
+                <asp:SessionParameter DefaultValue="-1" Name="codeRNE" SessionField="RNE" Type="String" />
+                <asp:SessionParameter DefaultValue="-1" Name="annee" SessionField="Annee" Type="Int32" />
+            </SelectParameters>
+        </asp:ObjectDataSource>
+    </div>
+    </form>
+</body>
+</html>

+ 43 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Web/CG67.FicheCollege.Web/GenerationFiche.aspx.cs

@@ -0,0 +1,43 @@
+using System;
+using System.Data;
+using System.Configuration;
+using System.Collections;
+using System.Web;
+using System.Web.Security;
+using System.Web.UI;
+using System.Web.UI.WebControls;
+using System.Web.UI.WebControls.WebParts;
+using System.Web.UI.HtmlControls;
+
+namespace CG67.FicheCollege
+{
+    public partial class GenerationFiche : System.Web.UI.Page
+    {
+        protected void Page_Load(object sender, EventArgs e)
+        {
+            
+            detailsViewFicheIdentiteCollege.DataBind();
+            detailsViewStructureImmobiliere.DataBind();
+            detailsViewSectorisation.DataBind();
+            detailsViewInterventionDepartement.DataBind();
+            detailsViewGestionATC.DataBind();
+            gridViewActionEducatives.DataBind();
+            grdViewProjetPilote.DataBind();
+            detailsViewChiffresSignificatifs.DataBind();
+
+            //Response.Write(HttpContext.Current.Session["RNE"].ToString());
+            //Response.Write(HttpContext.Current.Session["Annee"].ToString());
+
+        }
+
+        protected void DetailsView2_PageIndexChanging(object sender, DetailsViewPageEventArgs e)
+        {
+
+        }
+
+        protected void ObjectDataSourceDotation_Selecting(object sender, ObjectDataSourceSelectingEventArgs e)
+        {
+
+        }
+    }
+}

+ 148 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Web/CG67.FicheCollege.Web/GenerationFiche.aspx.designer.cs

@@ -0,0 +1,148 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+//     Ce code a été généré par un outil.
+//     Version du runtime :2.0.50727.1433
+//
+//     Les modifications apportées à ce fichier peuvent provoquer un comportement incorrect et seront perdues si
+//     le code est régénéré.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace CG67.FicheCollege {
+    
+    
+    /// <summary>
+    /// Classe GenerationFiche.
+    /// </summary>
+    /// <remarks>
+    /// Classe générée automatiquement.
+    /// </remarks>
+    public partial class GenerationFiche {
+        
+        /// <summary>
+        /// Contrôle form1.
+        /// </summary>
+        /// <remarks>
+        /// Champ généré automatiquement.
+        /// Pour changer, déplacez la déclaration du fichier du concepteur vers le fichier code-behind.
+        /// </remarks>
+        protected global::System.Web.UI.HtmlControls.HtmlForm form1;
+        
+        /// <summary>
+        /// Contrôle detailsViewFicheIdentiteCollege.
+        /// </summary>
+        /// <remarks>
+        /// Champ généré automatiquement.
+        /// Pour changer, déplacez la déclaration du fichier du concepteur vers le fichier code-behind.
+        /// </remarks>
+        protected global::System.Web.UI.WebControls.DetailsView detailsViewFicheIdentiteCollege;
+        
+        /// <summary>
+        /// Contrôle detailsViewStructureImmobiliere.
+        /// </summary>
+        /// <remarks>
+        /// Champ généré automatiquement.
+        /// Pour changer, déplacez la déclaration du fichier du concepteur vers le fichier code-behind.
+        /// </remarks>
+        protected global::System.Web.UI.WebControls.DetailsView detailsViewStructureImmobiliere;
+        
+        /// <summary>
+        /// Contrôle detailsViewSectorisation.
+        /// </summary>
+        /// <remarks>
+        /// Champ généré automatiquement.
+        /// Pour changer, déplacez la déclaration du fichier du concepteur vers le fichier code-behind.
+        /// </remarks>
+        protected global::System.Web.UI.WebControls.DetailsView detailsViewSectorisation;
+        
+        /// <summary>
+        /// Contrôle detailsViewInterventionDepartement.
+        /// </summary>
+        /// <remarks>
+        /// Champ généré automatiquement.
+        /// Pour changer, déplacez la déclaration du fichier du concepteur vers le fichier code-behind.
+        /// </remarks>
+        protected global::System.Web.UI.WebControls.DetailsView detailsViewInterventionDepartement;
+        
+        /// <summary>
+        /// Contrôle detailsViewGestionATC.
+        /// </summary>
+        /// <remarks>
+        /// Champ généré automatiquement.
+        /// Pour changer, déplacez la déclaration du fichier du concepteur vers le fichier code-behind.
+        /// </remarks>
+        protected global::System.Web.UI.WebControls.DetailsView detailsViewGestionATC;
+        
+        /// <summary>
+        /// Contrôle gridViewActionEducatives.
+        /// </summary>
+        /// <remarks>
+        /// Champ généré automatiquement.
+        /// Pour changer, déplacez la déclaration du fichier du concepteur vers le fichier code-behind.
+        /// </remarks>
+        protected global::System.Web.UI.WebControls.GridView gridViewActionEducatives;
+        
+        /// <summary>
+        /// Contrôle grdViewProjetPilote.
+        /// </summary>
+        /// <remarks>
+        /// Champ généré automatiquement.
+        /// Pour changer, déplacez la déclaration du fichier du concepteur vers le fichier code-behind.
+        /// </remarks>
+        protected global::System.Web.UI.WebControls.GridView grdViewProjetPilote;
+        
+        /// <summary>
+        /// Contrôle detailsViewChiffresSignificatifs.
+        /// </summary>
+        /// <remarks>
+        /// Champ généré automatiquement.
+        /// Pour changer, déplacez la déclaration du fichier du concepteur vers le fichier code-behind.
+        /// </remarks>
+        protected global::System.Web.UI.WebControls.DetailsView detailsViewChiffresSignificatifs;
+        
+        /// <summary>
+        /// Contrôle ObjectDataSourceEtablissement.
+        /// </summary>
+        /// <remarks>
+        /// Champ généré automatiquement.
+        /// Pour changer, déplacez la déclaration du fichier du concepteur vers le fichier code-behind.
+        /// </remarks>
+        protected global::System.Web.UI.WebControls.ObjectDataSource ObjectDataSourceEtablissement;
+        
+        /// <summary>
+        /// Contrôle ObjectDataSourceChiffres.
+        /// </summary>
+        /// <remarks>
+        /// Champ généré automatiquement.
+        /// Pour changer, déplacez la déclaration du fichier du concepteur vers le fichier code-behind.
+        /// </remarks>
+        protected global::System.Web.UI.WebControls.ObjectDataSource ObjectDataSourceChiffres;
+        
+        /// <summary>
+        /// Contrôle ObjectDataSourceATC.
+        /// </summary>
+        /// <remarks>
+        /// Champ généré automatiquement.
+        /// Pour changer, déplacez la déclaration du fichier du concepteur vers le fichier code-behind.
+        /// </remarks>
+        protected global::System.Web.UI.WebControls.ObjectDataSource ObjectDataSourceATC;
+        
+        /// <summary>
+        /// Contrôle ObjectDataSourceActionEducative.
+        /// </summary>
+        /// <remarks>
+        /// Champ généré automatiquement.
+        /// Pour changer, déplacez la déclaration du fichier du concepteur vers le fichier code-behind.
+        /// </remarks>
+        protected global::System.Web.UI.WebControls.ObjectDataSource ObjectDataSourceActionEducative;
+        
+        /// <summary>
+        /// Contrôle ObjectDataSourceProjetPilote.
+        /// </summary>
+        /// <remarks>
+        /// Champ généré automatiquement.
+        /// Pour changer, déplacez la déclaration du fichier du concepteur vers le fichier code-behind.
+        /// </remarks>
+        protected global::System.Web.UI.WebControls.ObjectDataSource ObjectDataSourceProjetPilote;
+    }
+}

+ 35 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Web/CG67.FicheCollege.Web/Properties/AssemblyInfo.cs

@@ -0,0 +1,35 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// Les informations générales relatives à un assembly dépendent de 
+// l'ensemble d'attributs suivant. Changez les valeurs de ces attributs pour modifier les informations
+// associées à un assembly.
+[assembly: AssemblyTitle("CG67.FicheCollege")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("Conseil général du Bas-Rhin")]
+[assembly: AssemblyProduct("CG67.FicheCollege")]
+[assembly: AssemblyCopyright("Copyright © Conseil général du Bas-Rhin 2009")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// L'affectation de la valeur false à ComVisible rend les types invisibles dans cet assembly 
+// aux composants COM. Si vous devez accéder à un type dans cet assembly à partir de 
+// COM, affectez la valeur true à l'attribut ComVisible sur ce type.
+[assembly: ComVisible(false)]
+
+// Le GUID suivant est pour l'ID de la typelib si ce projet est exposé à COM
+[assembly: Guid("3d5900ae-111a-45be-96b3-d9e4606ca793")]
+
+// Les informations de version pour un assembly se composent des quatre valeurs suivantes :
+//
+//      Version principale
+//      Version secondaire 
+//      Numéro de build
+//      Révision
+//
+// Vous pouvez spécifier toutes les valeurs ou indiquer les numéros de révision et de build par défaut 
+// en utilisant '*', comme indiqué ci-dessous :
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]

+ 39 - 0
CG67.FicheCollege.root/CG67.FicheCollege/Web/CG67.FicheCollege.Web/Web.config

@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<configuration>
+
+  <appSettings>
+      <add key="ConnexionStringSic" value="Data Source=ESNA\sqlstd2k5_1;Initial Catalog=TSic;User Id=UserTSicRW;password=UserTS!cRW!"/>
+      <add key="ConnexionStringOracleCollege" value="Data Source=PCOL;User Id=college;Password=college;"/>
+      <add key="ConnexionStringAccess" value="Provider=microsoft.jet.oledb.4.0;Data Source=\\Moder\App_production\College\data\Base\BD Collège_prod.mdb;Persist Security Info=False;"/>
+  </appSettings>
+  <connectionStrings/>
+  
+    <system.web>
+        <!-- 
+            Définissez compilation debug="true" pour insérer des symboles 
+            de débogage dans la page compilée. Comme ceci 
+            affecte les performances, définissez cette valeur à true uniquement 
+            lors du développement.
+        -->
+        <compilation debug="true" />
+        <!--
+            La section <authentication> permet la configuration 
+            du mode d'authentification de sécurité utilisé par 
+            ASP.NET pour identifier un utilisateur entrant. 
+        -->
+        <authentication mode="Windows" />
+        <!--
+            La section <customErrors> permet de configurer 
+            les actions à exécuter si/quand une erreur non gérée se produit 
+            lors de l'exécution d'une demande. Plus précisément, 
+            elle permet aux développeurs de configurer les pages d'erreur html 
+            pour qu'elles s'affichent à la place d'une trace de la pile d'erreur.
+
+        <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
+            <error statusCode="403" redirect="NoAccess.htm" />
+            <error statusCode="404" redirect="FileNotFound.htm" />
+        </customErrors>
+        -->
+    </system.web>
+</configuration>