Exemplo n.º 1
0
        public static Dictionary <string, BaseStragClass <T> > Init_StragList <T>() where T : TimeSerialData
        {
            Dictionary <string, BaseStragClass <T> > AllStragList = new Dictionary <string, BaseStragClass <T> >();

            try
            {
                string stragList = GlobalClass.ReReadStragList();
                if (stragList == null || stragList.Trim().Length == 0)
                {
                    ToLog("策略列表", "为空!");
                    return(AllStragList);
                }
                List <BaseStragClass <T> > list = BaseStragClass <T> .getObjectListByXml <BaseStragClass <T> >(stragList); //StragClass.getStragsByXml(stragList);

                if (list == null)
                {
                    return(AllStragList);
                }
                AllStragList = list.ToDictionary(t => t.GUID, v => v);

                ToLog("策略列表", AllStragList.Count.ToString());
                return(AllStragList);
            }
            catch (Exception ce)
            {
                ToLog("策略列表错误", ce.StackTrace);
                return(AllStragList);
            }
        }
Exemplo n.º 2
0
        public override object EditValue(System.ComponentModel.ITypeDescriptorContext context, IServiceProvider provider, object value)
        {
            if (provider != null)
            {
                this.editorService = provider.GetService(typeof(IWindowsFormsEditorService)) as IWindowsFormsEditorService;
            }
            if (this.editorService != null)
            {
                AllList = BaseStragClass <TimeSerialData> .getObjectListByXml <BaseStragClass <TimeSerialData> >(GlobalClass.ReReadStragList());

                AllPlans = StragRunPlanClass <TimeSerialData> .getObjectListByXml <StragRunPlanClass <TimeSerialData> >(GlobalClass.getStragRunningPlan(true)).ToDictionary(t => t.GUID, t => t);

                List <BaseStragClass <TimeSerialData> > list = AllList.Where(t => AllPlans.ContainsKey(t.GUID) == false).ToList <BaseStragClass <TimeSerialData> >();
                List <StragClass> list1 = new List <StragClass>();

                list.ForEach(a => {
                    //list1.Add(ConvertionExtensions.ConvertTo<StragClass>(a as IConvertible));
                    StragClass sc = a as StragClass;
                    list1.Add(sc);
                });
                picker = new StragPicker(list1);//支持一组合对多相同策略
                editorService.ShowDialog(picker);
                if (picker.SelectedStrag == null)
                {
                    value = null;
                }
                else
                {
                    value = picker.SelectedStrag;
                    //picker.Hide();
                }
                ////if (value == null)
                ////{
                ////    picker.Show();
                ////    picker.Visible = true;
                ////}
                ////else
                ////{
                ////}
            }
            return(value);
        }