Beispiel #1
0
        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);
        }
Beispiel #3
0
        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);
        }
Beispiel #6
0
        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);
        }
Beispiel #8
0
        internal Property_Item_Description(PropertyRoot owner)
        {
            Owner = owner;
            Value = new StringValue(this);

            owner.Add(this);
        }
Beispiel #9
0
        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);
        }
Beispiel #11
0
        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);
        }
Beispiel #14
0
        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);
        }
Beispiel #16
0
        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);
        }
Beispiel #19
0
        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>())
 {
 }
Beispiel #22
0
 internal Property_QueryX_LineStyle(PropertyRoot owner) : base(owner, owner.GetRoot().Get <Enum_LineStyle>())
 {
 }
Beispiel #23
0
 internal Property_Node_Aspect(PropertyRoot owner) : base(owner, owner.DataRoot.Get <Enum_Aspect>())
 {
 }
Beispiel #24
0
 internal Property_Shape_StrokeStyle(PropertyRoot owner) : base(owner, owner.GetRoot().Get <Enum_StrokeStyle>())
 {
 }
Beispiel #25
0
 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);
 }
Beispiel #28
0
 internal Property_SymbolX_Attatch(PropertyRoot owner) : base(owner, owner.GetRoot().Get <Enum_Attach>())
 {
 }
Beispiel #29
0
 internal Property_Node_SizeWH(PropertyRoot owner) : base(owner)
 {
     Value = new Int32ArrayValue(this);
 }
Beispiel #30
0
 internal Property_Shape_Radius1(PropertyRoot owner) : base(owner)
 {
     Value = new ByteValue(this);
 }