public ViewResult Create(ElementDataViewModel model, string session) { var sessionState = _objectStore.Get <ElementSessionState>(session); var contentId = sessionState.ContentId; var contentType = sessionState.ContentType; var describeContext = CreateDescribeContext(contentId, contentType); var descriptor = _elementManager.GetElementDescriptorByTypeName(describeContext, model.TypeName); var data = Request.Form.ToDictionary(); var element = _elementManager.ActivateElement(descriptor, e => e.Data = data); var context = CreateEditorContext(session, describeContext.Content, element, postedElementData: data, updater: this); var editorResult = _elementManager.UpdateEditor(context); var viewModel = new EditElementViewModel { SessionKey = session, Layout = describeContext.Content.As <ILayoutAspect>(), EditorResult = editorResult, TypeName = model.TypeName, DisplayText = descriptor.DisplayText, ElementData = element.Data.Serialize(), Tabs = editorResult.CollectTabs().ToArray(), }; if (!ModelState.IsValid) { _transactionManager.Cancel(); } else { viewModel.Submitted = true; viewModel.ElementEditorModel = _mapper.ToEditorModel(element, describeContext); } return(View(viewModel)); }
public ViewResult Edit(string session) { var sessionState = _objectStore.Get <ElementSessionState>(session); var contentId = sessionState.ContentId; var contentType = sessionState.ContentType; var typeName = sessionState.TypeName; var elementData = ElementDataHelper.Deserialize(sessionState.ElementData); var describeContext = CreateDescribeContext(contentId, contentType); var descriptor = _elementManager.GetElementDescriptorByTypeName(describeContext, typeName); var data = elementData.Combine(ElementDataHelper.Deserialize(sessionState.ElementEditorData)); var element = _elementManager.ActivateElement(descriptor, e => e.Data = data); var context = CreateEditorContext(session, describeContext.Content, element, elementData); var editorResult = _elementManager.BuildEditor(context); var viewModel = new EditElementViewModel { Layout = describeContext.Content.As <ILayoutAspect>(), EditorResult = editorResult, TypeName = typeName, DisplayText = descriptor.DisplayText, ElementData = element.Data.Serialize(), Tabs = editorResult.CollectTabs().ToArray(), SessionKey = session, Submitted = !descriptor.EnableEditorDialog, }; return(View(viewModel)); }
/// <summary> /// The get. /// </summary> /// <param name="objectStore"> /// The object store. /// </param> /// <param name="originalKey"> /// The original key. /// </param> /// <typeparam name="T"> /// </typeparam> /// <returns> /// </returns> public static T Get <T>([NotNull] this IObjectStore objectStore, [NotNull] string originalKey) { CodeContracts.VerifyNotNull(objectStore, "objectStore"); CodeContracts.VerifyNotNull(originalKey, "originalKey"); var item = objectStore.Get(originalKey); if (item is T) { return((T)item); } return(default);
public void LoadSettings(List <Plugin> plugs) { plugs.ForEach(x => x.Settings = _store.Get <PluginSetting>("PluginSetting", x.GetType().Name) ?? new PluginSetting()); }
public static T Get <T>(this IObjectStore store, string key, Func <T> defaultValue = null) { var value = store.Get(key); return((T)(value ?? (defaultValue != null ? defaultValue() : default(T)))); }