Example #1
0
        public override string UpdateDatabaseRecord(DatabaseRecord record, long etag)
        {
            bool newTask = false;

            if (Configuration.TaskId == 0)
            {
                // this is a new backup configuration
                newTask = true;
                Configuration.TaskId = etag;
            }
            else
            {
                // modified periodic backup, remove the old one
                record.DeletePeriodicBackupConfiguration(Configuration.TaskId);
            }

            if (string.IsNullOrEmpty(Configuration.Name))
            {
                Configuration.Name = record.EnsureUniqueTaskName(Configuration.GetDefaultTaskName());
            }
            else if (Configuration.Name.StartsWith(ServerWideBackupConfiguration.NamePrefix, StringComparison.OrdinalIgnoreCase))
            {
                throw new InvalidOperationException($"Can't {(newTask ? "create" : "update")} task: '{Configuration.Name}'. " +
                                                    $"A regular (non server-wide) backup task name can't start with prefix '{ServerWideBackupConfiguration.NamePrefix}'");
            }

            EnsureTaskNameIsNotUsed(record, Configuration.Name);

            record.PeriodicBackups.Add(Configuration);
            return(null);
        }
Example #2
0
        public override string UpdateDatabaseRecord(DatabaseRecord record, long etag)
        {
            if (Configuration.TaskId == 0)
            {
                // this is a new backup configuration
                Configuration.TaskId = etag;
            }
            else
            {
                // modified periodic backup, remove the old one
                record.DeletePeriodicBackupConfiguration(Configuration.TaskId);
            }

            if (string.IsNullOrEmpty(Configuration.Name))
            {
                Configuration.Name = record.EnsureUniqueTaskName(Configuration.GetDefaultTaskName());
            }
            else if (Configuration.Name.StartsWith(ServerWideBackupConfiguration.NamePrefix, StringComparison.OrdinalIgnoreCase))
            {
                throw new InvalidOperationException($"Can't update task name '{Configuration.Name}', because it is a server wide backup task");
            }

            EnsureTaskNameIsNotUsed(record, Configuration.Name);

            record.PeriodicBackups.Add(Configuration);
            return(null);
        }
        public override string UpdateDatabaseRecord(DatabaseRecord record, long etag)
        {
            if (Configuration.TaskId == 0)
            {
                // this is a new backup configuration
                Configuration.TaskId = etag;
                if (string.IsNullOrEmpty(Configuration.Name))
                {
                    Configuration.Name = Configuration.GetDefaultTaskName();
                }
                record.EnsureTaskNameIsNotUsed(Configuration.Name);
            }

            record.AddPeriodicBackupConfiguration(Configuration);
            return(null);
        }
        public override string UpdateDatabaseRecord(DatabaseRecord record, long etag)
        {
            if (Configuration.TaskId == 0)
            {
                // this is a new backup configuration
                Configuration.TaskId = etag;
            }
            else
            {
                // modified periodic backup, remove the old one
                record.DeletePeriodicBackupConfiguration(Configuration.TaskId);
            }

            if (string.IsNullOrEmpty(Configuration.Name))
            {
                Configuration.Name = record.EnsureUniqueTaskName(Configuration.GetDefaultTaskName());
            }

            record.EnsureTaskNameIsNotUsed(Configuration.Name);

            record.PeriodicBackups.Add(Configuration);
            return(null);
        }