У меня есть таблица Employees
с кучей столбцов.Я ищу способ изменить один из этих столбцов, чтобы он влиял на все строки.
Столбец называется accrualmonth
и используется для вычисляемого столбца на сервере sql.
.
В идеале я хотел бы отправить форму с выпадающим списком чисел от 1 до 12.
Я создал операцию CRUD, чтобы редактировать ее для отдельных строк, но в идеале мне нужносделать это «навалом»
public ActionResult Edit(int? id)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
Employee employee = db.Employees.Find(id);
if (employee == null)
{
return HttpNotFound();
}
ViewBag.AreaID = new SelectList(db.Areas, "AreaID", "Area1", employee.AreaID);
ViewBag.DisciplineID = new SelectList(db.Disciplines, "DisciplineID", "Discipline1", employee.DisciplineID);
ViewBag.HeadQuatersID = new SelectList(db.HeadQuaters, "HeadQuatersID", "Name", employee.HeadQuatersID);
ViewBag.ShiftID = new SelectList(db.Shifts, "ShiftID", "Shift1", employee.ShiftID);
ViewBag.SiteID = new SelectList(db.Sites, "SiteID", "SiteName", employee.SiteID);
return View(employee);
}
// POST: Accruals/Edit/5
// To protect from overposting attacks, please enable the specific properties you want to bind to, for
// more details see http://go.microsoft.com/fwlink/?LinkId=317598.
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Edit([Bind(Include = "EmployeeID,FullName,Email,StartDate,ShiftID,AreaID,DisciplineID,SiteID,ALCategory,HoursTaken,HoursCarriedForward,Comments,SickLeaveTaken,SickLeaveEntitlementRemaining,StudyLeaveEntitlement,StudyLeaveTaken,StudyLeaveRemaining,ExamLeaveTaken,ForceMajeure,BereavementLeaveTaken,MaternityLeaveTaken,ParentalLeaveTaken,AdoptionLeaveTaken,ManagerEmail,AreaManagerEmail,SickLeaveEntitlement,ActiveStatus,HeadQuatersID,Apprentice,AwardedLeave,TotalHoursThisYear,EntitlementRemainingThisYear,LeaveDate,LeavingDatEntitlement,accrualmonth,AllowanceToEndofMonth,TotalHolsToAccru")] Employee employee)
{
if (ModelState.IsValid)
{
db.Entry(employee).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index");
}
ViewBag.AreaID = new SelectList(db.Areas, "AreaID", "Area1", employee.AreaID);
ViewBag.DisciplineID = new SelectList(db.Disciplines, "DisciplineID", "Discipline1", employee.DisciplineID);
ViewBag.HeadQuatersID = new SelectList(db.HeadQuaters, "HeadQuatersID", "Name", employee.HeadQuatersID);
ViewBag.ShiftID = new SelectList(db.Shifts, "ShiftID", "Shift1", employee.ShiftID);
ViewBag.SiteID = new SelectList(db.Sites, "SiteID", "SiteName", employee.SiteID);
return View(employee);
}
Как мне начать работу над этой проблемой?Буду ли я пытаться использовать foreach в режиме редактирования, чтобы он мог перебирать все записи.
Вид:
model HolidayTracker.Models.Employee
<h2>Edit</h2>
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
<div class="form-horizontal">
<h4>Employee</h4>
<hr />
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
@Html.HiddenFor(model => model.EmployeeID)
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
@Html.HiddenFor(model => model.FullName)
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
@Html.HiddenFor(model => model.Email)
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
@Html.HiddenFor(model => model.StartDate)
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
@Html.HiddenFor(model => model.ShiftID)
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
@Html.HiddenFor(model => model.AreaID)
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
@Html.HiddenFor(model => model.DisciplineID)
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
@Html.HiddenFor(model => model.SiteID)
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
@Html.HiddenFor(model => model.ALCategory)
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
@Html.HiddenFor(model => model.HoursTaken)
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
@Html.HiddenFor(model => model.HoursCarriedForward)
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
@Html.HiddenFor(model => model.Comments)
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
@Html.HiddenFor(model => model.SickLeaveTaken)
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
@Html.HiddenFor(model => model.SickLeaveEntitlementRemaining)
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
@Html.HiddenFor(model => model.StudyLeaveTaken)
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
@Html.HiddenFor(model => model.StudyLeaveRemaining)
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
@Html.HiddenFor(model => model.ExamLeaveTaken)
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
@Html.HiddenFor(model => model.ForceMajeure)
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
@Html.HiddenFor(model => model.BereavementLeaveTaken)
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
@Html.HiddenFor(model => model.MaternityLeaveTaken)
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
@Html.HiddenFor(model => model.ParentalLeaveTaken)
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
@Html.HiddenFor(model => model.AdoptionLeaveTaken)
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
@Html.HiddenFor(model => model.ManagerEmail)
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
@Html.HiddenFor(model => model.AreaManagerEmail)
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
@Html.HiddenFor(model => model.SickLeaveEntitlement)
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
@Html.HiddenFor(model => model.ActiveStatus)
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
@Html.HiddenFor(model => model.HeadQuatersID)
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
@Html.HiddenFor(model => model.Apprentice)
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
@Html.HiddenFor(model => model.AwardedLeave)
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
@Html.HiddenFor(model => model.TotalHoursThisYear)
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
@Html.HiddenFor(model => model.EntitlementRemainingThisYear)
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
@Html.HiddenFor(model => model.LeaveDate)
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
@Html.HiddenFor(model => model.LeavingDatEntitlement)
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
@Html.HiddenFor(model => model.AllowanceToEndofMonth)
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
@Html.HiddenFor(model => model.TotalHolsToAccru)
<div class="form-group">
@Html.LabelFor(model => model.accrualmonth, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.DropDownList("accrualmonth", new[] { new SelectListItem() { Text = "1", Value = "1" },
new SelectListItem() { Text = "2", Value = "2" },
new SelectListItem() { Text = "3", Value = "3" },
new SelectListItem() { Text = "4", Value = "4" },
new SelectListItem() { Text = "5", Value = "5" },
new SelectListItem() { Text = "6", Value = "6" },
new SelectListItem() { Text = "7", Value = "7" },
new SelectListItem() { Text = "8", Value = "8" },
new SelectListItem() { Text = "9", Value = "9" },
new SelectListItem() { Text = "10", Value = "10" },
new SelectListItem() { Text = "11", Value = "11" },
new SelectListItem() { Text = "12", Value = "12" } },
htmlAttributes: new { @class = "form-control" })
@Html.ValidationMessageFor(model => model.accrualmonth, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" value="Save" class="btn btn-default" />
</div>
</div>
</div>
}
По запросу: