Beispiel #1
0
        public PlugDownFileModel Get(string id)
        {
            MySqlContext mysql = new MySqlContext();
            List <Plugs> list  = mysql.plugs.ToList();
            Plugs        model = list.Find(m =>
            {
                return(m.PID.ToString() == id && m.PStatus == 0);
            });

            if (model == null)
            {
                return(null);
            }
            PlugDownFileModel pmodel = new PlugDownFileModel();

            pmodel.ID           = model.PID;
            pmodel.Kind         = model.PKind;
            pmodel.DownFile     = string.Format("{0}{1}", model.PDownpathWeb, model.PDownPath);
            pmodel.Ext          = model.PExt;
            pmodel.MainFileName = model.PWindowName;
            pmodel.Name         = model.PName;
            pmodel.OpenWay      = model.PShowWay;
            pmodel.Total        = model.PTotal;
            pmodel.UpdateDate   = model.PUpdateDate;
            return(pmodel);
        }
Beispiel #2
0
 private Plug GetPlug(string a, string b)
 {
     return(Plugs.FirstOrDefault(p => p.LetterA == a && p.LetterB == b));
 }
Beispiel #3
0
        public int LoadPlugs()
        {
            Plugs.Clear();
            PlugsInfo.Clear();

            if (!Directory.Exists(Environment.CurrentDirectory + @"\Plugins"))
            {
                return(0);
            }

            string[]            files         = Directory.GetFiles(Environment.CurrentDirectory + @"\Plugins");
            PluginInfoAttribute typeAttribute = new PluginInfoAttribute();

            foreach (var item in files)
            {
                string ext = Path.GetExtension(item);
                if (ext != ".dll")
                {
                    continue;
                }

                try
                {
                    Assembly tmp   = Assembly.UnsafeLoadFrom(item);
                    Type[]   types = tmp.GetTypes();
                    // 遍历实例获得实现接口的类
                    foreach (Type t in types)
                    {
                        if (t.GetInterface(interType.Name) != null)
                        {
                            T plug = (T)tmp.CreateInstance(t.FullName);
                            Plugs.Add(plug);

                            object[]            attbs     = t.GetCustomAttributes(typeAttribute.GetType(), false);
                            PluginInfoAttribute attribute = null;
                            foreach (object attb in attbs)
                            {
                                if (attb is PluginInfoAttribute)
                                {
                                    attribute = (PluginInfoAttribute)attb;
                                    break;
                                }
                            }

                            if (attribute != null)
                            {
                                PlugsInfo.Add(attribute);
                            }

                            CallBack();
                        }
                    }
                }
                catch (Exception exp)
                {
                    throw exp;
                }
            }

            return(Plugs.Count);
        }
Beispiel #4
0
 private void Button_Click(object sender, RoutedEventArgs e)
 {
     Plugs.UnselectAll();
 }