public ActionResult Edit(Guid?guid) { var vm = new EditWebhookViewModel(); vm.Webhook = (guid == null) ? new WebhookPostModel() : new WebhookPostModel(_repo.GetWebhook(guid.Value)); if (vm.Webhook.ParentId > 0) { var parentRef = new ContentReference(vm.Webhook.ParentId); if (!ContentReference.IsNullOrEmpty(parentRef)) { var parentContent = _contentLoader.Get <IContent>(parentRef); if (parentContent != null) { vm.CurrentContentName = parentContent.Name; vm.CurrentContentAncestors = _contentLoader.GetAncestors(parentRef).Select(x => x.ContentLink.ID).ToList(); } } } vm.ContentTypes = _typeRepo.List().Select(x => new SelectListItem { Text = x.DisplayName ?? x.Name, Value = x.ID.ToString() }).ToList(); vm.EventTypes = new List <SelectListItem>(); foreach (var eventType in _repo.GetEventTypes()) { vm.EventTypes.Add(new SelectListItem { Value = eventType.Key, Text = _localizationService.GetString("/Webhooks/EventTypes/" + eventType.Key, eventType.Key) }); } return(View(vm)); }
public async Task <IActionResult> NewWebhook(string storeId, EditWebhookViewModel viewModel) { if (!ModelState.IsValid) { return(View(nameof(ModifyWebhook), viewModel)); } await _Repo.CreateWebhook(CurrentStore.Id, viewModel.CreateBlob()); TempData[WellKnownTempData.SuccessMessage] = "The webhook has been created"; return(RedirectToAction(nameof(Webhooks), new { storeId })); }
public async Task <IActionResult> ModifyWebhook(string webhookId, EditWebhookViewModel viewModel) { var webhook = await _Repo.GetWebhook(CurrentStore.Id, webhookId); if (webhook is null) { return(NotFound()); } await _Repo.UpdateWebhook(CurrentStore.Id, webhookId, viewModel.CreateBlob()); TempData[WellKnownTempData.SuccessMessage] = "The webhook has been updated"; return(RedirectToAction(nameof(Webhooks), new { storeId = CurrentStore.Id })); }