public override Task <IViewProviderResult> BuildEditAsync(Issue issue, IViewProviderContext updater) { // Ensures we persist the message between post backs var message = issue.Message; if (_request.Method == "POST") { foreach (string key in _request.Form.Keys) { if (key == EditorHtmlName) { message = _request.Form[key]; } } } var viewModel = new EditEntityViewModel() { Id = issue.Id, Title = issue.Title, Message = message, EditorHtmlName = EditorHtmlName, Alias = issue.Alias }; return(Task.FromResult(Views( View <EditEntityViewModel>("Home.Edit.Header", model => viewModel).Zone("header"), View <EditEntityViewModel>("Home.Edit.Content", model => viewModel).Zone("content"), View <EditEntityViewModel>("Home.Edit.Footer", model => viewModel).Zone("actions-right") ))); }
public EditEntityWindow(Type entityType, object entityValue) { InitializeComponent(); ContentPanel.DataContext = entityValue == null?Activator.CreateInstance(entityType) : entityValue; _viewModel = new EditEntityViewModel(ContentPanel, entityType, entityValue, this); this.DataContext = _viewModel; }
public override async Task <IViewProviderResult> BuildEditAsync(Doc doc, IViewProviderContext updater) { // Get feature var feature = await _featureFacade.GetFeatureByIdAsync("Plato.Docs"); if (feature == null) { throw new Exception("The feature Plato.Docs could not be found"); } // Ensures we persist the message between post backs var message = doc.Message; if (_request.Method == "POST") { foreach (string key in _request.Form.Keys) { if (key == EditorHtmlName) { message = _request.Form[key]; } } } // Build general model var viewModel = new EditEntityViewModel() { Id = doc.Id, Title = doc.Title, Message = message, EditorHtmlName = EditorHtmlName, Alias = doc.Alias }; // Build drop down model var entityDropDownViewModel = new EntityDropDownViewModel() { Options = new EntityIndexOptions() { FeatureId = feature.Id, CategoryId = doc.CategoryId }, HtmlName = ParentHtmlName, SelectedEntity = doc?.ParentId ?? 0 }; // Build view return(Views( View <EditEntityViewModel>("Home.Edit.Header", model => viewModel).Zone("header"), View <EditEntityViewModel>("Home.Edit.Content", model => viewModel).Zone("content"), View <EntityDropDownViewModel>("Home.Edit.Sidebar", model => entityDropDownViewModel).Zone("sidebar"), View <EditEntityViewModel>("Home.Edit.Footer", model => viewModel).Zone("Footer") )); }
public override async Task ComposeModelAsync(Issue issue, IUpdateModel updater) { var model = new EditEntityViewModel { Title = issue.Title, Message = issue.Message }; await updater.TryUpdateModelAsync(model); if (updater.ModelState.IsValid) { issue.Title = model.Title; issue.Message = model.Message; } }
public override async Task ComposeModelAsync(Topic topic, IUpdateModel updater) { var model = new EditEntityViewModel { Title = topic.Title, Message = topic.Message }; await updater.TryUpdateModelAsync(model); if (updater.ModelState.IsValid) { topic.Title = model.Title; topic.Message = model.Message; } }
public override async Task ComposeModelAsync(Question question, IUpdateModel updater) { var model = new EditEntityViewModel { Title = question.Title, Message = question.Message }; await updater.TryUpdateModelAsync(model); if (updater.ModelState.IsValid) { question.Title = model.Title; question.Message = model.Message; } }
public override async Task ComposeModelAsync(Doc doc, IUpdateModel updater) { var model = new EditEntityViewModel { Title = doc.Title, Message = doc.Message }; await updater.TryUpdateModelAsync(model); if (updater.ModelState.IsValid) { doc.Title = model.Title; doc.Message = model.Message; doc.ParentId = GetParentSelection();; } }