예제 #1
0
 private void ResetDatabase(RepositoryBuilder builder)
 {
     using (var ctx = new MsSqlDataContext(Platform.RepositoryConnectionString, DataOptions.GetLegacyConfiguration(), CancellationToken.None))
     {
         ctx.ExecuteNonQueryAsync(MsSqlStatisticalDataProvider.DropScript).GetAwaiter().GetResult();
         ctx.ExecuteNonQueryAsync(MsSqlStatisticalDataProvider.CreationScript).GetAwaiter().GetResult();
     }
 }
 public async Task WriteDataAsync(IStatisticalDataRecord data, CancellationToken cancellation)
 {
     using (var ctx = new MsSqlDataContext(ConnectionString, DataOptions, CancellationToken.None))
     {
         await ctx.ExecuteNonQueryAsync(WriteDataScript, cmd =>
         {
             var now = DateTime.UtcNow;
             cmd.Parameters.AddRange(new[]
             {
                 ctx.CreateParameter("@DataType", SqlDbType.NVarChar, 50, data.DataType),
                 ctx.CreateParameter("@WrittenTime", SqlDbType.DateTime2, now),
                 ctx.CreateParameter("@CreationTime", SqlDbType.DateTime2, data.CreationTime ?? now),
                 ctx.CreateParameter("@Duration", SqlDbType.BigInt, (object)data.Duration?.Ticks ?? DBNull.Value),
                 ctx.CreateParameter("@RequestLength", SqlDbType.BigInt, (object)data.RequestLength ?? DBNull.Value),
                 ctx.CreateParameter("@ResponseLength", SqlDbType.BigInt, (object)data.ResponseLength ?? DBNull.Value),
                 ctx.CreateParameter("@ResponseStatusCode", SqlDbType.Int, (object)data.ResponseStatusCode ?? DBNull.Value),
                 ctx.CreateParameter("@Url", SqlDbType.NVarChar, 1000, (object)data.Url ?? DBNull.Value),
                 ctx.CreateParameter("@TargetId", SqlDbType.Int, (object)data.TargetId ?? DBNull.Value),
                 ctx.CreateParameter("@ContentId", SqlDbType.Int, (object)data.ContentId ?? DBNull.Value),
                 ctx.CreateParameter("@EventName", SqlDbType.NVarChar, 50, (object)data.EventName ?? DBNull.Value),
                 ctx.CreateParameter("@ErrorMessage", SqlDbType.NVarChar, 500, (object)data.ErrorMessage ?? DBNull.Value),
                 ctx.CreateParameter("@GeneralData", SqlDbType.NVarChar, (object)data.GeneralData ?? DBNull.Value),
             });
         }).ConfigureAwait(false);
     }
 }
 internal void FinishTask(int versionId, CancellationToken cancellationToken)
 {
     using (var ctx = new MsSqlDataContext(_connectionStrings.Repository, _dataOptions, cancellationToken))
         ctx.ExecuteNonQueryAsync(SqlScripts.FinishTask, cmd =>
         {
             cmd.Parameters.Add("@VersionId", SqlDbType.Int, versionId);
         }).GetAwaiter().GetResult();
 }
예제 #4
0
 internal static void FinishTask(int versionId, CancellationToken cancellationToken)
 {
     using (var ctx = new MsSqlDataContext(cancellationToken))
         ctx.ExecuteNonQueryAsync(SqlScripts.FinishTask, cmd =>
         {
             cmd.Parameters.Add("@VersionId", SqlDbType.Int, versionId);
         }).GetAwaiter().GetResult();
 }
            /* ========================================================================================= */

            public static void CreateTempTask(int versionId, int rank, CancellationToken cancellationToken)
            {
                using (var ctx = new MsSqlDataContext(ConnectionStrings.ConnectionString, DataOptions.GetLegacyConfiguration(), cancellationToken))
                    ctx.ExecuteNonQueryAsync(SqlScripts.FinishTask, cmd =>
                    {
                        cmd.Parameters.Add("@VersionId", SqlDbType.Int, versionId);
                        cmd.Parameters.Add("@Rank", SqlDbType.Int, rank);
                    }).GetAwaiter().GetResult();
            }
 public async Task CleanupRecordsAsync(string dataType, DateTime retentionTime, CancellationToken cancellation)
 {
     using (var ctx = new MsSqlDataContext(ConnectionString, DataOptions, CancellationToken.None))
     {
         await ctx.ExecuteNonQueryAsync(CleanupRecordsScript, cmd =>
         {
             cmd.Parameters.AddRange(new[]
             {
                 ctx.CreateParameter("@DataType", SqlDbType.NVarChar, 50, dataType),
                 ctx.CreateParameter("@RetentionTime", SqlDbType.DateTime2, retentionTime),
             });
         }).ConfigureAwait(false);
     }
 }
 public async Task CleanupAggregationsAsync(string dataType, TimeResolution resolution, DateTime retentionTime,
                                            CancellationToken cancellation)
 {
     using (var ctx = new MsSqlDataContext(ConnectionString, DataOptions, CancellationToken.None))
     {
         await ctx.ExecuteNonQueryAsync(CleanupAggregationsScript, cmd =>
         {
             cmd.Parameters.AddRange(new[]
             {
                 ctx.CreateParameter("@DataType", DbType.String, dataType),
                 ctx.CreateParameter("@Resolution", DbType.AnsiString, resolution.ToString()),
                 ctx.CreateParameter("@RetentionTime", SqlDbType.DateTime2, retentionTime),
             });
         }).ConfigureAwait(false);
     }
 }
 public async Task WriteAggregationAsync(Aggregation aggregation, CancellationToken cancellation)
 {
     using (var ctx = new MsSqlDataContext(ConnectionString, DataOptions, CancellationToken.None))
     {
         await ctx.ExecuteNonQueryAsync(WriteAggregationScript, cmd =>
         {
             cmd.Parameters.AddRange(new[]
             {
                 ctx.CreateParameter("@DataType", DbType.String, aggregation.DataType),
                 ctx.CreateParameter("@Resolution", DbType.String, aggregation.Resolution.ToString()),
                 ctx.CreateParameter("@Date", DbType.DateTime2, aggregation.Date),
                 ctx.CreateParameter("@Data", DbType.String, (object)aggregation.Data ?? DBNull.Value),
             });
         }).ConfigureAwait(false);
     }
 }
