public ActionResult Create(int folderId, FormCollection formData) { ReferenceCreateViewModel model = GetCreateViewModel(folderId); UpdateModel(model.Instance, formData); if (ModelState.IsValid) { model.Instance.FolderId = folderId; int selectedTemplateId; if (int.TryParse(formData["SelectedTemplateId"], out selectedTemplateId)) { model.Instance.TemplateId = selectedTemplateId; // Save data IFacadeUpdateResult <ReferenceData> result = Service.SaveReference(model.Instance); if (result.IsSuccessful) { ReferenceDto savedRef = result.ToDto(new ReferenceConverter()); return(RedirectToAction(DetailAction, new { id = savedRef.Id })); } else { ProcUpdateResult(result.ValidationResult, result.Exception); } } else { ModelState.AddModelError("InputError", "Please select Template."); } } return(View(model)); }
private ReferenceCreateViewModel GetCreateViewModel(int folderId) { ReferenceCreateViewModel model = new ReferenceCreateViewModel(); model.FolderTree = GetCurrentFolderTree(folderId); model.PageTitle = string.Format("Create New Content in folder: {0}", model.FolderTree.CurrentFolder.Name); model.CurrentLanguage = CurrentLanguage; // Get available templates ITemplateService templateService = ServiceLocator.Current.GetInstance <ITemplateService>(); model.AvailableTemplates = templateService.GetTemplates(); return(model); }
public async Task <ActionResult <Reference> > PostReference(ReferenceCreateViewModel rcvm) { Reference newReference = new Reference { Name = rcvm.Name, Url = rcvm.Url, TypeOfReferenceId = rcvm.TypeOfReferenceId, UserId = HttpContext.GetUserId() }; _context.References.Add(newReference); await _context.SaveChangesAsync(); var foundReference = _context.References.Where(s => s.UserId == newReference.UserId).OrderByDescending(s => s.Id).Take(1); return(Ok(foundReference)); }
public ViewResult Create(int folderId) { ReferenceCreateViewModel model = GetCreateViewModel(folderId); return(View(model)); }