public override Task <IViewProviderResult> BuildEditAsync(Reply reply, IViewProviderContext updater) { // Ensures we persist the message between post backs var message = reply.Message; if (_request.Method == "POST") { foreach (string key in _request.Form.Keys) { if (key == EditorHtmlName) { message = _request.Form[key]; } } } var viewModel = new EditEntityReplyViewModel() { Id = reply.Id, EntityId = reply.EntityId, EditorHtmlName = EditorHtmlName, Message = message }; return(Task.FromResult(Views( View <EditEntityReplyViewModel>("Home.Edit.Reply.Header", model => viewModel).Zone("header"), View <EditEntityReplyViewModel>("Home.Edit.Reply.Content", model => viewModel).Zone("content"), View <EditEntityReplyViewModel>("Home.Edit.Reply.Footer", model => viewModel).Zone("Footer") ))); }
public override async Task <bool> ValidateModelAsync(Reply reply, IUpdateModel updater) { // Build model var model = new EditEntityReplyViewModel { Id = reply.Id, EntityId = reply.EntityId, Message = reply.Message }; // Validate model return(await updater.TryUpdateModelAsync(model)); }
public override async Task ComposeModelAsync(Reply reply, IUpdateModel updater) { var model = new EditEntityReplyViewModel { EntityId = reply.EntityId, Message = reply.Message }; await updater.TryUpdateModelAsync(model); if (updater.ModelState.IsValid) { reply.EntityId = model.EntityId; reply.Message = model.Message; } }