/// <summary> /// Loads the metadata (mappings, types, etc) for this DataModel. /// </summary> /// <param name="type"></param> private void PreInitialize(Type type) { InnerData = new CaseInsensitiveDictionary <object>(); EntityMappings = GetMapping(type); ColumnMappedValue = new ColumnMappedValueProperty(this, EntityMappings); Convert = new DataModelConverter(this); DataChanging += DataModel_DataChanging; DataChanged += DataModel_DataChanged; ModifiedProperties = new CaseInsensitiveStringList(); }
protected override DataModelValue ParseToDataModel(ref Exception?parseException) { try { return(DataModelConverter.FromJson(Value)); } catch (JsonException ex) { parseException = ex; return(Value.NormalizeSpaces()); } }
private async Task RefreshDiagram() { try { var dataTypes = DataModelManager.GetDataTypes(); MermaidScript = DataModelConverter.ConvertToDiagramCode(dataTypes); await JSRunTime.InvokeVoidAsync("mermaidLib.renderMermaidDiagram", "mermaid-canvas", MermaidScript); } catch (JSException) { Console.WriteLine("Could not render mermaid diagram"); } catch (DataModelConversionException) { Console.WriteLine("Error when converting the model"); } }
protected override async ValueTask <DataModelValue> ParseToDataModel(IExecutionContext executionContext, Resource resource, CancellationToken token) { var content = await resource.GetContent(token).ConfigureAwait(false); if (content is null) { return(DataModelValue.Null); } try { return(DataModelConverter.FromJson(content)); } catch (JsonException ex) { await executionContext.Log(LogLevel.Warning, exception : ex, token : token).ConfigureAwait(false); return(content.NormalizeSpaces()); } }
private IList <T> ToList <T>(DataTable table) where T : class { if (table == null) { throw new ArgumentNullException("table"); } DataRowCollection rows = table.Rows; if (rows.Count <= 0) { return(new List <T>(0)); } if (typeof(T) == typeof(object)) { DataModelProxyConverter proxy = DataModelProxyConverter.GetInstance(); return((IList <T>)proxy.ToList(table)); } else { return(DataModelConverter.ToList <T>(table)); } }
protected override Task SerializeToStreamAsync(Stream stream, TransportContext?context) => DataModelConverter.ToJsonAsync(stream, _value);