protected virtual async Task <byte[][]> GetRawDataAsync(int fileId) { using (var ctx = new MsSqlDataContext(RepositoryConnectionString, new DataOptions(), CancellationToken.None)) { var script = "SELECT [Stream] FROM Files WHERE FileId = @FileId"; var scalar = await ctx.ExecuteScalarAsync(script, cmd => { cmd.Parameters.AddRange(new[] { ctx.CreateParameter("@FileId", SqlDbType.Int, fileId) }); }).ConfigureAwait(false); if (scalar == DBNull.Value) { return(new byte[0][]); } var buffer = (byte[])scalar; if (buffer.Length == 0) { return(new byte[0][]); } return(new [] { buffer }); } }
public DateTime LoadTimeLimit(CancellationToken cancellationToken) { using (var ctx = new MsSqlDataContext(_connectionStrings.Repository, _dataOptions, cancellationToken)) { var result = ctx.ExecuteScalarAsync(SqlScripts.SelectTimeLimit).GetAwaiter().GetResult(); var timeLimit = Convert.ToDateTime(result).ToUniversalTime(); Tracer.Write("UTC timelimit: " + timeLimit.ToString("yyyy-MM-dd HH:mm:ss")); return(timeLimit); } }
internal static bool ExecuteSql(string script) { using (var ctx = new MsSqlDataContext(CancellationToken.None)) { try { var result = ctx.ExecuteScalarAsync(script).GetAwaiter().GetResult(); if (result == null || Convert.IsDBNull(result)) { return(false); } return(ConvertToBool(result)); } catch (Exception ex) { throw new PackagingException("Error during SQL script execution. " + ex); } } }
internal static bool ExecuteSql(string script) { //TODO: [DIREF] get options from DI through constructor using (var ctx = new MsSqlDataContext(ConnectionStrings.ConnectionString, DataOptions.GetLegacyConfiguration(), CancellationToken.None)) { try { var result = ctx.ExecuteScalarAsync(script).GetAwaiter().GetResult(); if (result == null || Convert.IsDBNull(result)) { return(false); } return(ConvertToBool(result)); } catch (Exception ex) { throw new PackagingException("Error during SQL script execution. " + ex); } } }
public bool CheckFeature(CancellationToken cancellationToken) { try { using (var ctx = new MsSqlDataContext(_connectionStrings.Repository, _dataOptions, cancellationToken)) { var result = ctx.ExecuteScalarAsync(SqlScripts.CheckFeature).GetAwaiter().GetResult(); return(Convert.ToInt32(result) != 0); } } catch (AggregateException ae) { if (ae.InnerException is NotSupportedException) { return(false); } throw; } catch (NotSupportedException) { return(false); } }
private bool ExecuteSql(string script, ExecutionContext context) { var connectionInfo = new ConnectionInfo { DataSource = (string)context.ResolveVariable(DataSource), InitialCatalogName = (string)context.ResolveVariable(InitialCatalogName), UserName = (string)context.ResolveVariable(UserName), Password = (string)context.ResolveVariable(Password) }; var connectionString = MsSqlDataContext.GetConnectionString(connectionInfo) ?? ConnectionStrings.ConnectionString; //TODO: [DIREF] get options from DI through constructor using (var ctx = new MsSqlDataContext(connectionString, DataOptions.GetLegacyConfiguration(), CancellationToken.None)) { object result; try { result = ctx.ExecuteScalarAsync(script).GetAwaiter().GetResult(); } catch (Exception ex) { throw new PackagingException("Error during SQL script execution. " + ex); } if (result == null || Convert.IsDBNull(result)) { return(false); } if (result is bool @bool) { return(@bool); } if (result is byte @bybte) { return(@bybte > 0); } if (result is decimal @decimal) { return(@decimal > 0); } if (result is double @double) { return(@double > 0); } if (result is float @float) { return(@float > 0); } if (result is int @int) { return(@int > 0); } if (result is long @long) { return(@long > 0); } if (result is sbyte @sbyte) { return(@sbyte > 0); } if (result is short @short) { return(@short > 0); } if (result is uint @uint) { return(@uint > 0); } if (result is ulong @ulong) { return(@ulong > 0); } if (result is ushort @ushort) { return(@ushort > 0); } if (result is string @string) { return(!string.IsNullOrEmpty(@string)); } } return(false); }