private Vertica.Integration.Infrastructure.Configuration.Configuration Map(FileInfo configurationFile) { string description; string updatedBy; FileBasedConfigurationRepository.MetaFile metaFile = this.ReadMetaFile(configurationFile); Vertica.Integration.Infrastructure.Configuration.Configuration configuration = new Vertica.Integration.Infrastructure.Configuration.Configuration() { Id = Path.GetFileNameWithoutExtension(configurationFile.Name), JsonData = File.ReadAllText(configurationFile.FullName), Created = configurationFile.CreationTimeUtc, Updated = configurationFile.LastWriteTimeUtc, Name = (metaFile != null ? metaFile.Name : configurationFile.Name) }; if (metaFile != null) { description = metaFile.Description; } else { description = null; } configuration.Description = description; if (metaFile != null) { updatedBy = metaFile.UpdatedBy; } else { updatedBy = null; } configuration.UpdatedBy = updatedBy; return(configuration); }
public MetaFile(Vertica.Integration.Infrastructure.Configuration.Configuration configuration = null) { if (configuration != null) { this.Name = configuration.Name; this.Description = configuration.Description; this.UpdatedBy = configuration.UpdatedBy; } }
public Vertica.Integration.Infrastructure.Configuration.Configuration Save(Vertica.Integration.Infrastructure.Configuration.Configuration configuration) { if (configuration == null) { throw new ArgumentNullException("configuration"); } FileInfo fileInfo = this.ConfigurationFilePath(configuration.Id); File.WriteAllText(fileInfo.FullName, configuration.JsonData); File.WriteAllText(FileBasedConfigurationRepository.MetaFilePath(fileInfo).FullName, (new FileBasedConfigurationRepository.MetaFile(configuration)).ToString()); return(this.Get(configuration.Id)); }
public TConfiguration Get <TConfiguration>() where TConfiguration : class, new() { if (typeof(TConfiguration) == typeof(Vertica.Integration.Infrastructure.Configuration.Configuration)) { throw new ArgumentException("Getting a Configuration of type Configuration is not allowed."); } Vertica.Integration.Infrastructure.Configuration.Configuration configuration = this._repository.Get(this.GetId <TConfiguration>(false)); if (configuration != null) { return(JsonConvert.DeserializeObject <TConfiguration>(configuration.JsonData, this._serializerSettings)); } TConfiguration tConfiguration = Activator.CreateInstance <TConfiguration>(); this.Save <TConfiguration>(tConfiguration, "IntegrationService", false); return(tConfiguration); }
public Vertica.Integration.Infrastructure.Configuration.Configuration Save(Vertica.Integration.Infrastructure.Configuration.Configuration configuration) { if (configuration == null) { throw new ArgumentNullException("configuration"); } configuration.Name = configuration.Name.MaxLength(50); configuration.Description = configuration.Description.MaxLength(255); configuration.Updated = Time.UtcNow; configuration.UpdatedBy = configuration.UpdatedBy.MaxLength(50); using (IDbSession dbSession = this.OpenSession()) { using (IDbTransaction dbTransaction = dbSession.BeginTransaction(null)) { dbSession.Execute("\r\nIF NOT EXISTS (SELECT Id FROM Configuration WHERE (Id = @Id))\r\n\tBEGIN\r\n\t\tINSERT INTO Configuration (Id, Name, Description, JsonData, Created, Updated, UpdatedBy)\r\n\t\t\tVALUES (@Id, @Name, @Description, @JsonData, @Updated, @Updated, @UpdatedBy);\r\n\tEND\r\nELSE\r\n\tBEGIN\r\n\t\tUPDATE Configuration SET\r\n\t\t\tJsonData = @JsonData,\r\n\t\t\tUpdated = @Updated,\r\n UpdatedBy = @UpdatedBy,\r\n Name = @Name,\r\n\t\t\tDescription = @Description\r\n\t\tWHERE (Id = @Id)\r\n\tEND\r\n", configuration); dbTransaction.Commit(); } } return(configuration); }
public ArchiveCreated Backup(string id) { if (string.IsNullOrWhiteSpace(id)) { throw new ArgumentException("Value cannot be null or empty.", "id"); } Vertica.Integration.Infrastructure.Configuration.Configuration configuration = this._repository.Get(id); if (configuration == null) { return(null); } return(this._archive.Archive(configuration.Name, (BeginArchive archive) => { archive.Options.GroupedBy("Backup").ExpiresAfterMonths(1); archive.IncludeContent("data", configuration.JsonData, ".json"); string newLine = Environment.NewLine; string[] str = new string[] { configuration.Id, configuration.Name, configuration.Description, null, null }; str[3] = configuration.Updated.ToString(); str[4] = configuration.UpdatedBy; archive.IncludeContent("meta", string.Join(newLine, str), null); })); }