1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using Relativity.API;
namespace Relativity.Samples.Core
{
public static class JobQueries
{
public static Boolean JobExists(IDBContext dbContext, Int32 workspaceArtifactID, Int32 artifactID)
{
Boolean retVal = false;
String sql = "SELECT COUNT(*) AS JobCount
FROM [SamplesApp]
WHERE [WorkspaceArtifactID] = @WorkspaceArtifactID AND [InstanceArtifactID] = @InstanceArtifactID";
SqlParameter workspaceArtifactIDParam = new SqlParameter("@WorkspaceArtifactID", SqlDbType.Int);
workspaceArtifactIDParam.Value = workspaceArtifactID;
SqlParameter instanceArtifactIDParam = new SqlParameter("@InstanceArtifactID", SqlDbType.Int);
instanceArtifactIDParam.Value = artifactID;
retVal = (dbContext.ExecuteSqlStatementAsScalar<Int32>(sql, new SqlParameter[] { workspaceArtifactIDParam, instanceArtifactIDParam }) > 0);
return retVal;
}
public static void InsertJob(IDBContext dbContext, Int32 workspaceArtifactID, Int32 artifactID)
{
String sql = "IF NOT EXISTS(SELECT TOP 1 * FROM [SamplesApp]
WHERE [WorkspaceArtifactID] = @WorkspaceArtifactID AND [InstanceArtifactID] = @InstanceArtifactID)"
+ " BEGIN"
+ " INSERT INTO [SamplesApp] (WorkspaceArtifactID, InstanceArtifactID, Status)"
+ " Values (@WorkspaceArtifactID, @InstanceArtifactID, 0)"
+ " END";
SqlParameter workspaceArtifactIDParam = new SqlParameter("@WorkspaceArtifactID", SqlDbType.Int);
workspaceArtifactIDParam.Value = workspaceArtifactID;
SqlParameter instanceArtifactIDParam = new SqlParameter("@InstanceArtifactID", SqlDbType.Int);
instanceArtifactIDParam.Value = artifactID;
dbContext.BeginTransaction();
try
{
dbContext.ExecuteNonQuerySQLStatement(sql, new SqlParameter[] { workspaceArtifactIDParam, instanceArtifactIDParam });
dbContext.CommitTransaction();
}
catch (Exception ex)
{
dbContext.RollbackTransaction();
throw;
}
}
public static void CreateTableIfNotExists(IDBContext dbContext) {
String sql = "IF NOT EXISTS(SELECT 'true' FROM [INFORMATION_SCHEMA].[TABLES] WHERE [TABLE_NAME] = 'SamplesApp')"
+ " BEGIN "
+ " CREATE TABLE SamplesApp ([WorkspaceArtifactID] INT NOT NULL, [InstanceArtifactID] INT NOT NULL,
[Status] INT NOT NULL)"
+ " END";
dbContext.BeginTransaction();
try {
dbContext.ExecuteNonQuerySQLStatement(sql);
dbContext.CommitTransaction();
}
catch (System.Exception ex) {
dbContext.RollbackTransaction();
throw;
}
}
}
}