У меня есть индекс MVC для перечисления данных моей БД из хранимой процедуры, и есть 1 столбец с именем «часы», поэтому в форме редактирования я хочу вычесть значение, которое я вставил, со значением из БД.Как я могу сделать это, чтобы показать в индексе?спасибо
это моя модель:
public class ExtrajobsViewModel
{
public int ExtraJobsID { get; set; }
public int UserID { get; set; }
public int FunctionScopeID { get; set; }
public string Description { get; set; }
[DisplayFormat(DataFormatString = "{0:dd/MMM/yyyy}")]
public Nullable<System.DateTime> Day { get; set; }
public Nullable<decimal> Hours { get; set; }
и мой контроллер редактирования modalview:
public ActionResult _CreateOrEdit_IndexRegistoTC(int? id)
{
if (id == null || id == 0)
{
return View();
}
var FunctionName = _context.TBL_UserFunction.Where(u => u.Name == "Extra-jobs").FirstOrDefault().Name;
var item2 = _context.SP_ExtraJobsRel(FunctionName).Where(m => m.ExtraJobsID == id).FirstOrDefault();
var item = _context.TBL_ExtraJobs.Find(id);
if (item2 == null)
{
return HttpNotFound();
}
ExtrajobsViewModel model = new ExtrajobsViewModel();
model.ExtraJobsID = item.ExtraJobsID;
model.FunctionScopeID = item.FunctionScopeID;
model.Travel_Consultant = item2.Username;
model.Scope1UserFunction = item2.functionscope1;
model.Scope2UserFunctionScope = item2.functionscope2;
model.Description = item2.Description;
model.Day = DateTime.UtcNow;
model.Hours = item2.Hours;
return View(model);
}
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult _CreateOrEdit_IndexRegistoTC(ExtrajobsViewModel model)
{
var userID = ((SessionModel)Session["SessionModel"]).UserID; // get current user id
TBL_ExtraJobs item = _context.TBL_ExtraJobs.Find(model.ExtraJobsID);
_context.Entry(item).State = EntityState.Modified;
item.FunctionScopeID = model.FunctionScopeID;
item.Description = model.Description;
item.Hours = model.Hours;
item.Day = model.Day;
item.LastUpdate = DateTime.UtcNow;
item.LastUpdateBy = userID;
//GetViewBags(model.Status_Coordinator);
_context.SaveChanges();
return RedirectToAction("IndexValidacao");
}
и мой вид для отображения часов:
<div class="form-group">
@Html.LabelFor(m => m.Hours, new { @class = "control-label col-sm-3" })
<div class="col-sm-9">
@Html.EditorFor(model => model.Hours, new { htmlAttributes = new { @class = "form-control input" } })
@Html.ValidationMessageFor(model => model.Hours, "", new { @class = "text-danger" })
</div>
</div>