-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathSetSubcaseOriginator.ps1
61 lines (52 loc) · 1.71 KB
/
SetSubcaseOriginator.ps1
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
##############################################################################
## SCRIPT: SetSubcaseOriginator.ps1
##
## PURPOSE: SetSubcaseOriginator - workaround for a task manager bug
##
##############################################################################
param( [string] $id, [string] $originatorLoginName)
#source other scripts
. .\DovetailCommonFunctions.ps1
#validate input parameters
if ($id -eq "" -or $originatorLoginName -eq "")
{
write-host "Error: Missing Required parameters."
write-host "Usage:"
write-host
write-host "SetSubcaseOriginator.ps1 subcaseId originatorLoginName"
write-host
exit
}
function get-subcase-by-id([string] $id)
{
$dataSet = new-object FChoice.Foundation.Clarify.ClarifyDataSet($ClarifySession)
$subcaseGeneric = $dataSet.CreateGeneric("subcase")
$subcaseGeneric.AppendFilter("id_number", "Equals", $id)
$subcaseGeneric.Query();
$subcaseGeneric.Rows[0];
}
function get-user-by-loginName([string] $loginName)
{
$dataSet = new-object FChoice.Foundation.Clarify.ClarifyDataSet($ClarifySession)
$userGeneric = $dataSet.CreateGeneric("user")
$userGeneric.AppendFilter("login_name", "Equals", $loginName)
$userGeneric.Query();
$userGeneric.Rows[0];
}
$ClarifyApplication = create-clarify-application;
$ClarifySession = create-clarify-session $ClarifyApplication;
$subcase = get-subcase-by-id($id);
if ($subcase -eq $null)
{
write-host "Error: Could not locate subcase with id of $id"
exit
}
$user = get-user-by-loginName($originatorLoginName);
if ($user -eq $null)
{
write-host "Error: Could not locate user with loginName of $originatorLoginName";
exit
}
$userObjid = $user["objid"];
$subcase["subc_orig2user"] = $userObjid;
$subcase.Update();