TDGage.cs 2.28 KB
Newer Older
潘栩锋's avatar
潘栩锋 committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
using FLY.OBJComponents.Client;
using FLY.OBJComponents.Common;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace FLY.Weight.UI.Client
{
    public class TDGage
    {
        public FLY.Weight.Client.WeightSystemClient mWeighterCsService;
        public FLY.OBJComponents.Client.WarningServiceClient mWarningService;
        public FLY.OBJComponents.Client.BufferWindow<OBJComponents.Common.FlyData_WarningHistory> mWarningReasonWindow;



        SysParam sysparam;

        
        public TDGage()
        {
            sysparam = SysParam.Current;
            
            mWeighterCsService = new Weight.Client.WeightSystemClient(sysparam.BinCnts);

            Misc.BindingOperations.SetBinding(mWeighterCsService, "BinCnts", sysparam, "BinCnts");

            mWarningService = new WarningServiceClient(FLY.Weight.OBJ_INTERFACE.OBJ_INTERFACE.WARNING_OBJ_ID);

            FObjBase.FObjSys.Current.Connect_to_Another_OBJSys(
                sysparam.ServerEP, 
                mWeighterCsService.GetIDs());

            FObjBase.FObjSys.Current.Connect_to_Another_OBJSys(
                sysparam.ServerEP,
                mWarningService.GetIDs());

            //-------------------------------------------------------
            //添加颜色
            mWeighterCsService.ResetItemsEvent += MWeighterCsService_ResetItemsEvent;
            MWeighterCsService_ResetItemsEvent();

            //创建窗口观察 报警原因列表
            mWarningReasonWindow = new BufferWindow<FlyData_WarningHistory>(mWarningService.ReasonList, 100);
        }

        private void MWeighterCsService_ResetItemsEvent()
        {
            foreach (FLY.Weight.Common.WeighterC w in mWeighterCsService.Items)
            {
                w.Color = WeighterColorDB.GetSelf(w.Number);
                for (int i = 0; i < w.Ingredients.Count(); i++)
                {
                    w.Ingredients[i].Color = WeighterColorDB.GetItem(w.Number, i);
                }
            }
        }

        static TDGage current;
        public static TDGage Current
        {
            get
            {
                if (current == null)
                {
                    current = new TDGage();
                }
                return current;
            }
        }
    }
}