private void ViewModel_ViewOpenActionDialog(FilterEditViewModel sender, string title, string message, Action <FilterEditViewModel> okAction) { if (MessageBox.Show(message, title, MessageBoxButton.OKCancel) == MessageBoxResult.OK) { okAction?.Invoke(sender); } }
public ActionResult Edit(int id, string category, string type, int filterId = -1) { if (!Services.Authorizer.Authorize(StandardPermissions.SiteOwner, T("Not authorized to manage image profiles"))) return new HttpUnauthorizedResult(); var filter = _processingManager.DescribeFilters().SelectMany(x => x.Descriptors).FirstOrDefault(x => x.Category == category && x.Type == type); if (filter == null) { return HttpNotFound(); } // build the form, and let external components alter it var form = filter.Form == null ? null : _formManager.Build(filter.Form); string description = ""; // bind form with existing values). if (filterId != -1) { var profile = _profileService.GetImageProfile(id); var filterRecord = profile.Filters.FirstOrDefault(f => f.Id == filterId); if (filterRecord != null) { description = filterRecord.Description; var parameters = FormParametersHelper.FromString(filterRecord.State); _formManager.Bind(form, new DictionaryValueProvider<string>(parameters, CultureInfo.InvariantCulture)); } } var viewModel = new FilterEditViewModel {Id = id, Description = description, Filter = filter, Form = form}; return View(viewModel); }
public IActionResult FilterEditor([FromForm] FilterEditViewModel model) { var existing = _fileDatabase.GetDocumentById(model.DocumentId); var filterSet = existing.PickFilterSet(model.PageIndex); if (filterSet is null) { return(BadRequest() !); } if (model.FilterKey is null) { return(BadRequest() !); } if (!filterSet.ContainsKey(model.FilterKey)) { return(BadRequest() !); } // Copy new values across model.CopyTo(existing); // Write back to store _fileDatabase.SaveDocumentTemplate(existing, model.DocumentId); return(Content("OK") !); }
public ActionResult Edit(int id, string category, string type, int filterId = -1) { if (!Services.Authorizer.Authorize(StandardPermissions.SiteOwner, T("Not authorized to manage queries"))) { return(new HttpUnauthorizedResult()); } var filter = _projectionManager.DescribeFilters().SelectMany(x => x.Descriptors).Where(x => x.Category == category && x.Type == type).FirstOrDefault(); if (filter == null) { return(HttpNotFound()); } // if there is no form to edit, save the filter and go back to the query if (filter.Form == null) { var group = _groupRepository.Get(id); if (filterId == -1) { group.Filters.Add( new FilterRecord { Category = category, Type = type, Position = group.Filters.Count }); } return(RedirectToAction("Edit", "Admin", new { id = group.QueryPartRecord.Id })); } // build the form, and let external components alter it var form = _formManager.Build(filter.Form); string description = ""; // bind form with existing values). if (filterId != -1) { var group = _groupRepository.Get(id); var filterRecord = group.Filters.Where(f => f.Id == filterId).FirstOrDefault(); if (filterRecord != null) { description = filterRecord.Description; var parameters = FormParametersHelper.FromString(filterRecord.State); _formManager.Bind(form, new DictionaryValueProvider <string>(parameters, CultureInfo.InvariantCulture)); } } var viewModel = new FilterEditViewModel { Id = id, Description = description, Filter = filter, Form = form }; return(View(viewModel)); }
public ActionResult EditPost(int id, string category, string type, [DefaultValue(-1)] int filterId, FormCollection formCollection) { var profile = _profileService.GetImageProfile(id); var filter = _processingManager.DescribeFilters().SelectMany(x => x.Descriptors).FirstOrDefault(x => x.Category == category && x.Type == type); var model = new FilterEditViewModel(); TryUpdateModel(model); // validating form values _formManager.Validate(new ValidatingContext { FormName = filter.Form, ModelState = ModelState, ValueProvider = ValueProvider }); if (ModelState.IsValid) { var filterRecord = profile.Filters.FirstOrDefault(f => f.Id == filterId); // add new filter record if it's a newly created filter if (filterRecord == null) { filterRecord = new FilterRecord { Category = category, Type = type, Position = profile.Filters.Count }; profile.Filters.Add(filterRecord); } var dictionary = formCollection.AllKeys.ToDictionary(key => key, formCollection.Get); // save form parameters filterRecord.State = FormParametersHelper.ToString(dictionary); filterRecord.Description = model.Description; // set profile as updated profile.ModifiedUtc = DateTime.UtcNow; profile.FileNames.Clear(); _signals.Trigger("MediaProcessing_" + profile.Name + "_Saved"); return(RedirectToAction("Edit", "Admin", new { id })); } // model is invalid, display it again var form = _formManager.Build(filter.Form); _formManager.Bind(form, formCollection); var viewModel = new FilterEditViewModel { Id = id, Description = model.Description, Filter = filter, Form = form }; return(View(viewModel)); }
public ActionResult EditPost(int id, string category, string type, [DefaultValue(-1)] int filterId, FormCollection formCollection) { var group = _groupRepository.Get(id); var filter = _projectionManager.DescribeFilters().SelectMany(x => x.Descriptors).Where(x => x.Category == category && x.Type == type).FirstOrDefault(); var model = new FilterEditViewModel(); TryUpdateModel(model); // validating form values _formManager.Validate(new ValidatingContext { FormName = filter.Form, ModelState = ModelState, ValueProvider = ValueProvider }); if (ModelState.IsValid) { var filterRecord = group.Filters.Where(f => f.Id == filterId).FirstOrDefault(); // add new filter record if it's a newly created filter if (filterRecord == null) { filterRecord = new FilterRecord { Category = category, Type = type, Position = group.Filters.Count }; group.Filters.Add(filterRecord); } var dictionary = formCollection.AllKeys.ToDictionary(key => key, formCollection.Get); // save form parameters filterRecord.State = FormParametersHelper.ToString(dictionary); filterRecord.Description = model.Description; return(RedirectToAction("Edit", "Admin", new { group.QueryPartRecord.Id })); } // model is invalid, display it again var form = _formManager.Build(filter.Form); _formManager.Bind(form, formCollection); var viewModel = new FilterEditViewModel { Id = id, Description = model.Description, Filter = filter, Form = form }; return(View(viewModel)); }
public IActionResult FilterEditor(int docId, [FromQuery] int?pageIndex, [FromQuery] string filterKey) { var project = _fileDatabase.GetDocumentById(docId); var filterSet = project.PickFilterSet(pageIndex); if (filterSet is null) { return(BadRequest() !); } if (!filterSet.ContainsKey(filterKey)) { return(BadRequest() !); } var theFilter = filterSet[filterKey]; var model = FilterEditViewModel.From(project, pageIndex, docId, filterKey, theFilter); return(View(model) !); }
public ActionResult GetFilterEdit(string updateTargetId, bool isAdministrator, string category) { var model = new FilterEditViewModel(updateTargetId, isAdministrator, category); return(PartialView("FilterEditPartialView", model)); }