Advertisement
Guest User

Untitled

a guest
Nov 25th, 2014
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.40 KB | None | 0 0
  1. // ViewModel
  2. public class SupportEventViewModel
  3. {
  4. public SupportEvent SupportEvent { get; set; }
  5. public IEnumerable<SelectListItem> AllEmployees { get; set; }
  6.  
  7. private List<int> selectedEmployees;
  8. public List<int> SelectedEmployees
  9. {
  10. get
  11. {
  12. if (selectedEmployees == null)
  13. {
  14. selectedEmployees = SupportEvent
  15. .Employees
  16. .Select(m => m.Id)
  17. .ToList();
  18. }
  19. return selectedEmployees;
  20. }
  21. set { selectedEmployees = value; }
  22. }
  23. }
  24.  
  25. // SupportEventController - Edit()
  26. [HttpPost]
  27. [ValidateAntiForgeryToken]
  28. public ActionResult Edit(SupportEventViewModel model, bool? active)
  29. {
  30. foreach(var e in model.SelectedEmployees)
  31. {
  32. model.SupportEvent.Employees
  33. .Add(db.Employees.Find(e));
  34. }
  35. if (ModelState.IsValid)
  36. {
  37. db.Entry(model.SupportEvent).State = EntityState.Modified;
  38. db.SaveChanges();
  39. return RedirectToAction(((bool)active) ?
  40. "ActiveTicketDetails" : "Details", "Ticket", new { id = model.SupportEvent.TicketId });
  41. }
  42. return View(model);
  43. }
  44.  
  45. // The partial view/form
  46. @model ProjectWhiteWave.ViewModels.SupportEventViewModel
  47.  
  48. @{
  49. Layout = null;
  50. }
  51.  
  52. <!DOCTYPE html>
  53.  
  54. <html>
  55. <head>
  56. <meta name="viewport" content="width=device-width" />
  57. <title></title>
  58. </head>
  59. <body>
  60. @Html.AntiForgeryToken()
  61. <div class="form-horizontal">
  62. <h4>SupportEvent</h4>
  63. <hr />
  64. @Html.ValidationSummary(true)
  65. @Html.HiddenFor(model => model.SupportEvent.SupportEventId)
  66.  
  67. <div class="form-group">
  68. @Html.LabelFor(model => model.SupportEvent.DateOpened, new { @class = "control-label col-md-2" })
  69. <div class="col-md-10">
  70. @Html.EditorFor(model => model.SupportEvent.DateOpened)
  71. @Html.ValidationMessageFor(model => model.SupportEvent.DateOpened)
  72. </div>
  73. </div>
  74. <div class="form-group">
  75. @Html.LabelFor(model => model.SupportEvent.DateClosed, new { @class = "control-label col-md-2" })
  76. <div class="col-md-10">
  77. @Html.EditorFor(model => model.SupportEvent.DateClosed)
  78. @Html.ValidationMessageFor(model => model.SupportEvent.DateClosed)
  79. </div>
  80. </div>
  81. <div class="form-group">
  82. @Html.LabelFor(model => model.AllEmployees, "Technicians", new { @class = "control-label col-md-2" })
  83. <div class="col-md-10">
  84. @Html.ListBoxFor(model => model.SelectedEmployees, Model.AllEmployees)
  85. </div>
  86. </div>
  87. <div class="form-group">
  88. @Html.LabelFor(model => model.SupportEvent.Description, new { @class = "control-label col-md-2" })
  89. <div class="col-md-10">
  90. @Html.EditorFor(model => model.SupportEvent.Description)
  91. @Html.ValidationMessageFor(model => model.SupportEvent.Description)
  92. </div>
  93. </div>
  94. <div class="form-group">
  95. <div class="col-md-offset-2 col-md-10">
  96. <input type="submit" value="Save" class="btn btn-default" />
  97. </div>
  98. </div>
  99. </div>
  100. </body>
  101. </html>
  102.  
  103. model.SupportEvent.Employees.Add(db.Employees.Find(e));
  104.  
  105. model.SupportEvent.Employees.Add(db.Employees.Find(emp => emp.Id = e));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement