private async Task AddFolderSource(DateTimeOffset configuredOn, FolderSource fs) { var folder = fs.Folder.ToLower(); var sf = await db.SourceFolders.SingleOrDefaultAsync(x => x.FullPath == folder); if (sf != null && sf.DisplayName != fs.DisplayName) { log.LogError($"Source folder {folder} already exists in the database: display name {sf.DisplayName}"); } else { sf = await db.SourceFolders.SingleOrDefaultAsync(x => string.Compare(x.DisplayName, fs.DisplayName, true) == 0); if (sf == null) { sf = new SourceFolder { BackupEnabled = false, DisplayName = fs.DisplayName, //Path = String.Empty, FullPath = folder, ScheduledTime = 3, Type = fs.Type }; await db.SourceFolders.AddAsync(sf); } else { sf.FullPath = fs.Folder.ToLower(); sf.Type = fs.Type; } sf.ConfiguredOn = configuredOn; await db.SaveChangesAsync(); } }
private void AddFolderButton_Click(object sender, RoutedEventArgs e) { try { var folder = new FolderSource { Name = "New Folder" }; var source = GetSelectedSource(); if (source != null) { source.IsExpanded = true; folder.Parent = source; source.AddChild(folder); } else { boundSources.Add(folder); } sourceController.Save(folder); } catch (Exception ex) { log.Error("AddFolderButton_Click", ex); } }
public ResourceManager() { sources = new List <IResourceSource>(); objectCaches = new Dictionary <Type, ResourceObjectCache>(); objectFactories = new Dictionary <Type, IObjectFactory <object> >(); var drawableFactory = new DrawableFactory(); RegisterType(typeof(Drawable), drawableFactory); RegisterType(typeof(Skill), new SkillFactory(drawableFactory)); RegisterType(typeof(Bitmap), new BitmapFactory()); RegisterType(typeof(MouseCursor), new MouseCursorFactory()); RegisterType(typeof(Face), new FontFaceFactory()); RegisterType(typeof(Tileset), new TilesetFactory()); RegisterType(typeof(SpriteMaker), new SpriteMakerFactory()); RegisterType(typeof(GameAction), new GameActionFactory()); RegisterType(typeof(ItemProto), new ItemProtoFactory(drawableFactory)); RegisterType(typeof(BuffProto), new BuffProtoFactory(drawableFactory)); var folderSource = new FolderSource("Data"); folderSource.AddSerializer(".ini", new IniResourceSerializer(folderSource.FileSource)); AddSource(folderSource); AddSource(new JarSource("haven-res.jar")); AddSource(new HttpSource(App.Config.ResUrl)); }