public ActionResult CreateForm(string id = null) { if (!_userContext.HasUserProjectPermission(PermissionNames.CreateObservation)) { return(new HttpUnauthorizedResult()); } if (!string.IsNullOrWhiteSpace(id)) { var project = _documentSession.Load <Project>(id); if (!_userContext.HasGroupPermission(PermissionNames.CreateObservation, project.Id)) { return(new HttpUnauthorizedResult()); } } dynamic viewModel = new ExpandoObject(); viewModel.Record = _sightingViewModelQuery.BuildCreateRecord(id); viewModel.Create = true; //viewModel.Categories = GetCategories(); return(RestfulResult( viewModel, "records", "create")); }