Edit.cshtml 9.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217
  1. @model GreenTree.Strohrmann.ERP.Web.Models.Business.CraftModel
  2. @{
  3. ViewData["Title"] = "Gewerk bearbeiten";
  4. }
  5. @section Scripts {
  6. @{
  7. await Html.RenderPartialAsync("_CraftScriptPartial");
  8. }
  9. }
  10. <h1>Gewerk bearbeiten</h1>
  11. <h4>@Model.Name</h4>
  12. <hr />
  13. <form asp-action="Edit">
  14. <div asp-validation-summary="ModelOnly" class="text-danger"></div>
  15. <div class="row">
  16. <div class="col-3 pr-1">
  17. <div class="card h-100 bg-light">
  18. <div class="card-header pb-1">
  19. <h6>Allgemein</h6>
  20. </div>
  21. <div class="card-body">
  22. <div class="form-group">
  23. <label asp-for="Name" class="control-label"></label>
  24. <input asp-for="Name" class="form-control" />
  25. <span asp-validation-for="Name" class="text-danger"></span>
  26. </div>
  27. <div class="form-group">
  28. <label asp-for="CreationDate" class="control-label"></label>
  29. <input asp-for="CreationDate" type="date" class="form-control" />
  30. <span asp-validation-for="CreationDate" class="text-danger"></span>
  31. </div>
  32. <div class="form-group">
  33. <label asp-for="CustomerId" class="control-label"></label>
  34. @Html.SearchFor(
  35. m => m.CustomerId,
  36. m => m.CustomerText,
  37. Url.Action("Search", "Customer")
  38. )
  39. <span asp-validation-for="CustomerId" class="text-danger"></span>
  40. </div>
  41. <div class="form-group">
  42. <label asp-for="Comment" class="control-label"></label>
  43. <textarea asp-for="Comment" class="form-control"></textarea>
  44. <span asp-validation-for="Comment" class="text-danger"></span>
  45. </div>
  46. </div>
  47. </div>
  48. </div>
  49. <div class="col-9">
  50. <div class="card bg-light">
  51. <div class="card-header pb-1">
  52. <h6 class="float-left">Arbeitsstunden</h6>
  53. <a class="float-right" href="#" onclick="addCraftEmployeePartial()">Hinzufügen</a>
  54. </div>
  55. <div id="craftemployeelist" class="card-body">
  56. @if (Model != null && Model.CraftEmployees != null)
  57. {
  58. @foreach (var item in Model.CraftEmployees)
  59. {
  60. @await Html.PartialAsync("_CraftEmployeePartial", item.Value)
  61. }
  62. }
  63. else
  64. {
  65. @await Html.PartialAsync("_CraftEmployeePartial")
  66. }
  67. </div>
  68. <div class="card-footer">
  69. <div class="row">
  70. <div class="col-4">
  71. <h5 class="mb-0">
  72. <span class="badge badge-info">
  73. <span class="fa fa-hashtag" aria-label="Anzahl"> </span>
  74. @if (Model != null && Model.CraftEmployees != null)
  75. {
  76. <span id="aggEmployeeCount">
  77. @Model.CraftEmployees.Values.Count
  78. </span>
  79. }
  80. else
  81. {
  82. <span id="aggEmployeeCount">1</span>
  83. }
  84. </span>
  85. </h5>
  86. </div>
  87. <div class="col-2">
  88. <h5 class="mb-0">
  89. <span class="badge badge-info">
  90. <img height="14" src="~/img/icon-average-48.png" alt="Durchschnitt" title="Durchschnitt" />
  91. @if (Model != null && Model.CraftEmployees != null)
  92. {
  93. <span id="aggEmployeeAmountAvg">
  94. @String.Format("{0:G29} Std.", Model.CraftEmployees.Values.Average(m => m.Amount))
  95. </span>
  96. }
  97. else
  98. {
  99. <span id="aggEmployeeAmountAvg"> -</span>
  100. }
  101. </span>
  102. </h5>
  103. </div>
  104. <div class="col-6">
  105. <h5 class="mb-0">
  106. <span class="badge badge-info">
  107. <img height="14" src="~/img/icon-sigma-48.png" alt="Summe" title="Summe" />
  108. @if (Model != null && Model.CraftEmployees != null)
  109. {
  110. <span id="aggEmployeeValueSum">
  111. @String.Format("{0} €", Model.CraftEmployees.Values.Sum(m => m.Value))
  112. </span>
  113. }
  114. else
  115. {
  116. <span id="aggEmployeeValueSum"> -</span>
  117. }
  118. </span>
  119. </h5>
  120. </div>
  121. </div>
  122. </div>
  123. </div>
  124. <div class="card bg-light mt-3">
  125. <div class="card-header pb-1">
  126. <h6 class="float-left">Materialien</h6>
  127. <a class="float-right" href="#" onclick="addCraftMaterialPartial()">Hinzufügen</a>
  128. </div>
  129. <div id="craftmateriallist" class="card-body">
  130. @if (Model != null && Model.CraftMaterials != null)
  131. {
  132. @foreach (var item in Model.CraftMaterials)
  133. {
  134. @await Html.PartialAsync("_CraftMaterialPartial", item.Value)
  135. }
  136. }
  137. else
  138. {
  139. @await Html.PartialAsync("_CraftMaterialPartial")
  140. }
  141. </div>
  142. <div class="card-footer">
  143. <div class="row">
  144. <div class="col-3">
  145. <h5 class="mb-0">
  146. <span class="badge badge-info">
  147. <span class="fa fa-hashtag" aria-label="Anzahl"> </span>
  148. @if (Model != null && Model.CraftMaterials != null)
  149. {
  150. <span id="aggMaterialCount">
  151. @Model.CraftMaterials.Values.Count
  152. </span>
  153. }
  154. else
  155. {
  156. <span id="aggMaterialCount">1</span>
  157. }
  158. </span>
  159. </h5>
  160. </div>
  161. <div class="col-2">
  162. </div>
  163. <div class="col-3">
  164. <h5 class="mb-0">
  165. <span class="badge badge-info">
  166. <img height="14" src="~/img/icon-average-48.png" alt="Durchschnitt" title="Durchschnitt" />
  167. @if (Model != null && Model.CraftMaterials != null)
  168. {
  169. <span id="aggMaterialCalculationFactorAvg">
  170. @String.Format("{0:G29} %", Model.CraftMaterials.Values.Average(m => m.CalculationFactor))
  171. </span>
  172. }
  173. else
  174. {
  175. <span id="aggMaterialCalculationFactorAvg"> -</span>
  176. }
  177. </span>
  178. </h5>
  179. </div>
  180. <div class="col-4">
  181. <h5 class="mb-0">
  182. <span class="badge badge-info">
  183. <img height="14" src="~/img/icon-sigma-48.png" alt="Summe" title="Summe" />
  184. @if (Model != null && Model.CraftMaterials != null)
  185. {
  186. <span id="aggMaterialValueSum">
  187. @String.Format("{0} €", Model.CraftMaterials.Values.Sum(m => m.Value))
  188. </span>
  189. }
  190. else
  191. {
  192. <span id="aggMaterialValueSum"> -</span>
  193. }
  194. </span>
  195. </h5>
  196. </div>
  197. </div>
  198. </div>
  199. </div>
  200. </div>
  201. </div>
  202. <hr />
  203. <div class="form-group d-flex mt-3">
  204. <input type="submit" value="Speichern" class="btn btn-primary" />
  205. <div class="align-self-center ml-3">
  206. <a asp-action="Index">Zurück zur Liste</a>
  207. </div>
  208. </div>
  209. </form>