@csmart/ngc-smart-victim 1.18.7 → 1.18.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (99) hide show
  1. package/karma.conf.js +32 -0
  2. package/ng-package.json +7 -0
  3. package/package.json +6 -22
  4. package/src/lib/caseNote/caseNote.component.css +22 -0
  5. package/src/lib/caseNote/caseNote.component.html +188 -0
  6. package/src/lib/caseNote/caseNote.component.ts +265 -0
  7. package/src/lib/common-dialog/common-dialog.component.css +10 -0
  8. package/src/lib/common-dialog/common-dialog.component.html +23 -0
  9. package/src/lib/common-dialog/common-dialog.component.spec.ts +25 -0
  10. package/src/lib/common-dialog/common-dialog.component.ts +21 -0
  11. package/src/lib/common-dialog/common-dialog.module.ts +22 -0
  12. package/src/lib/common-dialog/common-dialog.service.ts +35 -0
  13. package/src/lib/contact/contact.component.css +22 -0
  14. package/src/lib/contact/contact.component.html +124 -0
  15. package/src/lib/contact/contact.component.ts +176 -0
  16. package/src/lib/email-notification.service.ts +42 -0
  17. package/src/lib/email.services.ts +51 -0
  18. package/src/lib/http.service.ts +34 -0
  19. package/src/lib/intake.service.ts +82 -0
  20. package/src/lib/loader.service.ts +11 -0
  21. package/src/lib/safetyPlan/serviceProvider.component.ts +94 -0
  22. package/src/lib/safetyPlan/victimSafetyPlan.component.css +27 -0
  23. package/src/lib/safetyPlan/victimSafetyPlan.component.html +85 -0
  24. package/src/lib/safetyPlan/victimSafetyPlan.component.ts +178 -0
  25. package/src/lib/safetyPlan/victimSafetyPlanDetail.component.html +234 -0
  26. package/src/lib/safetyPlan/victimSafetyPlanDetail.component.ts +492 -0
  27. package/src/lib/shared/app.shared.module.ts +111 -0
  28. package/src/lib/shared/validators/date.validator.ts +73 -0
  29. package/src/lib/shared/validators/index.ts +1 -0
  30. package/src/lib/smart-victim-delete-confirm.component.ts +35 -0
  31. package/src/lib/smart-victim-detail/smart-victim-detail.component.css +43 -0
  32. package/src/lib/smart-victim-detail/smart-victim-detail.component.html +869 -0
  33. package/src/lib/smart-victim-detail/smart-victim-detail.component.spec.ts +25 -0
  34. package/src/lib/smart-victim-detail/smart-victim-detail.component.ts +1387 -0
  35. package/src/lib/smart-victim.component.css +245 -0
  36. package/src/lib/smart-victim.component.html +132 -0
  37. package/src/lib/smart-victim.component.spec.ts +25 -0
  38. package/src/lib/smart-victim.component.ts +333 -0
  39. package/src/lib/smart-victim.model.ts +301 -0
  40. package/src/lib/smart-victim.module.ts +110 -0
  41. package/src/lib/smart-victim.service.spec.ts +12 -0
  42. package/src/lib/smart-victim.service.ts +557 -0
  43. package/src/lib/victim-routing.module.ts +35 -0
  44. package/{lib/victimSearch/VictimSearchFilter.d.ts → src/lib/victimSearch/VictimSearchFilter.ts} +9 -7
  45. package/src/lib/victimSearch/victimSearchForm.component.html +35 -0
  46. package/src/lib/victimSearch/victimSearchForm.component.ts +41 -0
  47. package/{public-api.d.ts → src/public-api.ts} +12 -7
  48. package/src/test.ts +16 -0
  49. package/tsconfig.lib.json +36 -0
  50. package/tsconfig.spec.json +17 -0
  51. package/tslint.json +17 -0
  52. package/esm2022/csmart-ngc-smart-victim.mjs +0 -5
  53. package/esm2022/lib/caseNote/caseNote.component.mjs +0 -194
  54. package/esm2022/lib/common-dialog/common-dialog.component.mjs +0 -23
  55. package/esm2022/lib/common-dialog/common-dialog.module.mjs +0 -34
  56. package/esm2022/lib/common-dialog/common-dialog.service.mjs +0 -33
  57. package/esm2022/lib/contact/contact.component.mjs +0 -140
  58. package/esm2022/lib/email.services.mjs +0 -42
  59. package/esm2022/lib/intake.service.mjs +0 -57
  60. package/esm2022/lib/safetyPlan/serviceProvider.component.mjs +0 -99
  61. package/esm2022/lib/safetyPlan/victimSafetyPlan.component.mjs +0 -116
  62. package/esm2022/lib/safetyPlan/victimSafetyPlanDetail.component.mjs +0 -340
  63. package/esm2022/lib/shared/app.shared.module.mjs +0 -215
  64. package/esm2022/lib/shared/validators/date.validator.mjs +0 -59
  65. package/esm2022/lib/shared/validators/index.mjs +0 -2
  66. package/esm2022/lib/smart-victim-delete-confirm.component.mjs +0 -44
  67. package/esm2022/lib/smart-victim-detail/smart-victim-detail.component.mjs +0 -1104
  68. package/esm2022/lib/smart-victim.component.mjs +0 -316
  69. package/esm2022/lib/smart-victim.model.mjs +0 -133
  70. package/esm2022/lib/smart-victim.module.mjs +0 -128
  71. package/esm2022/lib/smart-victim.service.mjs +0 -352
  72. package/esm2022/lib/victim-routing.module.mjs +0 -41
  73. package/esm2022/lib/victimSearch/VictimSearchFilter.mjs +0 -3
  74. package/esm2022/lib/victimSearch/victimSearchForm.component.mjs +0 -38
  75. package/esm2022/public-api.mjs +0 -11
  76. package/fesm2022/csmart-ngc-smart-victim.mjs +0 -3263
  77. package/fesm2022/csmart-ngc-smart-victim.mjs.map +0 -1
  78. package/index.d.ts +0 -5
  79. package/lib/caseNote/caseNote.component.d.ts +0 -51
  80. package/lib/common-dialog/common-dialog.component.d.ts +0 -14
  81. package/lib/common-dialog/common-dialog.module.d.ts +0 -8
  82. package/lib/common-dialog/common-dialog.service.d.ts +0 -11
  83. package/lib/contact/contact.component.d.ts +0 -40
  84. package/lib/email.services.d.ts +0 -11
  85. package/lib/intake.service.d.ts +0 -57
  86. package/lib/safetyPlan/serviceProvider.component.d.ts +0 -19
  87. package/lib/safetyPlan/victimSafetyPlan.component.d.ts +0 -54
  88. package/lib/safetyPlan/victimSafetyPlanDetail.component.d.ts +0 -62
  89. package/lib/shared/app.shared.module.d.ts +0 -33
  90. package/lib/shared/validators/date.validator.d.ts +0 -9
  91. package/lib/shared/validators/index.d.ts +0 -1
  92. package/lib/smart-victim-delete-confirm.component.d.ts +0 -12
  93. package/lib/smart-victim-detail/smart-victim-detail.component.d.ts +0 -129
  94. package/lib/smart-victim.component.d.ts +0 -69
  95. package/lib/smart-victim.model.d.ts +0 -205
  96. package/lib/smart-victim.module.d.ts +0 -49
  97. package/lib/smart-victim.service.d.ts +0 -71
  98. package/lib/victim-routing.module.d.ts +0 -7
  99. package/lib/victimSearch/victimSearchForm.component.d.ts +0 -14
