public static async Task <double> SecondsFromNow(this DateTime datetime)
        {
            //sql servers internal clock may differ from ours (especially when using docker containers)
            var currentDateTime = (await SqlRunner.FetchAllAsync <DateTime>($@"SELECT GETDATE()").ConfigureAwait(false)).First();

            return(Math.Abs(currentDateTime.Subtract(datetime).TotalSeconds));
        }
        public static async Task <double> SecondsFromNow(this DateTime dateTime)
        {
            // SQL Server's internal clock may differ from ours (especially when using docker containers)
            // ReSharper disable once StringLiteralTypo (SQL Server function)
            var currentDateTime = (await SqlRunner.FetchAllAsync <DateTime>(@"SELECT GETDATE();")).First();

            return(Math.Abs(currentDateTime.Subtract(dateTime).TotalSeconds));
        }
예제 #3
0
        public static async Task CreateAsync()
        {
            await ConnectionAwaiter.AwaitConnectionAsync(ConnectionStrings.Master, 30).ConfigureAwait(false);

            await SqlRunner.ExecuteAsync(ConnectionStrings.Master, $"CREATE DATABASE [{DataConstants.DatabaseName}]").ConfigureAwait(false);

            await BuildDatabaseAsync().ConfigureAwait(false);
        }
예제 #4
0
        private static async Task BuildDatabaseAsync()
        {
            await ConnectionAwaiter.AwaitConnectionAsync(ConnectionStrings.GPitFuturesSetup, 30).ConfigureAwait(false);

            await SqlRunner.ExecuteAsync(ConnectionStrings.GPitFuturesSetup, Properties.Resources.User).ConfigureAwait(false);

            await SqlRunner.ExecuteAsync(ConnectionStrings.GPitFuturesSetup, Properties.Resources.Create).ConfigureAwait(false);

            await SqlRunner.ExecuteAsync(ConnectionStrings.GPitFuturesSetup, Properties.Resources.ReferenceData).ConfigureAwait(false);
        }
예제 #5
0
 public static async Task AddUserAsync()
 {
     await SqlRunner.ExecuteAsync(ConnectionStrings.GPitFuturesSetup, "EXEC test.RestoreUserAndLogin;");
 }
예제 #6
0
 public static async Task DropServerRoleAsync()
 {
     await SqlRunner.ExecuteAsync(ConnectionStrings.GPitFuturesSetup, "EXEC test.DropRole;");
 }
예제 #7
0
 public static async Task ClearAsync()
 {
     await SqlRunner.ExecuteAsync(ConnectionStrings.GPitFuturesSetup, "EXEC test.ClearData;");
 }
예제 #8
0
        private static async Task DropDatabaseAsync()
        {
            await SqlRunner.ExecuteAsync(ConnectionStrings.Master, $"ALTER DATABASE [{DataConstants.DatabaseName}]  SET SINGLE_USER WITH ROLLBACK IMMEDIATE").ConfigureAwait(false);

            await SqlRunner.ExecuteAsync(ConnectionStrings.Master, $"DROP DATABASE [{DataConstants.DatabaseName}]").ConfigureAwait(false);
        }
예제 #9
0
        private static async Task DropUserAsync()
        {
            await SqlRunner.ExecuteAsync(ConnectionStrings.GPitFuturesSetup, "DROP USER NHSD").ConfigureAwait(false);

            await SqlRunner.ExecuteAsync(ConnectionStrings.Master, "DROP LOGIN NHSD").ConfigureAwait(false);
        }
예제 #10
0
 public static async Task DropServerRoleAsync()
 {
     await SqlRunner.ExecuteAsync(ConnectionStrings.GPitFuturesSetup, "ALTER SERVER ROLE sysadmin DROP MEMBER [NHSD];").ConfigureAwait(false);
 }
예제 #11
0
        public static async Task ClearAsync()
        {
            await SqlRunner.ExecuteAsync(ConnectionStrings.GPitFuturesSetup, Properties.Resources.Clear).ConfigureAwait(false);

            await SqlRunner.ExecuteAsync(ConnectionStrings.GPitFuturesSetup, "ALTER SERVER ROLE sysadmin ADD MEMBER [NHSD];").ConfigureAwait(false);
        }