コード例 #1
0
        public TableDbContext(ILoggerFactory log, ITableConfiguration tableConfiguration)
        {
            _log = log.CreateLogger <TableDbContext>();
            // https://stackoverflow.com/questions/54876798/how-can-i-use-the-new-di-to-inject-an-ilogger-into-an-azure-function-using-iwebj

            _tableConfiguration = tableConfiguration;
        }
コード例 #2
0
        public string GetInsertValues(ITableConfiguration table, IEnumerable <string> fieldsToInsert = null)
        {
            var columns = table.GetInsertColumns();

            if (fieldsToInsert != null && fieldsToInsert.Any())
            {
                columns = columns.Where(c => fieldsToInsert.Contains(c.DtoFieldName) || fieldsToInsert.Contains(c.DbColumnName));
            }

            return(string.Join(", ", columns.Select(c => $"@{c.DtoFieldName}")));
        }
コード例 #3
0
        public string GetSetColumns(ITableConfiguration table, IEnumerable <string> fieldsToSet = null, string tableAlias = null)
        {
            var columns = table.GetUpdateColumns();

            if (fieldsToSet != null && fieldsToSet.Any())
            {
                columns = table.Columns.Where(c => fieldsToSet.Contains(c.DtoFieldName) || fieldsToSet.Contains(c.DbColumnName));
            }

            return(string.Join("\n\t, ", columns.Select(c => $"{Encapsulation(c.DbColumnName, tableAlias)} = @{c.DtoFieldName}")));
        }
コード例 #4
0
 /// <summary>
 /// Constructs with DI.
 /// </summary>
 /// <param name="notificationScheduleQueue"></param>
 /// <param name="tableConfiguration"></param>
 public NotificationPoolRouter(ICloudQueueStorage notificationScheduleQueue, ITableConfiguration tableConfiguration)
 {
     _cloudQueueStorage  = notificationScheduleQueue;
     _tableConfiguration = tableConfiguration;
 }
コード例 #5
0
 /// <summary>
 /// Constructs with DI.
 /// </summary>
 /// <param name="cloudQueueStorage"></param>
 /// <param name="tableConfiguration"></param>
 public NotificationController(ICloudQueueStorage cloudQueueStorage, ITableConfiguration tableConfiguration)
 {
     _cloudQueueStorage  = cloudQueueStorage;
     _tableConfiguration = tableConfiguration;
 }
コード例 #6
0
 public TableLogReader(ITableConfiguration configuration)
 {
     _storagAccount = CloudStorageAccount.Parse(configuration.TableConnectionString);
     _tableClient   = _storagAccount.CreateCloudTableClient();
 }
コード例 #7
0
        public TableDbContext(ILoggerFactory log, ITableConfiguration tableConfiguration)
        {
            _log = log.CreateLogger <TableDbContext>();

            _tableConfiguration = tableConfiguration;
        }
コード例 #8
0
 /// <summary>
 /// Constructs with DI.
 /// </summary>
 /// <param name="tableConfiguration"></param>
 public TwilioSmsService(ITableConfiguration tableConfiguration)
 {
     _tableConfiguration = tableConfiguration;
 }
コード例 #9
0
        public string GetSelectColumnsList(ITableConfiguration table, string tableAlias = null)
        {
            var columns = table.GetSelectColumnsList();

            return(string.Join("\n\t, ", columns.Select(c => GetColumnFormated(c, tableAlias))));
        }
コード例 #10
0
        public string GetWhereClausePK(ITableConfiguration table, string tableAlias = null)
        {
            var pks = table.GetPrimaryKeysColumn();

            return("WHERE " + string.Join(" AND ", pks.Select(c => $"{Encapsulation(c.DbColumnName, tableAlias)} = @{c.DtoFieldName}")));
        }
コード例 #11
0
        public string GetTableName(ITableConfiguration table, string tableAlias = null)
        {
            string tableName = string.IsNullOrEmpty(table.Schema) ? table.Name : $"{table.Schema}.{table.Name}";

            return(string.IsNullOrEmpty(tableAlias) ? tableName : $"{tableName} {tableAlias}");
        }
コード例 #12
0
        public static IServiceCollection WithTableConfiguration(this IServiceCollection services, ITableConfiguration tableConfiguration)
        {
            services.RemoveAll <ITableConfiguration>();
            services.AddTransient(s => tableConfiguration);

            return(services);
        }
コード例 #13
0
 public TableLogger(ITableConfiguration configuration, ICorrelationConfiguration correlationConfiguration)
 {
     _correlationId = correlationConfiguration.CorrelationId;
     _storagAccount = CloudStorageAccount.Parse(configuration.TableConnectionString);
     _tableClient   = _storagAccount.CreateCloudTableClient();
 }