using FLY.Winder.Common;
using FLY.Winder.OBJ_INTERFACE;
using FLY.OBJComponents.Server.OBJProxy;
using FObjBase;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using FLY.OBJComponents.IService;

namespace FLY.Winder.Server.OBJProxy
{
    public class WinderSystem_OBJProxy : FObj
    {
        WinderSystem data;

        public WinderSystem_OBJProxy(int objsys_idx, WinderSystem data) : base(objsys_idx)
        {
            ID = OBJ_INTERFACE.OBJ_INTERFACE.WINDER_OBJ_ID;
            this.data = data;

            //--------------------------------------------------------------
            //属性同步
            Dictionary<string, INotifyPropertyChanged> objnames = new Dictionary<string, INotifyPropertyChanged>();
            objnames.Add(nameof(data.Accessory), data.Accessory);
            for (int i = 0; i < data.Items.Count(); i++)
                objnames.Add($"{nameof(data.Items)}[{i}]", data.Items[i]);


            var syncProp_OBJProxy = new SyncProp_OBJProxy(
                objsys_idx, ID + 1, objnames);

            var plcOS_OBJProxy = new FObjBase.Reflect.Reflect_Proxy(
                objsys_idx,
                ID + 2,
                typeof(IPLCProxySystemService),
                data.PLCos
                );

        }
    }
}