public static void LoadPlugins(string path)
        {
            var files = Directory.GetFiles(path);
              //todo: Settings aus den wirklich vorhandenen Bildern erstellen
              PictureSetupList = ServiceRegistration.Get<ISettingsManager>().Load<PictureSettings>().PictureSetupList ?? new List<PictureInfos>();

              foreach (var a in from file in files let fileInfo = new FileInfo(file) where fileInfo.Extension.Equals(".dll") select GetModul(file, typeof(IPlugin.IPlugin)) into dictionary from a in dictionary select a)
              {
            var plugin = a.Value as IPlugin.IPlugin;
            if (plugin == null) continue;
            var pictureInfos = new PictureInfos
            {
              PluginTitel = plugin.Name,
              Date = DateTime.Today.ToShortDateString(),
              Titel = plugin.Titel,
              Category = plugin.Category,
              Description = plugin.Description,
              ImageOnline = plugin.Image,
              ImageOffline = GetOfflinePath(plugin.Name, DateTime.Today.ToShortDateString(), plugin.Image),
              Photographer = plugin.Photographer
            };
            // is it realy a new Picture
            if (!IsNewImage(pictureInfos)) continue;
            if (!IsNewTitel(pictureInfos)) continue;
            if (!IsNewDescription(pictureInfos)) continue;

            PictureSetupList.Add(pictureInfos);
            SaveImage(plugin.Image, pictureInfos.ImageOffline);
              }
              ServiceRegistration.Get<ISettingsManager>().Save(new PictureSettings(PictureSetupList));
        }
示例#2
0
 private static void FillDailyImages(PictureInfos pi)
 {
     var item = new ListItem();
       item.AdditionalProperties[IMAGE_PATH] = pi.ImageOffline;
       item.SetLabel("Path", pi.ImageOffline);
       item.SetLabel("Titel", pi.Titel);
       item.SetLabel("Photographer", pi.Photographer);
       item.SetLabel("Category", pi.Category);
       item.SetLabel("Date", pi.Date);
       item.SetLabel("Description", pi.Description);
       item.Selected = true;
       DailyImages.Add(item);
 }
 private static bool IsNewTitel(PictureInfos pi)
 {
     return PictureSetupList.All(piOld => piOld.Titel != pi.Titel);
 }
 private static bool IsNewImage(PictureInfos pi)
 {
     return PictureSetupList.All(piOld => piOld.ImageOffline != pi.ImageOffline);
 }
 private static bool IsNewDescription(PictureInfos pi)
 {
     return PictureSetupList.All(piOld => piOld.Description != pi.Description);
 }