コード例 #1
0
ファイル: DatabaseExtensions.cs プロジェクト: kswoll/sexy-db
        public static Task CreateDirectory(this SexyDatabase db, DirectoryInfo directory)
        {
            var completionSource = new TaskCompletionSource <object>();

            Action <IPropertyChanged> globalChanged = null;

            globalChanged = changed =>
            {
                db.GlobalChanged -= globalChanged;
                completionSource.SetResult(null);
            };
            db.GlobalChanged += globalChanged;
            directory.Create();
            return(completionSource.Task.ContinueWith(async => db.WaitForIdle()));
        }
コード例 #2
0
ファイル: DatabaseExtensions.cs プロジェクト: kswoll/sexy-db
        public static Task EditFile(this SexyDatabase db, FileInfo file, string value)
        {
            var completionSource = new TaskCompletionSource <object>();

            Action <IPropertyChanged> globalChanged = null;

            globalChanged = changed =>
            {
                db.GlobalChanged -= globalChanged;
                completionSource.SetResult(null);
            };
            db.GlobalChanged += globalChanged;
            File.WriteAllText(file.FullName, value);
            return(completionSource.Task.ContinueWith(async => db.WaitForIdle()));
        }