Details.cshtml 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340
  1. @using CD67.FicheCollege.MVC.Models
  2. @model RestaurationFormulaireViewModel
  3. @{
  4. ViewBag.Title = "Details";
  5. Layout = "~/Views/Shared/_Layout.cshtml";
  6. RestaurationFormulaire form = Model.Obj;
  7. int anneePlus = ViewBag.AnneeEnCours + 1;
  8. int anneeMoins = ViewBag.AnneeEnCours - 1;
  9. RestaurationParametre param = ViewBag.Param;
  10. List<RestaurationFormulairesRepa> repas = Model.Obj.RestaurationFormulairesRepas.ToList();
  11. decimal sum = 0;
  12. }
  13. <header>
  14. <h2>
  15. La Restauration - @form.College.Libelle
  16. @if (form.College.RestaurationType_Id != null)
  17. {
  18. <text>(</text>@form.College.RestaurationType.Libelle<text>)</text>
  19. }
  20. </h2>
  21. </header>
  22. <hr />
  23. <div class="form-horizontal">
  24. <h4><b>PROPOSITIONS DE TARIFS DE RESTAURATION ET D'HEBERGEMENT POUR L'ANNEE @anneePlus</b></h4>
  25. <hr />
  26. <b>I. Nombre de demi-pensionnaires</b><br /><br />
  27. <dl class="dl-horizontal-bg">
  28. <dt>@Html.DisplayNameFor(model => form.NbDP_College)</dt>
  29. <dd>@Html.DisplayFor(model => form.NbDP_College)</dd>
  30. <dt>@Html.DisplayNameFor(model => form.NbDP_Lycee)</dt>
  31. <dd>@Html.DisplayFor(model => form.NbDP_Lycee)</dd>
  32. <dt>@Html.DisplayNameFor(model => form.NbDP_MatPrimPeri)</dt>
  33. <dd>@Html.DisplayFor(model => form.NbDP_MatPrimPeri)</dd>
  34. <dt>@Html.DisplayNameFor(model => form.NbDP_Commensaux)</dt>
  35. <dd>@Html.DisplayFor(model => form.NbDP_Commensaux)</dd>
  36. <dt>@Html.DisplayNameFor(model => form.NbDP_ATC)</dt>
  37. <dd>@Html.DisplayFor(model => form.NbDP_ATC)</dd>
  38. <dt>@Html.DisplayNameFor(model => form.NbDP_AgentC)</dt>
  39. <dd>@Html.DisplayFor(model => form.NbDP_AgentC)</dd>
  40. </dl>
  41. <hr />
  42. <b>II. Tarifs élèves @anneePlus</b>
  43. <br />
  44. <br />
  45. <text>Prix des forfaits (prix unitaire <b>minimum</b> fixé à <b>@param.Prix_Mini €</b>)</text>
  46. <div class="form-group">
  47. <table id="table-actions" class="table" style="width:80%">
  48. <thead>
  49. <tr>
  50. <th>
  51. Forfait
  52. </th>
  53. <th>
  54. Prix du forfait
  55. </th>
  56. <th>
  57. Nombre de jours d'ouverture prévu de la demi-pension
  58. </th>
  59. <th>
  60. Prix unitaire du repas (Prix du forfait / Nombre de jours)
  61. </th>
  62. </tr>
  63. </thead>
  64. <tbody>
  65. <tr>
  66. <td>
  67. 5 j
  68. </td>
  69. <td>
  70. @form.Prix_Forfait5j €
  71. </td>
  72. <td>
  73. @form.NbJours_Forfait5j
  74. </td>
  75. <td>
  76. @((form.Prix_Forfait5j.Value / form.NbJours_Forfait5j.Value).ToString("N2")) €
  77. </td>
  78. </tr>
  79. <tr>
  80. <td>
  81. 4 j
  82. </td>
  83. <td>
  84. @form.Prix_Forfait4j €
  85. </td>
  86. <td>
  87. @form.NbJours_Forfait4j
  88. </td>
  89. <td>
  90. @((form.Prix_Forfait4j.Value / form.NbJours_Forfait4j.Value).ToString("N2")) €
  91. </td>
  92. </tr>
  93. <tr>
  94. <td>
  95. 3 j
  96. </td>
  97. <td>
  98. @form.Prix_Forfait3j €
  99. </td>
  100. <td>
  101. @form.NbJours_Forfait3j
  102. </td>
  103. <td>
  104. @((form.Prix_Forfait3j.Value / form.NbJours_Forfait3j.Value).ToString("N2")) €
  105. </td>
  106. </tr>
  107. <tr>
  108. <td>
  109. 2 j
  110. </td>
  111. <td>
  112. @form.Prix_Forfait2j €
  113. </td>
  114. <td>
  115. @form.NbJours_Forfait2j
  116. </td>
  117. <td>
  118. @((form.Prix_Forfait2j.Value / form.NbJours_Forfait2j.Value).ToString("N2")) €
  119. </td>
  120. </tr>
  121. <tr>
  122. <td>
  123. 1 j
  124. </td>
  125. <td>
  126. @form.Prix_Forfait1j €
  127. </td>
  128. <td>
  129. @form.NbJours_Forfait1j
  130. </td>
  131. <td>
  132. @((form.Prix_Forfait1j.Value / form.NbJours_Forfait1j.Value).ToString("N2")) €
  133. </td>
  134. </tr>
  135. </tbody>
  136. </table>
  137. </div>
  138. <dl class="dl-horizontal">
  139. <dt>@Html.DisplayNameFor(model => form.Prix_Ticket)</dt>
  140. <dd>@Html.DisplayFor(model => form.Prix_Ticket) €</dd>
  141. <dt>@Html.DisplayNameFor(model => form.Tarif_Pension)</dt>
  142. <dd>@Html.DisplayFor(model => form.Tarif_Pension) €</dd>
  143. </dl>
  144. <hr />
  145. <b>III. Tarifs « commensaux » @anneePlus</b>
  146. <br />
  147. <br />
  148. <dl class="dl-horizontal-bg">
  149. <dt>@Html.DisplayNameFor(model => form.Prix_ATC)</dt>
  150. <dd>@Html.DisplayFor(model => form.Prix_ATC) € <text><b> (défaut @param.Prix_ATC €)</b></text></dd>
  151. <dt>@Html.DisplayNameFor(model => form.Prix_AgentC)</dt>
  152. <dd>@Html.DisplayFor(model => form.Prix_AgentC) € <text><b> (défaut @param.Prix_AgentC €)</b></text></dd>
  153. <dt>@Html.DisplayNameFor(model => form.Prix_Commensaux)</dt>
  154. <dd>@Html.DisplayFor(model => form.Prix_Commensaux) € <text><b> (minimum @param.Prix_MiniAutres €)</b></text></dd>
  155. <dt>@Html.DisplayNameFor(model => form.Prix_EcolePeri)</dt>
  156. <dd>@Html.DisplayFor(model => form.Prix_EcolePeri) €</dd>
  157. </dl>
  158. <hr />
  159. <b>IV. Nombre de repas encaissés en @anneeMoins</b> (données STAR, PRESTO, ALISE)
  160. <br />
  161. <br />
  162. <div class="form-group">
  163. <table id="table-actions" class="table">
  164. <thead>
  165. <tr>
  166. <th>
  167. Type de repas
  168. </th>
  169. <th>
  170. Nombre de repas
  171. </th>
  172. <th>
  173. Nombre de jours en @anneeMoins
  174. </th>
  175. <th>
  176. Moyenne du nombre de repas par jour
  177. </th>
  178. <th>
  179. Nom de l'établissement
  180. </th>
  181. </tr>
  182. </thead>
  183. <tbody>
  184. @for (int i = 0; i < repas.Count(); i++)
  185. {
  186. <tr>
  187. <td>
  188. @repas[i].RestaurationTypesRepa.Libelle
  189. </td>
  190. <td>
  191. @repas[i].NbRepas
  192. </td>
  193. <td>
  194. @repas[i].NbJours
  195. </td>
  196. <td>
  197. @(@repas[i].NbRepas / @repas[i].NbJours)
  198. </td>
  199. <td>
  200. @repas[i].NomEtablissement
  201. </td>
  202. </tr>
  203. }
  204. </tbody>
  205. <tfooter>
  206. <tr>
  207. <td>
  208. Total
  209. </td>
  210. <td>@ViewBag.SumTotal</td>
  211. <td></td>
  212. <td>@ViewBag.MoyenneTotal</td>
  213. <td></td>
  214. </tr>
  215. </tfooter>
  216. </table>
  217. </div>
  218. <hr />
  219. <b>V. Participation au fond social ou impayés @anneeMoins</b>
  220. <br />
  221. <br />
  222. <div class="form-group">
  223. <table id="table-actions" class="table" style="width:40%">
  224. <thead>
  225. <tr>
  226. <th>
  227. </th>
  228. <th>
  229. Fond social
  230. </th>
  231. <th>
  232. Impayés
  233. </th>
  234. </tr>
  235. </thead>
  236. <tbody>
  237. <tr>
  238. <td>
  239. Nombre d'élèves concernés
  240. </td>
  241. <td>
  242. @form.NbEleves_FondSocial
  243. </td>
  244. <td>
  245. @form.NbEleves_Impayes
  246. </td>
  247. </tr>
  248. <tr>
  249. <td>
  250. Montant
  251. </td>
  252. <td>
  253. @form.Montant_FondSocial
  254. </td>
  255. <td>
  256. @form.Montant_Impayes
  257. </td>
  258. </tr>
  259. </tbody>
  260. </table>
  261. </div>
  262. <hr />
  263. <text>Avis du conseil d'administration du collège recueilli en date du @form.Date_AvisCA.Value.ToShortDateString()</text><br />
  264. <text><b>Signature du chef d'établissement : </b></text><br />
  265. @if (form.Ind_Signature == false)
  266. {
  267. <span class="fa fa-times fa-2x" style="color:red"></span> @Html.LabelFor(model => form.Ind_Signature, htmlAttributes: new { @class = "control-label" })
  268. }
  269. else
  270. {
  271. <span class="fa fa-check fa-2x" style="color:green"></span>@Html.LabelFor(model => form.Ind_Signature, htmlAttributes: new { @class = "control-label" })
  272. }
  273. <br /><br />
  274. <div class="form-group btn-bar">
  275. @if (param.Campagne == true)
  276. {
  277. if (form.Statut == Constants.Statut.EN_COURS_DE_SAISIE.ToString())
  278. {
  279. @* Si c'est l'admin, il peut revenir à la liste *@
  280. <a href=@Url.Action("Index", "Restauration", new { annee_id = form.College.Annee_Id }) class="btn btn-default">Retour à la liste</a>
  281. <a href=@Url.Action("Edit", "RestaurationFormulaires", new { id = form.College_Id, mode = ModeAcces.Modification }) class="btn btn-primary">Modifier</a>
  282. <a href=@Url.Action("Finish", "RestaurationFormulaires", new { id = form.College_Id }) class="btn btn-primary">Terminer</a>
  283. }
  284. else if (form.Statut == Constants.Statut.PROPOSE.ToString())
  285. {
  286. @* Si c'est l'admin *@
  287. <a href=@Url.Action("Index", "Restauration", new { annee_id = form.College.Annee_Id }) class="btn btn-default">Retour à la liste</a>
  288. <a href=@Url.Action("Edit", "RestaurationFormulaires", new { id = form.College_Id, mode = ModeAcces.Modification }) class="btn btn-primary">Modifier</a>
  289. <a href=@Url.Action("Input", "RestaurationFormulaires", new { id = form.College_Id }) class="btn btn-primary">Réouverture au collège</a>
  290. <a href=@Url.Action("Validate", "RestaurationFormulaires", new { id = form.College_Id }) class="btn btn-primary">Valider</a>
  291. }
  292. else if (form.Statut == Constants.Statut.VALIDE.ToString())
  293. {
  294. @* Si c'est l'admin *@
  295. <a href=@Url.Action("Index", "Restauration", new { annee_id = form.College.Annee_Id }) class="btn btn-default">Retour à la liste</a>
  296. <a href=@Url.Action("Finish", "RestaurationFormulaires", new { id = form.College_Id }) class="btn btn-primary">Dé-valider</a>
  297. }
  298. }
  299. else
  300. {
  301. @* Si c'est l'admin*@
  302. <a href=@Url.Action("Index", "Restauration", new { annee_id = form.College.Annee_Id }) class="btn btn-default">Retour à la liste</a>
  303. <a href=@Url.Action("Edit", "RestaurationFormulaires", new { id = form.College_Id, mode = ModeAcces.Modification }) class="btn btn-primary">Modifier</a>
  304. }
  305. </div>
  306. </div>