예제 #9
0
        private async Tasks.Task SaveSecretAsync(string clientId, ClientSecret secret, bool deleteBefore,
                                                 MsSqlDataContext ctx)
        {
            var sql = deleteBefore
                ? @"-- MsSqlClientStoreDataProvider.SaveSecret (delete and insert)
DELETE FROM [ClientSecrets] WHERE Id = @Id
INSERT INTO [ClientSecrets] ([Id], [ClientId], [Value], [CreationDate], [ValidTill])
                      VALUES( @Id,  @ClientId,  @Value,  @CreationDate,  @ValidTill)
"
                : @"-- MsSqlClientStoreDataProvider.SaveSecret (insert only)
INSERT INTO [ClientSecrets] ([Id], [ClientId], [Value], [CreationDate], [ValidTill])
                      VALUES( @Id,  @ClientId,  @Value,  @CreationDate,  @ValidTill)
";
            await ctx.ExecuteNonQueryAsync(sql, cmd =>
            {
                cmd.Parameters.Add(ctx.CreateParameter("@ClientId", DbType.AnsiString, 50, clientId));
                cmd.Parameters.Add(ctx.CreateParameter("@Id", DbType.String, 450, secret.Id));
                cmd.Parameters.Add(ctx.CreateParameter("@Value", DbType.String, 450, secret.Value));
                cmd.Parameters.Add(ctx.CreateParameter("@CreationDate", DbType.DateTime2, secret.CreationDate));
                cmd.Parameters.Add(ctx.CreateParameter("@ValidTill", DbType.DateTime2, secret.ValidTill));
            }).ConfigureAwait(false);
        }
 internal void StartBackgroundTasks(CancellationToken cancellationToken)
 {
     using (var ctx = new MsSqlDataContext(_connectionStrings.Repository, _dataOptions, cancellationToken))
         ctx.ExecuteNonQueryAsync(SqlScripts.CreateTasks).GetAwaiter().GetResult();
 }
 public void DropTables(CancellationToken cancellationToken)
 {
     using (var ctx = new MsSqlDataContext(_connectionStrings.Repository, _dataOptions, cancellationToken))
         ctx.ExecuteNonQueryAsync(SqlScripts.DropTables).GetAwaiter().GetResult();
 }
예제 #12
0
 internal static void StartBackgroundTasks(CancellationToken cancellationToken)
 {
     using (var ctx = new MsSqlDataContext(cancellationToken))
         ctx.ExecuteNonQueryAsync(SqlScripts.CreateTasks).GetAwaiter().GetResult();
 }
예제 #13
0
 internal static void InstallTables(CancellationToken cancellationToken)
 {
     using (var ctx = new MsSqlDataContext(cancellationToken))
         ctx.ExecuteNonQueryAsync(SqlScripts.CreateTables).GetAwaiter().GetResult();
 }
예제 #14
0
 public static void DropTables(CancellationToken cancellationToken)
 {
     using (var ctx = new MsSqlDataContext(cancellationToken))
         ctx.ExecuteNonQueryAsync(SqlScripts.DropTables).GetAwaiter().GetResult();
 }
 internal static void StartBackgroundTasks(CancellationToken cancellationToken)
 {
     using (var ctx = new MsSqlDataContext(ConnectionStrings.ConnectionString, DataOptions.GetLegacyConfiguration(), cancellationToken))
         ctx.ExecuteNonQueryAsync(SqlScripts.CreateTasks).GetAwaiter().GetResult();
 }
 public static void DropTables(CancellationToken cancellationToken)
 {
     using (var ctx = new MsSqlDataContext(ConnectionStrings.ConnectionString, DataOptions.GetLegacyConfiguration(), cancellationToken))
         ctx.ExecuteNonQueryAsync(SqlScripts.DropTables).GetAwaiter().GetResult();
 }