@@ -0,0 +1,333 @@
1
+ import { DOCUMENT, DatePipe } from '@angular/common';
2
+ import { Component, OnInit, OnChanges, ViewChild, Input, Output, AfterViewInit, Inject} from '@angular/core';
3
+ import { ActivatedRoute,Router } from '@angular/router';
4
+ import { MatTableDataSource} from '@angular/material/table';
5
+ import { MatSort } from '@angular/material/sort';
6
+ import { MAT_DIALOG_DATA, MatDialogRef, MatDialog } from '@angular/material/dialog';
7
+ import {
8
+ SelectedOffender,
9
+ LoginStaff,
10
+ SmartAccessControlConfig,
11
+ AccessType,
12
+ } from "@csmart/ngc-smart-core";
13
+ import { NgcSmartVictimService } from './smart-victim.service';
14
+ import { ElementsVictim, VictimListFilter, Victim, SMART_WARRANT_URL } from './smart-victim.model';
15
+ import { SmartVictimDeleteConfirmComponent } from './smart-victim-delete-confirm.component';
16
+ //import { SmartVictimDetailComponent } from './smart-victim-detail/smart-victim-detail.component';
17
+
18
+ import {
19
+ IntakeStepStatusModel,
20
+ IntakeStep,
21
+ IntakeServicesComponent,
22
+ } from './intake.service';
23
+ import { MatPaginator } from '@angular/material/paginator';
24
+ import { MatSnackBar } from '@angular/material/snack-bar';
25
+ @Component({
26
+ selector: "csmart-victim",
27
+ templateUrl: "./smart-victim.component.html",
28
+ styleUrls: ["./smart-victim.component.css"],
29
+ })
30
+ export class NgcSmartVictimComponent implements OnInit, OnChanges, AfterViewInit {
31
+ @Input() offenderId: number;
32
+ @Input() staffId: number;
33
+ @Input() staffRole: string;
34
+ @Input() showCaseNote: string;
35
+ @Input() showSafetyPlan: string;
36
+ //@Input() showAdd: string;
37
+ @Input() showAdd: boolean;
38
+ @Input() showEdit: string;
39
+ @Input() showRelationshipColumn: boolean;
40
+ @Input() showOffenderNameColumn: boolean;
41
+ @Input() showOffenderPhoneColumn: boolean;
42
+ @Input() showSearchForm: boolean;
43
+ @Input() accessByModule: string;
44
+ @Input() intakeFlag: string;
45
+ @Input() appModuleId = '';
46
+ @Input() activatedRoute: ActivatedRoute = null;
47
+
48
+ @ViewChild(MatPaginator) paginator: MatPaginator;
49
+ @ViewChild(MatSort) sort: MatSort;
50
+ // @ViewChild(SmartVictimDetailComponent) child;
51
+
52
+ displayedColumns: string[];
53
+ victims: Victim[] = [];
54
+ victimDetail = <Victim>{};
55
+ showDetail = false;
56
+ victimListFilter: VictimListFilter = new VictimListFilter();
57
+ victimListDataSource = new MatTableDataSource();
58
+ doSpin: boolean = false;
59
+ showListFlag: boolean = false;
60
+ msg: string = "";
61
+ selectedOffender: SelectedOffender;
62
+ isIntake = false;
63
+
64
+ updateAccessControlConfig: SmartAccessControlConfig;
65
+ createAccessControlConfig: SmartAccessControlConfig;
66
+ deleteAccessControlConfig: SmartAccessControlConfig;
67
+ constructor(
68
+ private dialog: MatDialog,
69
+ private victimService: NgcSmartVictimService,
70
+ private router: Router,
71
+ private route: ActivatedRoute,
72
+ private snackBar: MatSnackBar,
73
+ private intakeService: IntakeServicesComponent,
74
+ @Inject(SMART_WARRANT_URL) private smartWarrantUrl: string,
75
+ @Inject(DOCUMENT) private document: any
76
+ ) {}
77
+
78
+ // private onChange(filter: VictimListFilter) {
79
+ // console.log('filter in onchange');
80
+ // console.log(filter);
81
+ // this.getVictimList(filter);
82
+ // }
83
+
84
+ applyFilter(filterValue: string) {
85
+ this.victimListDataSource.filter = filterValue.trim().toLowerCase();
86
+ }
87
+ addRecord() {
88
+ this.showDetail = true;
89
+ this.showAdd = false;
90
+ this.victimDetail = null;
91
+ this.showListFlag = false;
92
+ }
93
+
94
+ editVictimDetail(record) {
95
+ console.log("victim edit record");
96
+ console.log(record);
97
+ console.log(record.victimId);
98
+ this.victimDetail = record;
99
+ this.showDetail = true;
100
+ this.showAdd = false;
101
+ this.showListFlag = false;
102
+ }
103
+
104
+ save(detail: Victim) {
105
+ this.showDetail = false;
106
+ this.showAdd = true;
107
+ this.showListFlag = true;
108
+ }
109
+
110
+ cancel() {
111
+ this.showDetail = false;
112
+ this.victimDetail = <Victim>{};
113
+ }
114
+
115
+ ngAfterViewInit() {
116
+ this.victimListDataSource.paginator = this.paginator;
117
+ this.victimListDataSource.sort = this.sort;
118
+ }
119
+
120
+ ngOnChanges() {
121
+ this.updateAccessControlConfig = {
122
+ accessType: AccessType.UPDATE,
123
+ appModuleId: this.appModuleId,
124
+ roleId: null,
125
+ route: this.activatedRoute.snapshot,
126
+ };
127
+ this.createAccessControlConfig = {
128
+ accessType: AccessType.CREATE,
129
+ appModuleId: this.appModuleId,
130
+ roleId: null,
131
+ route: this.activatedRoute.snapshot,
132
+ };
133
+ this.deleteAccessControlConfig = {
134
+ accessType: AccessType.DELETE,
135
+ appModuleId: this.appModuleId,
136
+ roleId: null,
137
+ route: this.activatedRoute.snapshot,
138
+ };
139
+ }
140
+
141
+ ngOnInit() {
142
+ const queryParams = this.route.snapshot.queryParams;
143
+ if(queryParams['routeTo']) {
144
+ this.router.navigate([queryParams['routeTo']]);
145
+ }
146
+ const selData = this.route.snapshot.data;
147
+ this.selectedOffender = selData['selectedOffender'];
148
+ var myPath = this.router.url.slice(-10);
149
+
150
+
151
+ console.log("offender id at smart-victim");
152
+ console.log(this.offenderId);
153
+ console.log("staff id at smart-victim");
154
+ console.log(this.staffId);
155
+ console.log("insakeFlag at smart-victim");
156
+ console.log(this.intakeFlag);
157
+
158
+
159
+ console.log("smart-victim ngOnInit");
160
+ console.log(this.intakeFlag);
161
+ console.log(myPath);
162
+
163
+ // if (this.intakeFlag == "true") {
164
+ // this.isIntake = true;
165
+ // }
166
+
167
+ this.isIntake = this.selectedOffender.intakeFlag;
168
+
169
+ this.displayedColumns = ["lastName", "firstName"];
170
+
171
+ if (
172
+ this.showRelationshipColumn == true ||
173
+ myPath == "victimList" ||
174
+ myPath == "victimHome"
175
+ ) {
176
+ this.displayedColumns.push("relationship");
177
+ }
178
+ if (this.showOffenderNameColumn == true) {
179
+ this.displayedColumns.push("offenderName");
180
+ }
181
+
182
+ if (
183
+ this.showOffenderPhoneColumn == true ||
184
+ myPath == "victimList" ||
185
+ myPath == "victimHome"
186
+ ) {
187
+ this.displayedColumns.push("homePhone");
188
+ }
189
+
190
+ this.displayedColumns.push("victimId");
191
+
192
+ if (this.showSearchForm == true) {
193
+ this.showListFlag = false;
194
+ }
195
+
196
+ console.log("this.showSearchForm");
197
+ console.log(this.showSearchForm);
198
+ console.log("myPath");
199
+ console.log(myPath);
200
+
201
+ if (
202
+ this.showSearchForm == false ||
203
+ myPath == "victimList" ||
204
+ myPath == "victimHome"
205
+ ) {
206
+ var myOffenderId;
207
+ if (this.offenderId) {
208
+ myOffenderId = this.offenderId;
209
+ } else {
210
+ console.log("back from previous page");
211
+ this.showAdd = true;
212
+ this.showRelationshipColumn = true;
213
+ //this.displayedColumns.push("relationship");
214
+ this.showOffenderPhoneColumn = true;
215
+ // this.displayedColumns.push("homePhone");
216
+ this.accessByModule = "true";
217
+ this.showEdit = "true";
218
+ this.showCaseNote = "true";
219
+ this.showSafetyPlan = "true";
220
+
221
+ myOffenderId = selData.selectedOffender.offenderId;
222
+ }
223
+
224
+ const victimListFilter: VictimListFilter = {
225
+ offenderId: myOffenderId,
226
+ lastName: null,
227
+ firstName: null,
228
+ pdid: null,
229
+ birthDate: null,
230
+ };
231
+
232
+ console.log("victimListFilter in smar-victim componenet");
233
+ console.log(victimListFilter);
234
+
235
+ this.victimService
236
+ .getVictimListByFilter(victimListFilter)
237
+ .subscribe((data: Victim[]) => {
238
+ this.victims = data;
239
+ this.victimListDataSource.data = data;
240
+
241
+ console.log("victim data at line 245");
242
+ console.log(this.victims);
243
+ console.log("showListFlag");
244
+ console.log(this.showListFlag);
245
+ this.showListFlag = true;
246
+ if (data.length == 0) {
247
+ this.msg = "No Record Found!";
248
+ }
249
+ });
250
+ } else {
251
+ console.log("find filter");
252
+ console.log(this.victimListFilter);
253
+
254
+ if (this.showListFlag === true) {
255
+ if (this.victimListFilter != null) {
256
+ this.victimService
257
+ .getVictimListByFilter(this.victimListFilter)
258
+ .subscribe((data: Victim[]) => {
259
+ this.victims = data;
260
+ this.victimListDataSource.data = data;
261
+
262
+ console.log("victim data at line 279");
263
+ console.log(data);
264
+ });
265
+ }
266
+ }
267
+ }
268
+ }
269
+ // phone number format on the victim list
270
+ formatPhoneNumber(phoneNumberString) {
271
+ if (!phoneNumberString) return "";
272
+ var cleaned = ("" + phoneNumberString).replace(/\D/g, "");
273
+ var match = cleaned.match(/^(\d{3})(\d{3})(\d{4})$/);
274
+ if (match) {
275
+ return "(" + match[1] + ") " + match[2] + "-" + match[3];
276
+ }
277
+ return "";
278
+ }
279
+
280
+ saveIntake() {
281
+ if (!this.isIntake) {
282
+ return;
283
+ }
284
+ const intakeStep = <IntakeStepStatusModel>{
285
+ intakeStepId: IntakeStep.VictimInformation,
286
+ offenderId: this.offenderId,
287
+ modifiedBy: this.staffId,
288
+ };
289
+ this.intakeService
290
+ .updateIntakeSteps(this.offenderId, intakeStep)
291
+ .subscribe((res) => {
292
+ console.log("save intake step.");
293
+ this.snackBar.open("Status Saved.", "", {
294
+ duration: 3000,
295
+ });
296
+ //this.router.navigate(['/warrant '], { queryParams: { intake: 1 } });
297
+
298
+ this.document.location.href =
299
+ `${this.smartWarrantUrl}/?offenderId=${this.offenderId}&intakeFlag=${this.isIntake}&routeTo=warrant`;
300
+ });
301
+ }
302
+
303
+ goToCaseNote(victimId: number) {
304
+ this.router.navigate(["casenote", victimId, this.offenderId]);
305
+ }
306
+
307
+ goToSaftyPlan(victimId: number) {
308
+ this.router.navigate(["saftyPlan", victimId]);
309
+ }
310
+
311
+ getVictimList(filter: VictimListFilter) {
312
+ this.victimListFilter = filter;
313
+ console.log("this.victimListFilter inside getVictimList");
314
+ console.log(this.victimListFilter);
315
+ this.doSpin = true;
316
+ this.victimService.getVictimListByFilter(filter).subscribe(
317
+ (data: Victim[]) => {
318
+ this.doSpin = !this.doSpin;
319
+
320
+ if (data.length > 0) {
321
+ this.showListFlag = true;
322
+ this.victimListDataSource.data = data;
323
+
324
+ } else {
325
+ this.msg = "No record found!";
326
+ }
327
+ },
328
+ (err) => {
329
+ this.doSpin = !this.doSpin;
330
+ }
331
+ );
332
+ }
333
+ }
@@ -0,0 +1,301 @@
1
+ import { InjectionToken } from '@angular/core';
2
+
3
+
4
+ export const SMART_OFFENDER_SERVICE_URL = new InjectionToken<string>('smart offender service url');
5
+ export const SMART_LOOKUP_SERVICE_URL = new InjectionToken<string>('smart lookup service url');
6
+ export const SMART_VICTIM_SERVICE_URL = new InjectionToken<string>('smart victim service url');
7
+ export const SMART_WARRANT_URL = new InjectionToken<string>('smart warrant web url');
8
+
9
+
10
+ export interface ElementsVictim {
11
+ victimId: string;
12
+ victimType: string;
13
+ victimProvider: string;
14
+ victimPolicyHolder: string;
15
+ startDate: string;
16
+ endDate: string;
17
+ isActive: boolean;
18
+ }
19
+
20
+ export class VictimListFilter {
21
+
22
+ offenderId: number;
23
+ lastName: string;
24
+ firstName: string;
25
+ pdid: string;
26
+ birthDate: Date;
27
+
28
+ }
29
+
30
+
31
+
32
+ export class VictimAdvocate {
33
+ constructor(public victimAdvocateId: number,
34
+
35
+ public lastName: string,
36
+
37
+ public firstName: string,
38
+
39
+ public prefixId: string,
40
+
41
+ public suffixId: string,
42
+
43
+ public addressId: number,
44
+
45
+ public noPhoneFlag: boolean,
46
+
47
+ public homePhone: string,
48
+
49
+ public workPhone: string,
50
+
51
+ public cellPhone: string,
52
+
53
+ public email: string,
54
+
55
+ public modifiedBy: number
56
+
57
+
58
+ ) { }
59
+ }
60
+
61
+
62
+ export class VictimWeaponUse {
63
+ constructor(
64
+ // public victimWeaponUseId: number,
65
+
66
+ public victimId: number,
67
+
68
+ public weaponTypeId: string,
69
+
70
+ public otherWeapon: string,
71
+
72
+ public modifiedBy: number
73
+
74
+ ) { }
75
+ }
76
+
77
+ export class VictimDrugUse {
78
+ constructor(
79
+ //public victimDrugUseId: number,
80
+
81
+ public victimId: number,
82
+
83
+ public drugTypeId: string,
84
+
85
+ public otherDrug: string,
86
+
87
+ public modifiedBy: number
88
+
89
+ ) { }
90
+ }
91
+
92
+
93
+
94
+
95
+ export class VictimSupport {
96
+ constructor(
97
+ // public victimSupportId: number,
98
+
99
+ public victimId: number,
100
+
101
+ public victimSupportTypeId: string,
102
+
103
+ public modifiedBy: number
104
+
105
+ ) { }
106
+ }
107
+
108
+ export class VictimGuardian {
109
+ constructor(public victimGuardianId: number,
110
+
111
+ public lastName: string,
112
+
113
+ public firstName: string,
114
+
115
+ public prefixId: string,
116
+
117
+ public suffixId: string,
118
+
119
+ public birthDate: string,
120
+
121
+ public addressId: number,
122
+
123
+ public noPhoneFlag: boolean,
124
+
125
+ public homePhone: string,
126
+
127
+ public workPhone: string,
128
+
129
+ public cellPhone: string,
130
+
131
+ public email: string,
132
+
133
+ public modifiedBy: number
134
+
135
+
136
+
137
+ ) { }
138
+ }
139
+
140
+ export interface CaseNote {
141
+ victimId: number;
142
+ victimCaseNoteId: number;
143
+ caseNoteDate: Date;
144
+ contactTypeId: string;
145
+ contactType: string;
146
+ victimContactPurposeId: string;
147
+ victimContactPurpose: string;
148
+ comment: string;
149
+ modifiedBy: number;
150
+ victimFirstName: string;
151
+ victimLastName: string;
152
+
153
+ }
154
+
155
+ export interface Contact {
156
+ victimId: number;
157
+ victimContactId: number;
158
+ contactDate: Date;
159
+ victimContactMethodId: string;
160
+ contactMethod: string;
161
+ contactedBy: number;
162
+ contactedByName: string;
163
+ nextContactDate: Date;
164
+ comment: string;
165
+ modifiedBy: number;
166
+
167
+
168
+ }
169
+
170
+
171
+ export interface VictimSafetyPlan {
172
+ victimId: number;
173
+ fullName: string;
174
+ victimServiceId: number;
175
+ goal:string;
176
+ comment: string;
177
+ modifiedBy: number;
178
+ victimServiceStatusId: string;
179
+ status: string;
180
+ startDate: Date;
181
+ vVictimServiceDetails: VictimServiceDetail[];
182
+ victimName: String;
183
+
184
+
185
+ }
186
+
187
+ export interface VictimServiceDetail{
188
+ victimServiceId: number;
189
+ victimServiceDetailId: number;
190
+ victimServiceTypeId: string;
191
+ victimProgramProviderId: string;
192
+ victimProgramProvider: string;
193
+ modifiedBy: number;
194
+
195
+
196
+ }
197
+ export interface VictimServiceStatusHistory{
198
+
199
+ victimServiceStatusHistoryId: number;
200
+ victimServiceId: string;
201
+ victimServiceStatusId: string;
202
+ startDate: Date;
203
+ comment: string;
204
+ modifiedBy: number;
205
+ }
206
+
207
+
208
+ export interface VictimServiceTypeProgramProviderModel {
209
+ victimServiceTypeProgramProviderId: number;
210
+ victimServiceType: string;
211
+ victimProgramProviderId: string;
212
+ victimServiceTypeId:string;
213
+ victimProgramProvider: string;
214
+ }
215
+
216
+ export interface ProviderListCollectionModel{
217
+ groupId:string;
218
+ isDisplay:boolean;
219
+ collection:VictimServiceTypeProgramProviderModel[];
220
+ }
221
+
222
+
223
+
224
+ export interface ProvidersDialogData {
225
+ //iepAction: IepAction;
226
+ serviceType;
227
+ serviceTypeId;
228
+ providerCollections: [];
229
+ }
230
+
231
+
232
+ export class Victim {
233
+ constructor(
234
+ public victimId: number,
235
+ public offenderId: number,
236
+ public underSupervisionFlag: string,
237
+ public victimOffenderRelationshipTypeId: string,
238
+ public lastName: string,
239
+ public firstName: string,
240
+ public middleName: string,
241
+ public prefixId: string | null,
242
+ public suffixId: string | null,
243
+ public birthDate: string,
244
+ public genderCode: string,
245
+ public homePhone: string | null,
246
+ public workPhone: string | null,
247
+ public cellPhone: string | null,
248
+ public email: string,
249
+ public addressId: number,
250
+ public minorFlag: boolean,
251
+ public victimAdvocateFlag: string,
252
+
253
+ public guardianFirstName: string,
254
+ public guardianLastName: string,
255
+ public guardianPrefixId: string,
256
+ public guardianSuffixId: string,
257
+ public guardianNoPhoneFlag: boolean,
258
+ public guardianHomePhone: string | null,
259
+ public guardianWorkPhone: string | null,
260
+ public guardianCellPhone: string | null,
261
+ public guardianEmail: string,
262
+ public guardianAddressId: number,
263
+ public guardianBirthDate: string,
264
+
265
+ public advocateFirstName: string,
266
+ public advocateLastName: string,
267
+ public advocatePrefixId: string,
268
+ public advocateSuffixId: string,
269
+ public advocateNoPhoneFlag: boolean,
270
+ public advocateHomePhone: string | null,
271
+ public advocateWorkPhone: string | null,
272
+ public advocateCellPhone: string | null,
273
+ public advocateEmail: string,
274
+ public advocateAddressId: number,
275
+
276
+ public emergencyContact: string,
277
+ public emergencyContactPhone: string | null,
278
+ public commonChildrenFlag: boolean,
279
+ public commonChildrenNumber: number,
280
+ public cpoExpirationFlag: boolean,
281
+ public cpoExpirationDate: string,
282
+ public supportInPlaceFlag: boolean,
283
+ public weaponInvolvedFlag: boolean,
284
+ public drugUseFlag: boolean,
285
+ public alcoholUseFlag: boolean,
286
+ public accessRisk: string,
287
+ public modifiedBy: number,
288
+ public relationship: string,
289
+
290
+ public vVictimAdvocate: VictimAdvocate,
291
+ public vVictimGuardian: VictimGuardian,
292
+
293
+ public victimSupports: VictimSupport[],
294
+ public victimWeaponUses: VictimWeaponUse[],
295
+ public victimDrugUses: VictimDrugUse[],
296
+
297
+ public allowCsosaContactFlag: boolean,
298
+ public liveWithOffenderFlag: boolean
299
+ ) { }
300
+ }
301
+