예제 #1
0
        private static void DeleteDdFromDb(string diskTitle)
        {
            using (var db = new SpelunkerContext())
            {
                var disk = db.DiskDrives.FirstOrDefault(dd => dd.Title == diskTitle);

                if (disk != null)
                {
                    disk.Files.RemoveAll(f => f.DiskDriveId == disk.DiskDriveId);
                    db.DiskDrives.Remove(disk);
                }
                else
                {
                    Console.WriteLine("No disk found in db.");
                }

                db.SaveChanges();
            }
        }
예제 #2
0
        private static void AddToDb(string diskTitle, string rootPath)
        {
            IDiskDrive diskDrive = new FileSystemDrive(rootPath);

            Spelunker ddSpelunker = new Spelunker(diskDrive);

            ddSpelunker.SpelunkDd();

            using (var db = new SpelunkerContext())
            {
                if (!db.DiskDrives.Any(dd => dd.Title == diskTitle))
                {
                    db.Add(new DiskDrive {
                        Title = diskTitle
                    });
                    db.SaveChanges();

                    var disk = db.DiskDrives.First(dd => dd.Title == diskTitle);

                    foreach (var nugget in ddSpelunker.Nuggets)
                    {
                        disk.Files.Add(
                            new NuggetFile()
                        {
                            Title = nugget.Name,
                            Path  = nugget.Path
                        });
                    }

                    db.SaveChanges();
                }
                else
                {
                    Console.WriteLine("Disk already exists in DB");
                }
            }
        }