internal Property_QueryX_Relation(PropertyRoot owner) { Owner = owner; Value = new StringValue(this); owner.Add(this); }
public static async Task LoadDataAsync(MethodInfo deserializer, PropertyRoot root, string savePath) { object value; using (var file = File.OpenRead(savePath)) { try { value = deserializer.Invoke(null, new object[] { file }); } catch (ArgumentException) { throw new PwSerializeMethodException("デシリアライズ メソッドのシグネチャが不正です。"); } catch (TargetParameterCountException) { throw new PwSerializeMethodException("デシリアライズ メソッドのシグネチャが不正です。"); } if (value is Task t) { await t; var resultProperty = typeof(Task <>).MakeGenericType(root.Type) .GetProperty(nameof(Task <object> .Result)); value = resultProperty.GetValue(t); } if (value == null) { throw new Exception("データ ファイルが壊れています。"); } } var converter = new ModelConverter(); await converter.LoadValueToRootAsync(root, value); }
internal Property_QueryX_LineColor(PropertyRoot owner) { Owner = owner; Value = new StringValue(this); owner.Add(this); }
public static async Task SaveDataAsync(PropertyRoot root, string savePath) { var tempFilePath = savePath + ".tmp"; try { using (var file = File.Open(tempFilePath, FileMode.Create)) { var currentCulture = Thread.CurrentThread.CurrentCulture; Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture; try { using (var writer = JsonReaderWriterFactory.CreateJsonWriter( file, Encoding.UTF8, true, true, "\t")) { var serializer = new DataContractJsonSerializer(root.Type, Settings); serializer.WriteObject(writer, root.Structure.Value.Value); await Task.Run(() => writer.Flush()); } } finally { Thread.CurrentThread.CurrentCulture = currentCulture; } } File.Delete(savePath); File.Move(tempFilePath, savePath); } finally { //File.Delete(tempFilePath); } }
internal Property_QueryX_IsBreakPoint(PropertyRoot owner) { Owner = owner; Value = new BoolValue(this); owner.Add(this); }
internal Property_QueryX_IsReversed(PropertyRoot owner) { Owner = owner; Value = new BoolValue(this); owner.Add(this); }
public static async Task LoadDataAsync(PropertyRoot root, string savePath) { object obj; using (var file = File.OpenRead(savePath)) { var currentCulture = Thread.CurrentThread.CurrentCulture; Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture; try { var serializer = new DataContractJsonSerializer(root.Type, Settings); obj = serializer.ReadObject(file); if (obj == null) { throw new Exception("読み込みに失敗しました。"); } } finally { Thread.CurrentThread.CurrentCulture = currentCulture; } } var converter = new ModelConverter(); await converter.LoadValueToRootAsync(root, obj); }
internal Property_Item_Description(PropertyRoot owner) { Owner = owner; Value = new StringValue(this); owner.Add(this); }
internal Property_GraphX_TerminalSpacing(PropertyRoot owner) { Owner = owner; Value = new Int32Value(this); owner.Add(this); }
internal Property_Relation_IsRequired(PropertyRoot owner) { Owner = owner; Value = new BoolValue(this); owner.Add(this); }
internal Property_ComputeX_ValueType(PropertyRoot owner) { Owner = owner; Value = new StringValue(this); owner.Add(this); }
internal Property_Item_Summary(PropertyRoot owner) { Owner = owner; Value = new StringValue(this); owner.Add(this); }
internal Property_Node_CenterXY(PropertyRoot owner) { Owner = owner; Value = new Int32ArrayValue(this); owner.Add(this); }
internal Property_PairX_Value(PropertyRoot owner) { Owner = owner; Value = new StringValue(this); owner.Add(this); }
internal Property_Node_BarWidth(PropertyRoot owner) { Owner = owner; Value = new StringValue(this); owner.Add(this); }
internal Property_GraphX_SymbolSize(PropertyRoot owner) { Owner = owner; Value = new Int32Value(this); owner.Add(this); }
internal Property_QueryX_ExclusiveKey(PropertyRoot owner) { Owner = owner; Value = new ByteValue(this); owner.Add(this); }
internal Property_ColumnX_IsChoice(PropertyRoot owner) { Owner = owner; Value = new BoolValue(this); owner.Add(this); }
public async Task LoadValueToRootAsync(PropertyRoot root, object obj) { var references = new List <(ReferenceByIntProperty model, int id)>(); foreach (var p in root.Structure.Properties) { var value = p.PropertyInfo.GetValue(obj); LoadValueToModel(p, value, references); } await Task.Delay(100); foreach (var reference in references) { reference.model.SetItemById(reference.id); } }
public static async Task SaveDataAsync(MethodInfo serializer, PropertyRoot root, string savePath) { var tempFilePath = savePath + ".tmp"; using (var file = File.OpenWrite(tempFilePath)) { var value = root.Structure.Value.Value; try { var ret = serializer.Invoke(null, new object[] { value, file }); if (ret != null && ret is Task t) { await t; } } catch (ArgumentException) { throw new PwSerializeMethodException("シリアライズ用メソッドのシグネチャが不正です。"); } } File.Delete(savePath); File.Move(tempFilePath, savePath); }
internal Property_QueryX_Facet2(PropertyRoot owner) : base(owner, owner.DataRoot.Get <Enum_Facet>()) { }
internal Property_QueryX_LineStyle(PropertyRoot owner) : base(owner, owner.GetRoot().Get <Enum_LineStyle>()) { }
internal Property_Node_Aspect(PropertyRoot owner) : base(owner, owner.DataRoot.Get <Enum_Aspect>()) { }
internal Property_Shape_StrokeStyle(PropertyRoot owner) : base(owner, owner.GetRoot().Get <Enum_StrokeStyle>()) { }
internal Property_QueryX_Connect1(PropertyRoot owner) : base(owner, owner.GetRoot().Get <Enum_Connect>()) { }
internal Property_Shape_EndCap(PropertyRoot owner) : base(owner, owner.GetRoot().Get <Enum_CapStyle>()) { }
internal Property_Shape_ExtentWest(PropertyRoot owner) : base(owner) { Value = new Int16Value(this); }
internal Property_SymbolX_Attatch(PropertyRoot owner) : base(owner, owner.GetRoot().Get <Enum_Attach>()) { }
internal Property_Node_SizeWH(PropertyRoot owner) : base(owner) { Value = new Int32ArrayValue(this); }
internal Property_Shape_Radius1(PropertyRoot owner) : base(owner) { Value = new ByteValue(this); }