示例#1
0
        /// <summary>
        /// Validates the name of the MS SQL bak file and extracts:
        /// - the database name
        /// - the date the file was created.
        /// </summary>
        /// <param name="path">The path.</param>
        /// <param name="model">The model.</param>
        /// <returns></returns>
        public static bool ValidateFilenameAndExtract(string path, out BakModel model)
        {
            string   name;
            DateTime created;

            if (ValidateFilenameAndExtract(path, out name, out created))
            {
                model = new BakModel {
                    Path = path, DatabaseName = name, Created = created
                };

                return(true);
            }

            model = null;
            return(false);
        }
示例#2
0
        public void TestFlagPrunableBackupsInSetWhenMoreThanOneBackupInOneDayOnDayToKeep()
        {
            var now = new DateTime(2014, 2, 28, 21, 15, 0);

            var backupSet = GenerateBackupSet(now, 120);

            service.FlagPrunableBackupsInSet(backupSet);

            var duplicate = new BakModel {
                DatabaseName = "db1", Created = new DateTime(2013, 11, 17, 22, 30, 5)
            };

            backupSet.Add(duplicate);

            service.FlagPrunableBackupsInSet(backupSet);

            RenderPrunedData(backupSet);

            var keeperDay = backupSet.Where(x => x.Created.Date == new DateTime(2013, 11, 17))
                            .ToArray();

            Assert.IsTrue(keeperDay[0].Prunable.Value);
            Assert.IsFalse(keeperDay[1].Prunable.Value);
        }