private void LoadData() { foreach (var line in File.ReadAllLines(_file)) { _repository.Save(EntityUtils.FromString <TEntity, TId>(line)); } }
private ConsolidationParams ReadConsolidationConfig() { var result = new ConsolidationParams(); var sql = $"select entity_type, column_name from {GetQualifiedTableName(ConsolidationConfig)}"; DatabaseUtils.EnumerateResults(ConnectionString, sql, TimeoutSecs, r => { var e = EntityUtils.FromString((string)r["entity_type"]); if (EntityUtils.CanParticipateInConsolidation(e)) { string colName = (string)DatabaseUtils.SafeRead(r, "column_name", string.Empty); if (!string.IsNullOrEmpty(colName)) { var entry = new ConsolidationEntry { Entity = e.ToString(), Column = colName }; result.Entries.Add(entry); } } }); result.Enabled = result.Entries.Count > 0; return(result); }
private void CheckConfigConsolidation() { foreach (var entry in _configuration.Consolidation.Entries) { try { var e = EntityUtils.FromString(entry.Entity); if (!EntityUtils.CanParticipateInConsolidation(e)) { throw new ApplicationException(string.Format("Entity in configuration, consolidation section does not participate in consolidation: {0}", entry.Entity)); } if (!entry.None && !EntityUtils.GetValidConsolidationColumns(e).Contains(entry.Column)) { throw new ApplicationException(string.Format("Entity in configuration, consolidation section does not have specified column: {0} - {1}", entry.Entity, entry.Column)); } } catch (ArgumentException) { throw new ApplicationException(string.Format("Could not identify entity in configuration, consolidation section: {0}", entry.Entity)); } } }
private void WriteConsolidationConfig(ConsolidationParams c) { var qualifiedConfigTable = GetQualifiedTableName(ConsolidationConfig); var sql = $"delete from {qualifiedConfigTable}"; DatabaseUtils.ExecuteSql(ConnectionString, sql, TimeoutSecs); if (c.Enabled) { foreach (var entry in c.Entries) { var e = EntityUtils.FromString(entry.Entity); if (EntityUtils.CanParticipateInConsolidation(e)) { sql = $"insert into {qualifiedConfigTable} (entity_type, column_name) values (@E, @C)"; SqlParameter[] p = { new SqlParameter("@E", entry.Entity), new SqlParameter("@C", entry.Column) }; DatabaseUtils.ExecuteSql(ConnectionString, sql, TimeoutSecs, p); } } } }