source: Scheduling/trunk/cs/bsdx0200GUISourceCode/DManagement.cs@ 869

Last change on this file since 869 was 843, checked in by Sam Habiel, 14 years ago

Some refactoring of code into DAL.cs for Data Access.
Addition of Fileman date code (not used yet).
Removal of .config and .xml file from bin/Release/
Removal of BMXNet20.dll to replace with BMXNet21.dll

File size: 96.2 KB
Line 
1using System;
2using System.Drawing;
3using System.Collections;
4using System.ComponentModel;
5using System.Windows.Forms;
6using System.Data;
7using IndianHealthService.BMXNet;
8using System.Diagnostics;
9using System.Threading;
10
11namespace IndianHealthService.ClinicalScheduling
12{
13 /// <summary>
14 /// Summary description for DManagement.
15 /// </summary>
16 public class DManagement : System.Windows.Forms.Form
17 {
18
19 private System.ComponentModel.Container components = null;
20 private System.Windows.Forms.TabPage tpResources;
21 private System.Windows.Forms.TabPage tpAccessTypes;
22 private System.Windows.Forms.GroupBox grpDescription;
23 private System.Windows.Forms.Label lblDescription;
24 private System.Windows.Forms.Panel pnlPageBottom;
25 private System.Windows.Forms.TabControl tabMain;
26 private System.Windows.Forms.Panel pnlAddEdit;
27 private System.Windows.Forms.Button cmdAddResource;
28 private System.Windows.Forms.Button cmdChangeResource;
29 private System.Windows.Forms.Panel pnlDescription;
30 private System.Windows.Forms.Panel pnlResources;
31 private System.Windows.Forms.DataGrid grdResources;
32 private System.Windows.Forms.Panel pnlAddEditAT;
33 private System.Windows.Forms.Button cmdChangeAT;
34 private System.Windows.Forms.Button cmdAddAT;
35 private System.Windows.Forms.Panel pnlDescriptionAT;
36 private System.Windows.Forms.GroupBox grpDescriptionAT;
37 private System.Windows.Forms.Label label1;
38 private System.Windows.Forms.TabPage tpAccessGroups;
39 private System.Windows.Forms.Button cmdClose;
40 private System.Windows.Forms.TabPage tpResourceGroups;
41 private System.Windows.Forms.Panel pnlAddEditResourceGroups;
42 private System.Windows.Forms.Panel pnlDescriptionResourceGroup;
43 private System.Windows.Forms.GroupBox grpDescriptionResourceGroup;
44 private System.Windows.Forms.Label lblDescriptionResourceGroup;
45 private System.Windows.Forms.Panel pnlAddEditAccessGroup;
46 private System.Windows.Forms.Button cmdRemoveAccessGroup;
47 private System.Windows.Forms.Button cmdAddAccessGroup;
48 private System.Windows.Forms.Panel pnlDescriptionAccessGroups;
49 private System.Windows.Forms.GroupBox grpDescriptionAccessGroups;
50 private System.Windows.Forms.Label lblDescriptionAccessGroups;
51 private System.Windows.Forms.DataGrid grdAccessGroups;
52 private System.Windows.Forms.Button cmdRemoveUser;
53 private System.Windows.Forms.DataGrid grdResourceGroup;
54 private System.Windows.Forms.Button cmdRemoveResourceGroup;
55 private System.Windows.Forms.Button cmdAddResourceGroup;
56 private System.Windows.Forms.Button cmdChangeResourceGroup;
57 private System.Windows.Forms.Button cmdChangeAccessGroup;
58 private System.Windows.Forms.TabPage tpTransferAppts;
59 private System.Windows.Forms.Panel pnlCmdXfer;
60 private System.Windows.Forms.Panel pnlDescriptionXfer;
61 private System.Windows.Forms.Label lblDescriptionXfer;
62 private System.Windows.Forms.GroupBox grpDescriptionXfer;
63 private System.Windows.Forms.DataGrid grdAccessTypes;
64
65 #region Fields
66 private DataTable m_dtResources;
67 private DataView m_dvResources;
68 private DataTable m_dtHospLoc;
69 private DataView m_dvHospLoc;
70 private DataTable m_dtResourceGroup;
71 private DataView m_dvResourceGroup;
72 private DataTable m_dtAccessTypes;
73 private DataView m_dvAccessTypes;
74 private DataTable m_dtAccessGroup;
75 private DataView m_dvAccessGroup;
76 private DataTable m_dtAccessGroupType;
77 private DataView m_dvAccessGroupType;
78 private int m_nATRow;
79 private int m_nResourceRow;
80 private int m_nResourceGroupRow;
81 private int m_nAccessGroupRow;
82 private int m_nResourceID;
83 private int m_nResourceGroupID;
84 private int m_nAccessGroupID;
85 private DataSet m_dsGlobal;
86 private CGDocumentManager m_DocManager;
87 private bool m_bEditUsers;
88 private string m_sMember;
89 private string m_sGroupMember;
90 private string m_sAccessGroupMember;
91 private bool m_bEditGroupItems;
92 private bool m_bEditAccessGroupItems;
93 private string m_sResourceGroupName;
94 private string m_sAccessGroupName;
95 private DataTable m_dtWSGrid;
96 private System.Windows.Forms.Button cmdCopyAppts;
97 private System.Windows.Forms.ComboBox cboRPMSClinic;
98 private System.Windows.Forms.Label label2;
99 private System.Windows.Forms.Label label3;
100 private System.Windows.Forms.DateTimePicker dtpBegin;
101 private System.Windows.Forms.Label label4;
102 private System.Windows.Forms.Label label5;
103 private System.Windows.Forms.DateTimePicker dtpEnd;
104 private System.Windows.Forms.ComboBox cboBSDXClinic;
105 private System.Windows.Forms.TabPage tpWorkStations;
106 private System.Windows.Forms.Panel panel1;
107 private System.Windows.Forms.Button cmdWorkStationsMessage;
108 private System.Windows.Forms.Button cmdWorkStationsShutdown;
109 private System.Windows.Forms.Button cmdWorkStationsRefresh;
110 private System.Windows.Forms.Panel pnlWorkstations;
111 private System.Windows.Forms.GroupBox groupBox1;
112 private System.Windows.Forms.Label lblWorkstations;
113 private System.Windows.Forms.DataGrid grdWorkStations;
114 private System.Windows.Forms.TextBox txtSendMessage;
115
116 #endregion Fields
117
118 #region Initialization
119
120 public DManagement()
121 {
122 InitializeComponent();
123
124 m_nATRow = -1;
125 m_nResourceRow = -1;
126 m_nResourceGroupRow = -1;
127 m_nAccessGroupRow = -1;
128 m_nResourceID = 0;
129 m_sMember = "Resource";
130 m_sGroupMember = "Group";
131 m_sAccessGroupMember = "Group";
132
133 }
134
135 public void InitializeDialog(CGDocumentManager docManager)
136 {
137 //System.IntPtr pHandle = this.Handle;
138 //this.m_sMgrHandle = pHandle.ToString()
139 this.m_DocManager = docManager;
140 this.m_dsGlobal = m_DocManager.GlobalDataSet;
141
142 MgrEventDelegate = new BMXNetConnectInfo.BMXNetEventDelegate(MgrEventHandler);
143 m_DocManager.ConnectInfo.BMXNetEvent += MgrEventDelegate;
144 m_DocManager.ConnectInfo.SubscribeEvent("BSDX WORKSTATION REPORT");
145 m_dtWSGrid = new DataTable("WSGrid");
146 m_dtWSGrid.Columns.Add("UserName", typeof(System.String));
147 m_dtWSGrid.Columns.Add("Handle", typeof(System.String));
148 m_dtWSGrid.Columns.Add("Version", typeof(System.String));
149 m_dtWSGrid.Columns.Add("Views", typeof(System.String));
150
151 this.grdWorkStations.DataSource = m_dtWSGrid;
152
153 //Resources
154 m_dtResources = m_dsGlobal.Tables["Resources"];
155 m_dvResources = new DataView(m_dtResources);
156 m_dvResources.Sort = "RESOURCE_NAME ASC";
157 this.grdResources.DataSource = m_dvResources;
158
159 //Reload ResourceUser table with all users
160 m_dsGlobal.Tables["ResourceUser"].Clear();
161 m_DocManager.LoadResourceUserTable(true);
162
163 //Create DataGridTableStyle for ResourceUser table
164 DataGridTableStyle tsRU = new DataGridTableStyle();
165 tsRU.MappingName = "ResourceUser";
166 tsRU.ReadOnly = true;
167 // Add RESOURCEID column style.
168 DataGridColumnStyle colRUID = new DataGridTextBoxColumn();
169 colRUID.MappingName = "RESOURCEID";
170 colRUID.HeaderText = "Resource ID";
171 colRUID.Width = 0;
172 tsRU.GridColumnStyles.Add(colRUID);
173 // Add RESOURCEUSER_ID column style.
174 DataGridColumnStyle colRUserID = new DataGridTextBoxColumn();
175 colRUserID.MappingName = "RESOURCEUSER_ID";
176 colRUserID.HeaderText = "ResourceUser ID";
177 colRUserID.Width = 15;
178 tsRU.GridColumnStyles.Add(colRUserID);
179 // Add USERNAME column style.
180 DataGridColumnStyle colRUName = new DataGridTextBoxColumn();
181 colRUName.MappingName = "USERNAME";
182 colRUName.HeaderText = "Resource User Name";
183 colRUName.Width = 250;
184 tsRU.GridColumnStyles.Add(colRUName);
185
186 grdResources.TableStyles.Add(tsRU);
187
188 //Create DataGridTableStyle for Resources table
189 DataGridTableStyle tsResource = new DataGridTableStyle();
190 tsResource.MappingName = "Resources";
191 tsResource.ReadOnly = true;
192
193 // Add RESOURCEID column style.
194 DataGridColumnStyle colResID = new DataGridTextBoxColumn();
195 colResID.MappingName = "RESOURCEID";
196 colResID.HeaderText = "Resource ID";
197 colResID.Width = 0;
198 tsResource.GridColumnStyles.Add(colResID);
199
200 // Add RESOURCE_NAME column style.
201 DataGridColumnStyle colResName = new DataGridTextBoxColumn();
202 colResName.MappingName = "RESOURCE_NAME";
203 colResName.HeaderText = "Resource Name";
204 colResName.Width = 250;
205 tsResource.GridColumnStyles.Add(colResName);
206 grdResources.TableStyles.Add(tsResource);
207
208 //ResourceGroup
209 m_dtResourceGroup = m_dsGlobal.Tables["ResourceGroup"];
210 m_dvResourceGroup = new DataView(m_dtResourceGroup);
211 this.grdResourceGroup.DataSource = m_dvResourceGroup;
212
213 //Create DataGridTableStyle for ResourceGroup table
214 DataGridTableStyle tsResourceGroup = new DataGridTableStyle();
215 tsResourceGroup.MappingName = "ResourceGroup";
216 tsResourceGroup.ReadOnly = true;
217 // Add RESOURCE_GROUPID column style.
218 DataGridColumnStyle colResGroupID = new DataGridTextBoxColumn();
219 colResGroupID.MappingName = "RESOURCE_GROUPID";
220 colResGroupID.HeaderText = "GroupID";
221 colResGroupID.Width = 50;
222 tsResourceGroup.GridColumnStyles.Add(colResGroupID);
223 // Add RESOURCE_GROUP column style.
224 DataGridColumnStyle colResGroup = new DataGridTextBoxColumn();
225 colResGroup.MappingName = "RESOURCE_GROUP";
226 colResGroup.HeaderText = "Group";
227 colResGroup.Width = 250;
228 tsResourceGroup.GridColumnStyles.Add(colResGroup);
229 grdResourceGroup.TableStyles.Add(tsResourceGroup);
230
231 //Create DataGridTableStyle for GroupResources table
232 DataGridTableStyle tsGroupResources = new DataGridTableStyle();
233 tsGroupResources.MappingName = "GroupResources";
234 tsGroupResources.ReadOnly = true;
235 // Add RESOURCE_GROUPID column style.
236 DataGridColumnStyle colResGroupID2 = new DataGridTextBoxColumn();
237 colResGroupID2.MappingName = "RESOURCE_GROUPID";
238 colResGroupID2.HeaderText = "Resource GroupID";
239 colResGroupID2.Width = 50;
240 tsGroupResources.GridColumnStyles.Add(colResGroupID2);
241 // Add RESOURCE_NAME column style.
242 DataGridColumnStyle colGroupRes = new DataGridTextBoxColumn();
243 colGroupRes.MappingName = "RESOURCE_NAME";
244 colGroupRes.HeaderText = "Resource Name";
245 colGroupRes.Width = 250;
246 tsGroupResources.GridColumnStyles.Add(colGroupRes);
247
248
249 // Add RESOURCE_GROUP_ITEMID column style.
250 DataGridColumnStyle colResGroupItemID = new DataGridTextBoxColumn();
251 colResGroupItemID.MappingName = "RESOURCE_GROUP_ITEMID";
252 colResGroupItemID.HeaderText = "Resource ItemID";
253 colResGroupItemID.Width = 50;
254 tsGroupResources.GridColumnStyles.Add(colResGroupItemID);
255 grdResourceGroup.TableStyles.Add(tsGroupResources);
256
257
258 //Access Types
259 m_dtAccessTypes = m_dsGlobal.Tables["AccessTypes"];
260 m_dvAccessTypes = new DataView(m_dtAccessTypes);
261 this.grdAccessTypes.DataSource = m_dvAccessTypes;
262
263 // Create DataGridTableStyle for AccessTypes table
264 DataGridTableStyle tsAT = new DataGridTableStyle();
265 tsAT.MappingName = "AccessTypes";
266 tsAT.ReadOnly = true;
267
268 // Add ACCESS_TYPE_NAME column style.
269 DataGridColumnStyle colATName = new DataGridTextBoxColumn();
270 colATName.MappingName = "ACCESS_TYPE_NAME";
271 colATName.HeaderText = "Access Type";
272 colATName.Width = 250;
273 tsAT.GridColumnStyles.Add(colATName);
274
275 // Add INACTIVE column style.
276 DataGridColumnStyle colATInactive = new DataGridTextBoxColumn();
277 colATInactive.MappingName = "INACTIVE";
278 colATInactive.HeaderText = "Inactive?";
279 colATInactive.Width = 100;
280 tsAT.GridColumnStyles.Add(colATInactive);
281
282 grdAccessTypes.TableStyles.Add(tsAT);
283
284
285 //Access Groups
286 m_dtAccessGroup = m_dsGlobal.Tables["AccessGroup"];
287 m_dvAccessGroup = new DataView(m_dtAccessGroup);
288 this.grdAccessGroups.DataSource = m_dvAccessGroup;
289
290 // Create DataGridTableStyle for AccessGroup table
291 DataGridTableStyle tsAG = new DataGridTableStyle();
292 tsAG.MappingName = "AccessGroup";
293 tsAG.ReadOnly = true;
294
295 // Add BMXIEN column style.
296 DataGridColumnStyle colAGID = new DataGridTextBoxColumn();
297 colAGID.MappingName = "BMXIEN";
298 colAGID.HeaderText = "Access Group ID";
299 colAGID.Width = 50;
300 tsAG.GridColumnStyles.Add(colAGID);
301
302 // Add ACCESS_GROUP column style.
303 DataGridColumnStyle colAGNAME = new DataGridTextBoxColumn();
304 colAGNAME.MappingName = "ACCESS_GROUP";
305 colAGNAME.HeaderText = "Access Group";
306 colAGNAME.Width = 150;
307 tsAG.GridColumnStyles.Add(colAGNAME);
308
309 grdAccessGroups.TableStyles.Add(tsAG);
310
311 //Access Group Types
312 m_dtAccessGroupType = m_dsGlobal.Tables["AccessGroupType"];
313 m_dvAccessGroupType = new DataView(m_dtAccessGroupType);
314
315 // Create DataGridTableStyle for AccessGroupType table
316 DataGridTableStyle tsAGTP = new DataGridTableStyle();
317 tsAGTP.MappingName = "AccessGroupType";
318 tsAGTP.ReadOnly = true;
319
320 // 0 Add ACCESS_GROUP_TYPEID column style.
321 DataGridColumnStyle colAGTPID = new DataGridTextBoxColumn();
322 colAGTPID.MappingName = "ACCESS_GROUP_TYPEID";
323 colAGTPID.HeaderText = "Access Group Type ID";
324 colAGTPID.Width = 0;
325 tsAGTP.GridColumnStyles.Add(colAGTPID);
326
327 // 1 Add ACCESS_GROUP_ID column style.
328 DataGridColumnStyle colAGTPGroupID = new DataGridTextBoxColumn();
329 colAGTPGroupID.MappingName = "ACCESS_GROUP_ID";
330 colAGTPGroupID.HeaderText = "Access Group ID";
331 colAGTPGroupID.Width = 0;
332 tsAGTP.GridColumnStyles.Add(colAGTPGroupID);
333
334 // 2 Add ACCESS_GROUP column style.
335 DataGridColumnStyle colAGTPGroup = new DataGridTextBoxColumn();
336 colAGTPGroup.MappingName = "ACCESS_GROUP";
337 colAGTPGroup.HeaderText = "Access Group";
338 colAGTPGroup.Width = 0;
339 tsAGTP.GridColumnStyles.Add(colAGTPGroup);
340
341 // 3 Add ACCESS_TYPE_ID column style.
342 DataGridColumnStyle colAGTPTypeID = new DataGridTextBoxColumn();
343 colAGTPTypeID.MappingName = "ACCESS_TYPE_ID";
344 colAGTPTypeID.HeaderText = "Access TypeID";
345 colAGTPTypeID.Width = 0;
346 tsAGTP.GridColumnStyles.Add(colAGTPTypeID);
347
348 // 4 Add ACCESS_TYPE column style.
349 DataGridColumnStyle colAGTPType = new DataGridTextBoxColumn();
350 colAGTPType.MappingName = "ACCESS_TYPE";
351 colAGTPType.HeaderText = "Access Type";
352 colAGTPType.Width = 150;
353 tsAGTP.GridColumnStyles.Add(colAGTPType);
354
355 grdAccessGroups.TableStyles.Add(tsAGTP);
356
357
358 //Find out if there are any grdResources rows and
359 //enable command buttons accordingly
360 int nRows = this.grdResources.VisibleRowCount;
361 if (nRows == 0)
362 {
363 this.cmdChangeResource.Enabled = false;
364 this.cmdRemoveUser.Enabled = false;
365 }
366 else
367 {
368 grdResources.CurrentCell = new DataGridCell(0, 0);
369 this.cmdChangeResource.Enabled = true;
370 this.cmdRemoveUser.Enabled = true;
371
372 }
373
374 //Copy Appointments TabPage
375 m_dtHospLoc = m_dsGlobal.Tables["HospitalLocation"];
376 m_dvHospLoc = new DataView(m_dtHospLoc);
377 m_dvHospLoc.Sort = "HOSPITAL_LOCATION ASC";
378 cboRPMSClinic.DataSource = m_dvHospLoc;
379 cboRPMSClinic.DisplayMember = "HOSPITAL_LOCATION";
380 cboRPMSClinic.ValueMember = "HOSPITAL_LOCATION_ID";
381 cboBSDXClinic.DataSource = m_dvResources;
382 cboBSDXClinic.DisplayMember = "RESOURCE_NAME";
383 cboBSDXClinic.ValueMember = "RESOURCEID";
384
385 }
386
387 private void DManagement_Load(object sender, System.EventArgs e)
388 {
389 this.cmdChangeResource.Enabled = false;
390 this.cmdRemoveUser.Enabled = false;
391 //Select the grid's zeroeth row
392 if (m_dvResources.Count > 0)
393 {
394 this.grdResources.CurrentCell = new DataGridCell(0,0);
395 this.grdResources.Select(0);
396 this.m_nResourceRow=0;
397 Object dgItem = grdResources[0,0];
398 this.m_nResourceID = Convert.ToInt16(dgItem);
399 this.cmdChangeResource.Enabled = true;
400 this.cmdRemoveUser.Enabled = true;
401 }
402
403 this.cmdChangeResourceGroup.Enabled = false;
404 this.cmdRemoveResourceGroup.Enabled = false;
405 if (this.m_dvResourceGroup.Count > 0)
406 {
407 this.m_nResourceGroupRow = 0;
408 this.cmdChangeResourceGroup.Enabled = true;
409 this.cmdRemoveResourceGroup.Enabled = true;
410 }
411
412 this.cmdChangeAccessGroup.Enabled = false;
413 this.cmdRemoveAccessGroup.Enabled = false;
414 if (this.m_dvAccessGroup.Count > 0)
415 {
416 this.m_nAccessGroupRow = 0;
417 this.cmdChangeAccessGroup.Enabled = true;
418 this.cmdRemoveAccessGroup.Enabled = true;
419 }
420
421 this.cmdChangeAT.Enabled = false;
422 if (this.m_dvAccessTypes.Count > 0)
423 {
424 this.m_nATRow = 0;
425 this.cmdChangeAT.Enabled = true;
426 }
427 }
428
429 protected override void Dispose( bool disposing )
430 {
431 if( disposing )
432 {
433 if(components != null)
434 {
435 components.Dispose();
436 }
437 }
438 base.Dispose( disposing );
439 }
440
441 #endregion Initialization
442
443 #region Windows Form Designer generated code
444 /// <summary>
445 /// Required method for Designer support - do not modify
446 /// the contents of this method with the code editor.
447 /// </summary>
448 private void InitializeComponent()
449 {
450 System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(DManagement));
451 this.pnlPageBottom = new System.Windows.Forms.Panel();
452 this.cmdClose = new System.Windows.Forms.Button();
453 this.tabMain = new System.Windows.Forms.TabControl();
454 this.tpResources = new System.Windows.Forms.TabPage();
455 this.pnlResources = new System.Windows.Forms.Panel();
456 this.grdResources = new System.Windows.Forms.DataGrid();
457 this.pnlDescription = new System.Windows.Forms.Panel();
458 this.grpDescription = new System.Windows.Forms.GroupBox();
459 this.lblDescription = new System.Windows.Forms.Label();
460 this.pnlAddEdit = new System.Windows.Forms.Panel();
461 this.cmdRemoveUser = new System.Windows.Forms.Button();
462 this.cmdChangeResource = new System.Windows.Forms.Button();
463 this.cmdAddResource = new System.Windows.Forms.Button();
464 this.tpResourceGroups = new System.Windows.Forms.TabPage();
465 this.grdResourceGroup = new System.Windows.Forms.DataGrid();
466 this.pnlDescriptionResourceGroup = new System.Windows.Forms.Panel();
467 this.grpDescriptionResourceGroup = new System.Windows.Forms.GroupBox();
468 this.lblDescriptionResourceGroup = new System.Windows.Forms.Label();
469 this.pnlAddEditResourceGroups = new System.Windows.Forms.Panel();
470 this.cmdChangeResourceGroup = new System.Windows.Forms.Button();
471 this.cmdRemoveResourceGroup = new System.Windows.Forms.Button();
472 this.cmdAddResourceGroup = new System.Windows.Forms.Button();
473 this.tpAccessTypes = new System.Windows.Forms.TabPage();
474 this.grdAccessTypes = new System.Windows.Forms.DataGrid();
475 this.pnlDescriptionAT = new System.Windows.Forms.Panel();
476 this.grpDescriptionAT = new System.Windows.Forms.GroupBox();
477 this.label1 = new System.Windows.Forms.Label();
478 this.pnlAddEditAT = new System.Windows.Forms.Panel();
479 this.cmdChangeAT = new System.Windows.Forms.Button();
480 this.cmdAddAT = new System.Windows.Forms.Button();
481 this.tpAccessGroups = new System.Windows.Forms.TabPage();
482 this.grdAccessGroups = new System.Windows.Forms.DataGrid();
483 this.pnlDescriptionAccessGroups = new System.Windows.Forms.Panel();
484 this.grpDescriptionAccessGroups = new System.Windows.Forms.GroupBox();
485 this.lblDescriptionAccessGroups = new System.Windows.Forms.Label();
486 this.pnlAddEditAccessGroup = new System.Windows.Forms.Panel();
487 this.cmdChangeAccessGroup = new System.Windows.Forms.Button();
488 this.cmdRemoveAccessGroup = new System.Windows.Forms.Button();
489 this.cmdAddAccessGroup = new System.Windows.Forms.Button();
490 this.tpTransferAppts = new System.Windows.Forms.TabPage();
491 this.label5 = new System.Windows.Forms.Label();
492 this.dtpEnd = new System.Windows.Forms.DateTimePicker();
493 this.label4 = new System.Windows.Forms.Label();
494 this.dtpBegin = new System.Windows.Forms.DateTimePicker();
495 this.label3 = new System.Windows.Forms.Label();
496 this.cboBSDXClinic = new System.Windows.Forms.ComboBox();
497 this.label2 = new System.Windows.Forms.Label();
498 this.cboRPMSClinic = new System.Windows.Forms.ComboBox();
499 this.pnlDescriptionXfer = new System.Windows.Forms.Panel();
500 this.grpDescriptionXfer = new System.Windows.Forms.GroupBox();
501 this.lblDescriptionXfer = new System.Windows.Forms.Label();
502 this.pnlCmdXfer = new System.Windows.Forms.Panel();
503 this.cmdCopyAppts = new System.Windows.Forms.Button();
504 this.tpWorkStations = new System.Windows.Forms.TabPage();
505 this.grdWorkStations = new System.Windows.Forms.DataGrid();
506 this.pnlWorkstations = new System.Windows.Forms.Panel();
507 this.groupBox1 = new System.Windows.Forms.GroupBox();
508 this.lblWorkstations = new System.Windows.Forms.Label();
509 this.panel1 = new System.Windows.Forms.Panel();
510 this.txtSendMessage = new System.Windows.Forms.TextBox();
511 this.cmdWorkStationsMessage = new System.Windows.Forms.Button();
512 this.cmdWorkStationsShutdown = new System.Windows.Forms.Button();
513 this.cmdWorkStationsRefresh = new System.Windows.Forms.Button();
514 this.pnlPageBottom.SuspendLayout();
515 this.tabMain.SuspendLayout();
516 this.tpResources.SuspendLayout();
517 this.pnlResources.SuspendLayout();
518 ((System.ComponentModel.ISupportInitialize)(this.grdResources)).BeginInit();
519 this.pnlDescription.SuspendLayout();
520 this.grpDescription.SuspendLayout();
521 this.pnlAddEdit.SuspendLayout();
522 this.tpResourceGroups.SuspendLayout();
523 ((System.ComponentModel.ISupportInitialize)(this.grdResourceGroup)).BeginInit();
524 this.pnlDescriptionResourceGroup.SuspendLayout();
525 this.grpDescriptionResourceGroup.SuspendLayout();
526 this.pnlAddEditResourceGroups.SuspendLayout();
527 this.tpAccessTypes.SuspendLayout();
528 ((System.ComponentModel.ISupportInitialize)(this.grdAccessTypes)).BeginInit();
529 this.pnlDescriptionAT.SuspendLayout();
530 this.grpDescriptionAT.SuspendLayout();
531 this.pnlAddEditAT.SuspendLayout();
532 this.tpAccessGroups.SuspendLayout();
533 ((System.ComponentModel.ISupportInitialize)(this.grdAccessGroups)).BeginInit();
534 this.pnlDescriptionAccessGroups.SuspendLayout();
535 this.grpDescriptionAccessGroups.SuspendLayout();
536 this.pnlAddEditAccessGroup.SuspendLayout();
537 this.tpTransferAppts.SuspendLayout();
538 this.pnlDescriptionXfer.SuspendLayout();
539 this.grpDescriptionXfer.SuspendLayout();
540 this.pnlCmdXfer.SuspendLayout();
541 this.tpWorkStations.SuspendLayout();
542 ((System.ComponentModel.ISupportInitialize)(this.grdWorkStations)).BeginInit();
543 this.pnlWorkstations.SuspendLayout();
544 this.groupBox1.SuspendLayout();
545 this.panel1.SuspendLayout();
546 this.SuspendLayout();
547 //
548 // pnlPageBottom
549 //
550 this.pnlPageBottom.Controls.Add(this.cmdClose);
551 this.pnlPageBottom.Dock = System.Windows.Forms.DockStyle.Bottom;
552 this.pnlPageBottom.Location = new System.Drawing.Point(0, 454);
553 this.pnlPageBottom.Name = "pnlPageBottom";
554 this.pnlPageBottom.Size = new System.Drawing.Size(704, 40);
555 this.pnlPageBottom.TabIndex = 3;
556 //
557 // cmdClose
558 //
559 this.cmdClose.DialogResult = System.Windows.Forms.DialogResult.OK;
560 this.cmdClose.Location = new System.Drawing.Point(600, 8);
561 this.cmdClose.Name = "cmdClose";
562 this.cmdClose.Size = new System.Drawing.Size(96, 24);
563 this.cmdClose.TabIndex = 0;
564 this.cmdClose.Text = "Close";
565 //
566 // tabMain
567 //
568 this.tabMain.Controls.Add(this.tpResources);
569 this.tabMain.Controls.Add(this.tpResourceGroups);
570 this.tabMain.Controls.Add(this.tpAccessTypes);
571 this.tabMain.Controls.Add(this.tpAccessGroups);
572 this.tabMain.Controls.Add(this.tpTransferAppts);
573 this.tabMain.Controls.Add(this.tpWorkStations);
574 this.tabMain.Dock = System.Windows.Forms.DockStyle.Fill;
575 this.tabMain.Location = new System.Drawing.Point(0, 0);
576 this.tabMain.Name = "tabMain";
577 this.tabMain.SelectedIndex = 0;
578 this.tabMain.Size = new System.Drawing.Size(704, 454);
579 this.tabMain.TabIndex = 4;
580 this.tabMain.Click += new System.EventHandler(this.tabMain_Click);
581 //
582 // tpResources
583 //
584 this.tpResources.Controls.Add(this.pnlResources);
585 this.tpResources.Controls.Add(this.pnlDescription);
586 this.tpResources.Controls.Add(this.pnlAddEdit);
587 this.tpResources.Location = new System.Drawing.Point(4, 22);
588 this.tpResources.Name = "tpResources";
589 this.tpResources.Size = new System.Drawing.Size(696, 428);
590 this.tpResources.TabIndex = 0;
591 this.tpResources.Text = "Resources and Users";
592 //
593 // pnlResources
594 //
595 this.pnlResources.Controls.Add(this.grdResources);
596 this.pnlResources.Dock = System.Windows.Forms.DockStyle.Fill;
597 this.pnlResources.Location = new System.Drawing.Point(0, 0);
598 this.pnlResources.Name = "pnlResources";
599 this.pnlResources.Size = new System.Drawing.Size(696, 316);
600 this.pnlResources.TabIndex = 2;
601 //
602 // grdResources
603 //
604 this.grdResources.DataMember = "";
605 this.grdResources.Dock = System.Windows.Forms.DockStyle.Fill;
606 this.grdResources.HeaderForeColor = System.Drawing.SystemColors.ControlText;
607 this.grdResources.Location = new System.Drawing.Point(0, 0);
608 this.grdResources.Name = "grdResources";
609 this.grdResources.ReadOnly = true;
610 this.grdResources.Size = new System.Drawing.Size(696, 316);
611 this.grdResources.TabIndex = 0;
612 this.grdResources.CurrentCellChanged += new System.EventHandler(this.grdResources_CurrentCellChanged);
613 this.grdResources.Navigate += new System.Windows.Forms.NavigateEventHandler(this.grdResources_Navigate);
614 //
615 // pnlDescription
616 //
617 this.pnlDescription.Controls.Add(this.grpDescription);
618 this.pnlDescription.Dock = System.Windows.Forms.DockStyle.Bottom;
619 this.pnlDescription.Location = new System.Drawing.Point(0, 316);
620 this.pnlDescription.Name = "pnlDescription";
621 this.pnlDescription.Size = new System.Drawing.Size(696, 72);
622 this.pnlDescription.TabIndex = 1;
623 //
624 // grpDescription
625 //
626 this.grpDescription.Controls.Add(this.lblDescription);
627 this.grpDescription.Dock = System.Windows.Forms.DockStyle.Fill;
628 this.grpDescription.Location = new System.Drawing.Point(0, 0);
629 this.grpDescription.Name = "grpDescription";
630 this.grpDescription.Size = new System.Drawing.Size(696, 72);
631 this.grpDescription.TabIndex = 0;
632 this.grpDescription.TabStop = false;
633 this.grpDescription.Text = "Description";
634 //
635 // lblDescription
636 //
637 this.lblDescription.Dock = System.Windows.Forms.DockStyle.Fill;
638 this.lblDescription.Location = new System.Drawing.Point(3, 16);
639 this.lblDescription.Name = "lblDescription";
640 this.lblDescription.Size = new System.Drawing.Size(690, 53);
641 this.lblDescription.TabIndex = 0;
642 this.lblDescription.Text = resources.GetString("lblDescription.Text");
643 //
644 // pnlAddEdit
645 //
646 this.pnlAddEdit.Controls.Add(this.cmdRemoveUser);
647 this.pnlAddEdit.Controls.Add(this.cmdChangeResource);
648 this.pnlAddEdit.Controls.Add(this.cmdAddResource);
649 this.pnlAddEdit.Dock = System.Windows.Forms.DockStyle.Bottom;
650 this.pnlAddEdit.Location = new System.Drawing.Point(0, 388);
651 this.pnlAddEdit.Name = "pnlAddEdit";
652 this.pnlAddEdit.Size = new System.Drawing.Size(696, 40);
653 this.pnlAddEdit.TabIndex = 0;
654 //
655 // cmdRemoveUser
656 //
657 this.cmdRemoveUser.Location = new System.Drawing.Point(304, 8);
658 this.cmdRemoveUser.Name = "cmdRemoveUser";
659 this.cmdRemoveUser.Size = new System.Drawing.Size(128, 24);
660 this.cmdRemoveUser.TabIndex = 3;
661 this.cmdRemoveUser.Text = "&Remove User";
662 this.cmdRemoveUser.Visible = false;
663 this.cmdRemoveUser.Click += new System.EventHandler(this.cmdRemoveUser_Click);
664 //
665 // cmdChangeResource
666 //
667 this.cmdChangeResource.Enabled = false;
668 this.cmdChangeResource.Location = new System.Drawing.Point(160, 8);
669 this.cmdChangeResource.Name = "cmdChangeResource";
670 this.cmdChangeResource.Size = new System.Drawing.Size(128, 24);
671 this.cmdChangeResource.TabIndex = 1;
672 this.cmdChangeResource.Text = "&Change...";
673 this.cmdChangeResource.Click += new System.EventHandler(this.cmdChangeResource_Click);
674 //
675 // cmdAddResource
676 //
677 this.cmdAddResource.Location = new System.Drawing.Point(16, 8);
678 this.cmdAddResource.Name = "cmdAddResource";
679 this.cmdAddResource.Size = new System.Drawing.Size(128, 24);
680 this.cmdAddResource.TabIndex = 0;
681 this.cmdAddResource.Text = "&Add...";
682 this.cmdAddResource.Click += new System.EventHandler(this.cmdAddResource_Click);
683 //
684 // tpResourceGroups
685 //
686 this.tpResourceGroups.Controls.Add(this.grdResourceGroup);
687 this.tpResourceGroups.Controls.Add(this.pnlDescriptionResourceGroup);
688 this.tpResourceGroups.Controls.Add(this.pnlAddEditResourceGroups);
689 this.tpResourceGroups.Location = new System.Drawing.Point(4, 22);
690 this.tpResourceGroups.Name = "tpResourceGroups";
691 this.tpResourceGroups.Size = new System.Drawing.Size(579, 362);
692 this.tpResourceGroups.TabIndex = 4;
693 this.tpResourceGroups.Text = "Resource Groups";
694 //
695 // grdResourceGroup
696 //
697 this.grdResourceGroup.AccessibleName = "DataGrid";
698 this.grdResourceGroup.AccessibleRole = System.Windows.Forms.AccessibleRole.Table;
699 this.grdResourceGroup.DataMember = "";
700 this.grdResourceGroup.Dock = System.Windows.Forms.DockStyle.Fill;
701 this.grdResourceGroup.HeaderForeColor = System.Drawing.SystemColors.ControlText;
702 this.grdResourceGroup.Location = new System.Drawing.Point(0, 0);
703 this.grdResourceGroup.Name = "grdResourceGroup";
704 this.grdResourceGroup.ReadOnly = true;
705 this.grdResourceGroup.Size = new System.Drawing.Size(579, 250);
706 this.grdResourceGroup.TabIndex = 4;
707 this.grdResourceGroup.CurrentCellChanged += new System.EventHandler(this.grdResourceGroup_CurrentCellChanged);
708 this.grdResourceGroup.Navigate += new System.Windows.Forms.NavigateEventHandler(this.grdResourceGroup_Navigate);
709 //
710 // pnlDescriptionResourceGroup
711 //
712 this.pnlDescriptionResourceGroup.Controls.Add(this.grpDescriptionResourceGroup);
713 this.pnlDescriptionResourceGroup.Dock = System.Windows.Forms.DockStyle.Bottom;
714 this.pnlDescriptionResourceGroup.Location = new System.Drawing.Point(0, 250);
715 this.pnlDescriptionResourceGroup.Name = "pnlDescriptionResourceGroup";
716 this.pnlDescriptionResourceGroup.Size = new System.Drawing.Size(579, 72);
717 this.pnlDescriptionResourceGroup.TabIndex = 3;
718 //
719 // grpDescriptionResourceGroup
720 //
721 this.grpDescriptionResourceGroup.Controls.Add(this.lblDescriptionResourceGroup);
722 this.grpDescriptionResourceGroup.Dock = System.Windows.Forms.DockStyle.Fill;
723 this.grpDescriptionResourceGroup.Location = new System.Drawing.Point(0, 0);
724 this.grpDescriptionResourceGroup.Name = "grpDescriptionResourceGroup";
725 this.grpDescriptionResourceGroup.Size = new System.Drawing.Size(579, 72);
726 this.grpDescriptionResourceGroup.TabIndex = 0;
727 this.grpDescriptionResourceGroup.TabStop = false;
728 this.grpDescriptionResourceGroup.Text = "Description";
729 //
730 // lblDescriptionResourceGroup
731 //
732 this.lblDescriptionResourceGroup.Dock = System.Windows.Forms.DockStyle.Fill;
733 this.lblDescriptionResourceGroup.Location = new System.Drawing.Point(3, 16);
734 this.lblDescriptionResourceGroup.Name = "lblDescriptionResourceGroup";
735 this.lblDescriptionResourceGroup.Size = new System.Drawing.Size(573, 53);
736 this.lblDescriptionResourceGroup.TabIndex = 0;
737 this.lblDescriptionResourceGroup.Text = resources.GetString("lblDescriptionResourceGroup.Text");
738 //
739 // pnlAddEditResourceGroups
740 //
741 this.pnlAddEditResourceGroups.Controls.Add(this.cmdChangeResourceGroup);
742 this.pnlAddEditResourceGroups.Controls.Add(this.cmdRemoveResourceGroup);
743 this.pnlAddEditResourceGroups.Controls.Add(this.cmdAddResourceGroup);
744 this.pnlAddEditResourceGroups.Dock = System.Windows.Forms.DockStyle.Bottom;
745 this.pnlAddEditResourceGroups.Location = new System.Drawing.Point(0, 322);
746 this.pnlAddEditResourceGroups.Name = "pnlAddEditResourceGroups";
747 this.pnlAddEditResourceGroups.Size = new System.Drawing.Size(579, 40);
748 this.pnlAddEditResourceGroups.TabIndex = 2;
749 //
750 // cmdChangeResourceGroup
751 //
752 this.cmdChangeResourceGroup.Enabled = false;
753 this.cmdChangeResourceGroup.Location = new System.Drawing.Point(160, 8);
754 this.cmdChangeResourceGroup.Name = "cmdChangeResourceGroup";
755 this.cmdChangeResourceGroup.Size = new System.Drawing.Size(128, 24);
756 this.cmdChangeResourceGroup.TabIndex = 2;
757 this.cmdChangeResourceGroup.Text = "&Change Group";
758 this.cmdChangeResourceGroup.Click += new System.EventHandler(this.cmdChangeResourceGroup_Click);
759 //
760 // cmdRemoveResourceGroup
761 //
762 this.cmdRemoveResourceGroup.Enabled = false;
763 this.cmdRemoveResourceGroup.Location = new System.Drawing.Point(304, 8);
764 this.cmdRemoveResourceGroup.Name = "cmdRemoveResourceGroup";
765 this.cmdRemoveResourceGroup.Size = new System.Drawing.Size(128, 24);
766 this.cmdRemoveResourceGroup.TabIndex = 1;
767 this.cmdRemoveResourceGroup.Text = "&Remove Group";
768 this.cmdRemoveResourceGroup.Click += new System.EventHandler(this.cmdRemoveResourceGroup_Click);
769 //
770 // cmdAddResourceGroup
771 //
772 this.cmdAddResourceGroup.Location = new System.Drawing.Point(16, 8);
773 this.cmdAddResourceGroup.Name = "cmdAddResourceGroup";
774 this.cmdAddResourceGroup.Size = new System.Drawing.Size(128, 24);
775 this.cmdAddResourceGroup.TabIndex = 0;
776 this.cmdAddResourceGroup.Text = "&Add Group";
777 this.cmdAddResourceGroup.Click += new System.EventHandler(this.cmdAddResourceGroup_Click);
778 //
779 // tpAccessTypes
780 //
781 this.tpAccessTypes.Controls.Add(this.grdAccessTypes);
782 this.tpAccessTypes.Controls.Add(this.pnlDescriptionAT);
783 this.tpAccessTypes.Controls.Add(this.pnlAddEditAT);
784 this.tpAccessTypes.Location = new System.Drawing.Point(4, 22);
785 this.tpAccessTypes.Name = "tpAccessTypes";
786 this.tpAccessTypes.Size = new System.Drawing.Size(579, 362);
787 this.tpAccessTypes.TabIndex = 2;
788 this.tpAccessTypes.Text = "Access Types";
789 //
790 // grdAccessTypes
791 //
792 this.grdAccessTypes.DataMember = "";
793 this.grdAccessTypes.Dock = System.Windows.Forms.DockStyle.Fill;
794 this.grdAccessTypes.HeaderForeColor = System.Drawing.SystemColors.ControlText;
795 this.grdAccessTypes.Location = new System.Drawing.Point(0, 0);
796 this.grdAccessTypes.Name = "grdAccessTypes";
797 this.grdAccessTypes.ReadOnly = true;
798 this.grdAccessTypes.RowHeadersVisible = false;
799 this.grdAccessTypes.Size = new System.Drawing.Size(579, 250);
800 this.grdAccessTypes.TabIndex = 3;
801 this.grdAccessTypes.CurrentCellChanged += new System.EventHandler(this.grdAccessTypes_CurrentCellChanged);
802 //
803 // pnlDescriptionAT
804 //
805 this.pnlDescriptionAT.Controls.Add(this.grpDescriptionAT);
806 this.pnlDescriptionAT.Dock = System.Windows.Forms.DockStyle.Bottom;
807 this.pnlDescriptionAT.Location = new System.Drawing.Point(0, 250);
808 this.pnlDescriptionAT.Name = "pnlDescriptionAT";
809 this.pnlDescriptionAT.Size = new System.Drawing.Size(579, 72);
810 this.pnlDescriptionAT.TabIndex = 2;
811 //
812 // grpDescriptionAT
813 //
814 this.grpDescriptionAT.Controls.Add(this.label1);
815 this.grpDescriptionAT.Dock = System.Windows.Forms.DockStyle.Fill;
816 this.grpDescriptionAT.Location = new System.Drawing.Point(0, 0);
817 this.grpDescriptionAT.Name = "grpDescriptionAT";
818 this.grpDescriptionAT.Size = new System.Drawing.Size(579, 72);
819 this.grpDescriptionAT.TabIndex = 0;
820 this.grpDescriptionAT.TabStop = false;
821 this.grpDescriptionAT.Text = "Description";
822 //
823 // label1
824 //
825 this.label1.Dock = System.Windows.Forms.DockStyle.Fill;
826 this.label1.Location = new System.Drawing.Point(3, 16);
827 this.label1.Name = "label1";
828 this.label1.Size = new System.Drawing.Size(573, 53);
829 this.label1.TabIndex = 1;
830 this.label1.Text = " Use the Access Types panel to define the kinds of access available for schedulin" +
831 "g at this facility. Common types of access include Walkin, Scheduled, Same Day," +
832 " and Dental Expanded Functions.";
833 //
834 // pnlAddEditAT
835 //
836 this.pnlAddEditAT.Controls.Add(this.cmdChangeAT);
837 this.pnlAddEditAT.Controls.Add(this.cmdAddAT);
838 this.pnlAddEditAT.Dock = System.Windows.Forms.DockStyle.Bottom;
839 this.pnlAddEditAT.Location = new System.Drawing.Point(0, 322);
840 this.pnlAddEditAT.Name = "pnlAddEditAT";
841 this.pnlAddEditAT.Size = new System.Drawing.Size(579, 40);
842 this.pnlAddEditAT.TabIndex = 1;
843 //
844 // cmdChangeAT
845 //
846 this.cmdChangeAT.Location = new System.Drawing.Point(160, 8);
847 this.cmdChangeAT.Name = "cmdChangeAT";
848 this.cmdChangeAT.Size = new System.Drawing.Size(128, 24);
849 this.cmdChangeAT.TabIndex = 1;
850 this.cmdChangeAT.Text = "&Change Access Type";
851 this.cmdChangeAT.Click += new System.EventHandler(this.cmdChangeAT_Click);
852 //
853 // cmdAddAT
854 //
855 this.cmdAddAT.Location = new System.Drawing.Point(16, 8);
856 this.cmdAddAT.Name = "cmdAddAT";
857 this.cmdAddAT.Size = new System.Drawing.Size(128, 24);
858 this.cmdAddAT.TabIndex = 0;
859 this.cmdAddAT.Text = "&Add Access Type";
860 this.cmdAddAT.Click += new System.EventHandler(this.cmdAddAT_Click);
861 //
862 // tpAccessGroups
863 //
864 this.tpAccessGroups.Controls.Add(this.grdAccessGroups);
865 this.tpAccessGroups.Controls.Add(this.pnlDescriptionAccessGroups);
866 this.tpAccessGroups.Controls.Add(this.pnlAddEditAccessGroup);
867 this.tpAccessGroups.Location = new System.Drawing.Point(4, 22);
868 this.tpAccessGroups.Name = "tpAccessGroups";
869 this.tpAccessGroups.Size = new System.Drawing.Size(579, 362);
870 this.tpAccessGroups.TabIndex = 1;
871 this.tpAccessGroups.Text = "Access Groups";
872 //
873 // grdAccessGroups
874 //
875 this.grdAccessGroups.AccessibleName = "DataGrid";
876 this.grdAccessGroups.AccessibleRole = System.Windows.Forms.AccessibleRole.Table;
877 this.grdAccessGroups.DataMember = "";
878 this.grdAccessGroups.Dock = System.Windows.Forms.DockStyle.Fill;
879 this.grdAccessGroups.HeaderForeColor = System.Drawing.SystemColors.ControlText;
880 this.grdAccessGroups.Location = new System.Drawing.Point(0, 0);
881 this.grdAccessGroups.Name = "grdAccessGroups";
882 this.grdAccessGroups.ReadOnly = true;
883 this.grdAccessGroups.Size = new System.Drawing.Size(579, 250);
884 this.grdAccessGroups.TabIndex = 5;
885 this.grdAccessGroups.CurrentCellChanged += new System.EventHandler(this.grdAccessGroups_CurrentCellChanged);
886 this.grdAccessGroups.Navigate += new System.Windows.Forms.NavigateEventHandler(this.grdAccessGroups_Navigate);
887 //
888 // pnlDescriptionAccessGroups
889 //
890 this.pnlDescriptionAccessGroups.Controls.Add(this.grpDescriptionAccessGroups);
891 this.pnlDescriptionAccessGroups.Dock = System.Windows.Forms.DockStyle.Bottom;
892 this.pnlDescriptionAccessGroups.Location = new System.Drawing.Point(0, 250);
893 this.pnlDescriptionAccessGroups.Name = "pnlDescriptionAccessGroups";
894 this.pnlDescriptionAccessGroups.Size = new System.Drawing.Size(579, 72);
895 this.pnlDescriptionAccessGroups.TabIndex = 4;
896 //
897 // grpDescriptionAccessGroups
898 //
899 this.grpDescriptionAccessGroups.Controls.Add(this.lblDescriptionAccessGroups);
900 this.grpDescriptionAccessGroups.Dock = System.Windows.Forms.DockStyle.Fill;
901 this.grpDescriptionAccessGroups.Location = new System.Drawing.Point(0, 0);
902 this.grpDescriptionAccessGroups.Name = "grpDescriptionAccessGroups";
903 this.grpDescriptionAccessGroups.Size = new System.Drawing.Size(579, 72);
904 this.grpDescriptionAccessGroups.TabIndex = 0;
905 this.grpDescriptionAccessGroups.TabStop = false;
906 this.grpDescriptionAccessGroups.Text = "Description";
907 //
908 // lblDescriptionAccessGroups
909 //
910 this.lblDescriptionAccessGroups.Dock = System.Windows.Forms.DockStyle.Fill;
911 this.lblDescriptionAccessGroups.Location = new System.Drawing.Point(3, 16);
912 this.lblDescriptionAccessGroups.Name = "lblDescriptionAccessGroups";
913 this.lblDescriptionAccessGroups.Size = new System.Drawing.Size(573, 53);
914 this.lblDescriptionAccessGroups.TabIndex = 0;
915 this.lblDescriptionAccessGroups.Text = resources.GetString("lblDescriptionAccessGroups.Text");
916 //
917 // pnlAddEditAccessGroup
918 //
919 this.pnlAddEditAccessGroup.Controls.Add(this.cmdChangeAccessGroup);
920 this.pnlAddEditAccessGroup.Controls.Add(this.cmdRemoveAccessGroup);
921 this.pnlAddEditAccessGroup.Controls.Add(this.cmdAddAccessGroup);
922 this.pnlAddEditAccessGroup.Dock = System.Windows.Forms.DockStyle.Bottom;
923 this.pnlAddEditAccessGroup.Location = new System.Drawing.Point(0, 322);
924 this.pnlAddEditAccessGroup.Name = "pnlAddEditAccessGroup";
925 this.pnlAddEditAccessGroup.Size = new System.Drawing.Size(579, 40);
926 this.pnlAddEditAccessGroup.TabIndex = 3;
927 //
928 // cmdChangeAccessGroup
929 //
930 this.cmdChangeAccessGroup.Enabled = false;
931 this.cmdChangeAccessGroup.Location = new System.Drawing.Point(160, 8);
932 this.cmdChangeAccessGroup.Name = "cmdChangeAccessGroup";
933 this.cmdChangeAccessGroup.Size = new System.Drawing.Size(128, 24);
934 this.cmdChangeAccessGroup.TabIndex = 3;
935 this.cmdChangeAccessGroup.Text = "&Change Group";
936 this.cmdChangeAccessGroup.Click += new System.EventHandler(this.cmdChangeAccessGroup_Click);
937 //
938 // cmdRemoveAccessGroup
939 //
940 this.cmdRemoveAccessGroup.Enabled = false;
941 this.cmdRemoveAccessGroup.Location = new System.Drawing.Point(304, 8);
942 this.cmdRemoveAccessGroup.Name = "cmdRemoveAccessGroup";
943 this.cmdRemoveAccessGroup.Size = new System.Drawing.Size(128, 24);
944 this.cmdRemoveAccessGroup.TabIndex = 1;
945 this.cmdRemoveAccessGroup.Text = "&Remove Group";
946 this.cmdRemoveAccessGroup.Click += new System.EventHandler(this.cmdRemoveAccessGroup_Click);
947 //
948 // cmdAddAccessGroup
949 //
950 this.cmdAddAccessGroup.Location = new System.Drawing.Point(16, 8);
951 this.cmdAddAccessGroup.Name = "cmdAddAccessGroup";
952 this.cmdAddAccessGroup.Size = new System.Drawing.Size(128, 24);
953 this.cmdAddAccessGroup.TabIndex = 0;
954 this.cmdAddAccessGroup.Text = "&Add Group";
955 this.cmdAddAccessGroup.Click += new System.EventHandler(this.cmdAddAccessGroup_Click);
956 //
957 // tpTransferAppts
958 //
959 this.tpTransferAppts.Controls.Add(this.label5);
960 this.tpTransferAppts.Controls.Add(this.dtpEnd);
961 this.tpTransferAppts.Controls.Add(this.label4);
962 this.tpTransferAppts.Controls.Add(this.dtpBegin);
963 this.tpTransferAppts.Controls.Add(this.label3);
964 this.tpTransferAppts.Controls.Add(this.cboBSDXClinic);
965 this.tpTransferAppts.Controls.Add(this.label2);
966 this.tpTransferAppts.Controls.Add(this.cboRPMSClinic);
967 this.tpTransferAppts.Controls.Add(this.pnlDescriptionXfer);
968 this.tpTransferAppts.Controls.Add(this.pnlCmdXfer);
969 this.tpTransferAppts.Location = new System.Drawing.Point(4, 22);
970 this.tpTransferAppts.Name = "tpTransferAppts";
971 this.tpTransferAppts.Size = new System.Drawing.Size(579, 362);
972 this.tpTransferAppts.TabIndex = 5;
973 this.tpTransferAppts.Text = "Copy Appointments";
974 //
975 // label5
976 //
977 this.label5.Location = new System.Drawing.Point(8, 128);
978 this.label5.Name = "label5";
979 this.label5.Size = new System.Drawing.Size(144, 18);
980 this.label5.TabIndex = 10;
981 this.label5.Text = "End with appointments on:";
982 //
983 // dtpEnd
984 //
985 this.dtpEnd.Location = new System.Drawing.Point(152, 128);
986 this.dtpEnd.Name = "dtpEnd";
987 this.dtpEnd.Size = new System.Drawing.Size(232, 20);
988 this.dtpEnd.TabIndex = 9;
989 //
990 // label4
991 //
992 this.label4.Location = new System.Drawing.Point(8, 94);
993 this.label4.Name = "label4";
994 this.label4.Size = new System.Drawing.Size(144, 18);
995 this.label4.TabIndex = 8;
996 this.label4.Text = "Start with appointments on:";
997 //
998 // dtpBegin
999 //
1000 this.dtpBegin.Location = new System.Drawing.Point(152, 93);
1001 this.dtpBegin.Name = "dtpBegin";
1002 this.dtpBegin.Size = new System.Drawing.Size(232, 20);
1003 this.dtpBegin.TabIndex = 7;
1004 //
1005 // label3
1006 //
1007 this.label3.Location = new System.Drawing.Point(8, 46);
1008 this.label3.Name = "label3";
1009 this.label3.Size = new System.Drawing.Size(136, 24);
1010 this.label3.TabIndex = 6;
1011 this.label3.Text = "Copy To Windows Scheduling Resource:";
1012 //
1013 // cboBSDXClinic
1014 //
1015 this.cboBSDXClinic.Location = new System.Drawing.Point(152, 48);
1016 this.cboBSDXClinic.Name = "cboBSDXClinic";
1017 this.cboBSDXClinic.Size = new System.Drawing.Size(232, 21);
1018 this.cboBSDXClinic.TabIndex = 5;
1019 this.cboBSDXClinic.Text = "cboBSDXClinic";
1020 //
1021 // label2
1022 //
1023 this.label2.Location = new System.Drawing.Point(8, 18);
1024 this.label2.Name = "label2";
1025 this.label2.Size = new System.Drawing.Size(136, 16);
1026 this.label2.TabIndex = 4;
1027 this.label2.Text = "Copy From VistA Clinic:";
1028 //
1029 // cboRPMSClinic
1030 //
1031 this.cboRPMSClinic.Location = new System.Drawing.Point(152, 16);
1032 this.cboRPMSClinic.Name = "cboRPMSClinic";
1033 this.cboRPMSClinic.Size = new System.Drawing.Size(232, 21);
1034 this.cboRPMSClinic.TabIndex = 3;
1035 this.cboRPMSClinic.Text = "cboRPMSClinic";
1036 //
1037 // pnlDescriptionXfer
1038 //
1039 this.pnlDescriptionXfer.Controls.Add(this.grpDescriptionXfer);
1040 this.pnlDescriptionXfer.Dock = System.Windows.Forms.DockStyle.Bottom;
1041 this.pnlDescriptionXfer.Location = new System.Drawing.Point(0, 250);
1042 this.pnlDescriptionXfer.Name = "pnlDescriptionXfer";
1043 this.pnlDescriptionXfer.Size = new System.Drawing.Size(579, 72);
1044 this.pnlDescriptionXfer.TabIndex = 2;
1045 //
1046 // grpDescriptionXfer
1047 //
1048 this.grpDescriptionXfer.Controls.Add(this.lblDescriptionXfer);
1049 this.grpDescriptionXfer.Dock = System.Windows.Forms.DockStyle.Fill;
1050 this.grpDescriptionXfer.Location = new System.Drawing.Point(0, 0);
1051 this.grpDescriptionXfer.Name = "grpDescriptionXfer";
1052 this.grpDescriptionXfer.Size = new System.Drawing.Size(579, 72);
1053 this.grpDescriptionXfer.TabIndex = 0;
1054 this.grpDescriptionXfer.TabStop = false;
1055 this.grpDescriptionXfer.Text = "Description";
1056 //
1057 // lblDescriptionXfer
1058 //
1059 this.lblDescriptionXfer.Dock = System.Windows.Forms.DockStyle.Fill;
1060 this.lblDescriptionXfer.Location = new System.Drawing.Point(3, 16);
1061 this.lblDescriptionXfer.Name = "lblDescriptionXfer";
1062 this.lblDescriptionXfer.Size = new System.Drawing.Size(573, 53);
1063 this.lblDescriptionXfer.TabIndex = 0;
1064 this.lblDescriptionXfer.Text = resources.GetString("lblDescriptionXfer.Text");
1065 //
1066 // pnlCmdXfer
1067 //
1068 this.pnlCmdXfer.Controls.Add(this.cmdCopyAppts);
1069 this.pnlCmdXfer.Dock = System.Windows.Forms.DockStyle.Bottom;
1070 this.pnlCmdXfer.Location = new System.Drawing.Point(0, 322);
1071 this.pnlCmdXfer.Name = "pnlCmdXfer";
1072 this.pnlCmdXfer.Size = new System.Drawing.Size(579, 40);
1073 this.pnlCmdXfer.TabIndex = 1;
1074 //
1075 // cmdCopyAppts
1076 //
1077 this.cmdCopyAppts.Location = new System.Drawing.Point(16, 8);
1078 this.cmdCopyAppts.Name = "cmdCopyAppts";
1079 this.cmdCopyAppts.Size = new System.Drawing.Size(128, 24);
1080 this.cmdCopyAppts.TabIndex = 0;
1081 this.cmdCopyAppts.Text = "&Copy Appointments";
1082 this.cmdCopyAppts.Click += new System.EventHandler(this.cmdCopyAppts_Click);
1083 //
1084 // tpWorkStations
1085 //
1086 this.tpWorkStations.Controls.Add(this.grdWorkStations);
1087 this.tpWorkStations.Controls.Add(this.pnlWorkstations);
1088 this.tpWorkStations.Controls.Add(this.panel1);
1089 this.tpWorkStations.Location = new System.Drawing.Point(4, 22);
1090 this.tpWorkStations.Name = "tpWorkStations";
1091 this.tpWorkStations.Size = new System.Drawing.Size(579, 362);
1092 this.tpWorkStations.TabIndex = 6;
1093 this.tpWorkStations.Text = "WorkStations";
1094 //
1095 // grdWorkStations
1096 //
1097 this.grdWorkStations.AccessibleName = "DataGrid";
1098 this.grdWorkStations.AccessibleRole = System.Windows.Forms.AccessibleRole.Table;
1099 this.grdWorkStations.DataMember = "";
1100 this.grdWorkStations.Dock = System.Windows.Forms.DockStyle.Fill;
1101 this.grdWorkStations.HeaderForeColor = System.Drawing.SystemColors.ControlText;
1102 this.grdWorkStations.Location = new System.Drawing.Point(0, 0);
1103 this.grdWorkStations.Name = "grdWorkStations";
1104 this.grdWorkStations.ReadOnly = true;
1105 this.grdWorkStations.Size = new System.Drawing.Size(579, 250);
1106 this.grdWorkStations.TabIndex = 6;
1107 //
1108 // pnlWorkstations
1109 //
1110 this.pnlWorkstations.Controls.Add(this.groupBox1);
1111 this.pnlWorkstations.Dock = System.Windows.Forms.DockStyle.Bottom;
1112 this.pnlWorkstations.Location = new System.Drawing.Point(0, 250);
1113 this.pnlWorkstations.Name = "pnlWorkstations";
1114 this.pnlWorkstations.Size = new System.Drawing.Size(579, 72);
1115 this.pnlWorkstations.TabIndex = 5;
1116 //
1117 // groupBox1
1118 //
1119 this.groupBox1.Controls.Add(this.lblWorkstations);
1120 this.groupBox1.Dock = System.Windows.Forms.DockStyle.Fill;
1121 this.groupBox1.Location = new System.Drawing.Point(0, 0);
1122 this.groupBox1.Name = "groupBox1";
1123 this.groupBox1.Size = new System.Drawing.Size(579, 72);
1124 this.groupBox1.TabIndex = 0;
1125 this.groupBox1.TabStop = false;
1126 this.groupBox1.Text = "Description";
1127 //
1128 // lblWorkstations
1129 //
1130 this.lblWorkstations.Dock = System.Windows.Forms.DockStyle.Fill;
1131 this.lblWorkstations.Location = new System.Drawing.Point(3, 16);
1132 this.lblWorkstations.Name = "lblWorkstations";
1133 this.lblWorkstations.Size = new System.Drawing.Size(573, 53);
1134 this.lblWorkstations.TabIndex = 0;
1135 this.lblWorkstations.Text = resources.GetString("lblWorkstations.Text");
1136 //
1137 // panel1
1138 //
1139 this.panel1.Controls.Add(this.txtSendMessage);
1140 this.panel1.Controls.Add(this.cmdWorkStationsMessage);
1141 this.panel1.Controls.Add(this.cmdWorkStationsShutdown);
1142 this.panel1.Controls.Add(this.cmdWorkStationsRefresh);
1143 this.panel1.Dock = System.Windows.Forms.DockStyle.Bottom;
1144 this.panel1.Location = new System.Drawing.Point(0, 322);
1145 this.panel1.Name = "panel1";
1146 this.panel1.Size = new System.Drawing.Size(579, 40);
1147 this.panel1.TabIndex = 4;
1148 //
1149 // txtSendMessage
1150 //
1151 this.txtSendMessage.Location = new System.Drawing.Point(440, 8);
1152 this.txtSendMessage.Name = "txtSendMessage";
1153 this.txtSendMessage.Size = new System.Drawing.Size(248, 20);
1154 this.txtSendMessage.TabIndex = 4;
1155 //
1156 // cmdWorkStationsMessage
1157 //
1158 this.cmdWorkStationsMessage.Location = new System.Drawing.Point(160, 8);
1159 this.cmdWorkStationsMessage.Name = "cmdWorkStationsMessage";
1160 this.cmdWorkStationsMessage.Size = new System.Drawing.Size(128, 24);
1161 this.cmdWorkStationsMessage.TabIndex = 3;
1162 this.cmdWorkStationsMessage.Text = "Send &Message";
1163 this.cmdWorkStationsMessage.Click += new System.EventHandler(this.cmdWorkStationsMessage_Click);
1164 //
1165 // cmdWorkStationsShutdown
1166 //
1167 this.cmdWorkStationsShutdown.Location = new System.Drawing.Point(304, 8);
1168 this.cmdWorkStationsShutdown.Name = "cmdWorkStationsShutdown";
1169 this.cmdWorkStationsShutdown.Size = new System.Drawing.Size(128, 24);
1170 this.cmdWorkStationsShutdown.TabIndex = 1;
1171 this.cmdWorkStationsShutdown.Text = "&Stop Workstations";
1172 this.cmdWorkStationsShutdown.Click += new System.EventHandler(this.cmdWorkStationsShutdown_Click);
1173 //
1174 // cmdWorkStationsRefresh
1175 //
1176 this.cmdWorkStationsRefresh.Location = new System.Drawing.Point(16, 8);
1177 this.cmdWorkStationsRefresh.Name = "cmdWorkStationsRefresh";
1178 this.cmdWorkStationsRefresh.Size = new System.Drawing.Size(128, 24);
1179 this.cmdWorkStationsRefresh.TabIndex = 0;
1180 this.cmdWorkStationsRefresh.Text = "&Refresh";
1181 this.cmdWorkStationsRefresh.Click += new System.EventHandler(this.cmdWorkStationsRefresh_Click);
1182 //
1183 // DManagement
1184 //
1185 this.AcceptButton = this.cmdClose;
1186 this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
1187 this.ClientSize = new System.Drawing.Size(704, 494);
1188 this.Controls.Add(this.tabMain);
1189 this.Controls.Add(this.pnlPageBottom);
1190 this.Name = "DManagement";
1191 this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
1192 this.Text = "Scheduling Management";
1193 this.Load += new System.EventHandler(this.DManagement_Load);
1194 this.Closing += new System.ComponentModel.CancelEventHandler(this.DManagement_Closing);
1195 this.pnlPageBottom.ResumeLayout(false);
1196 this.tabMain.ResumeLayout(false);
1197 this.tpResources.ResumeLayout(false);
1198 this.pnlResources.ResumeLayout(false);
1199 ((System.ComponentModel.ISupportInitialize)(this.grdResources)).EndInit();
1200 this.pnlDescription.ResumeLayout(false);
1201 this.grpDescription.ResumeLayout(false);
1202 this.pnlAddEdit.ResumeLayout(false);
1203 this.tpResourceGroups.ResumeLayout(false);
1204 ((System.ComponentModel.ISupportInitialize)(this.grdResourceGroup)).EndInit();
1205 this.pnlDescriptionResourceGroup.ResumeLayout(false);
1206 this.grpDescriptionResourceGroup.ResumeLayout(false);
1207 this.pnlAddEditResourceGroups.ResumeLayout(false);
1208 this.tpAccessTypes.ResumeLayout(false);
1209 ((System.ComponentModel.ISupportInitialize)(this.grdAccessTypes)).EndInit();
1210 this.pnlDescriptionAT.ResumeLayout(false);
1211 this.grpDescriptionAT.ResumeLayout(false);
1212 this.pnlAddEditAT.ResumeLayout(false);
1213 this.tpAccessGroups.ResumeLayout(false);
1214 ((System.ComponentModel.ISupportInitialize)(this.grdAccessGroups)).EndInit();
1215 this.pnlDescriptionAccessGroups.ResumeLayout(false);
1216 this.grpDescriptionAccessGroups.ResumeLayout(false);
1217 this.pnlAddEditAccessGroup.ResumeLayout(false);
1218 this.tpTransferAppts.ResumeLayout(false);
1219 this.pnlDescriptionXfer.ResumeLayout(false);
1220 this.grpDescriptionXfer.ResumeLayout(false);
1221 this.pnlCmdXfer.ResumeLayout(false);
1222 this.tpWorkStations.ResumeLayout(false);
1223 ((System.ComponentModel.ISupportInitialize)(this.grdWorkStations)).EndInit();
1224 this.pnlWorkstations.ResumeLayout(false);
1225 this.groupBox1.ResumeLayout(false);
1226 this.panel1.ResumeLayout(false);
1227 this.panel1.PerformLayout();
1228 this.ResumeLayout(false);
1229
1230 }
1231 #endregion
1232
1233 #region TabMain
1234 private void tabMain_Click(object sender, System.EventArgs e)
1235 {
1236 TabPage tp = tabMain.SelectedTab;
1237 if (tp.Text == "Resource Groups")
1238 {
1239 //20041109 Added below
1240 InitResourceGroupsPage();
1241 }
1242 //20041109 Added below
1243 if (tp.Text == "Access Groups")
1244 {
1245 InitAccessGroupsPage();
1246 }
1247
1248 }
1249 #endregion TabMain
1250
1251 #region Resources
1252
1253 private void cmdAddResource_Click(object sender, System.EventArgs e)
1254 {
1255 try
1256 {
1257 if (m_bEditUsers == true)
1258 {
1259 AddResourceUser();
1260 return;
1261 }
1262
1263 DResource dRes = new DResource();
1264 dRes.InitializePage(-1, this.m_dsGlobal);
1265 if (dRes.ShowDialog(this) == DialogResult.Cancel)
1266 {
1267 return;
1268 }
1269
1270 //Call RPMS to add new resource
1271 bool bInactive = dRes.Inactive;
1272 string sInactive = (bInactive == true)?"YES":"NO";
1273 string sResourceName = dRes.ResourceName;
1274 int nHospLocID = dRes.HospitalLocationID;
1275 string sHospLocID = nHospLocID.ToString();
1276 int nResourceID = dRes.ResourceID;
1277 string sResourceID = nResourceID.ToString();
1278
1279 int nTimeScale = dRes.TimeScale;
1280 string sTimeScale = nTimeScale.ToString();
1281 string sLetterText = dRes.LetterText;
1282
1283 string sNoShowLetter = dRes.NoShowLetterText;
1284 string sCancellationLetter = dRes.CancellationLetterText;
1285
1286 string sSql = "BSDX ADD/EDIT RESOURCE^" + sResourceID + "|" + sResourceName + "|" + sInactive + "|" + sHospLocID + "|" + sTimeScale + "|" + sLetterText + "|" + sNoShowLetter + "|" + sCancellationLetter;
1287 DataTable dtRes = m_DocManager.RPMSDataTable(sSql, "Resource");
1288
1289 Debug.Assert(dtRes.Rows.Count == 1);
1290 if (dtRes.Rows.Count != 1)
1291 {
1292 throw new Exception("DManagement:cmdAddResource_Click: Unable to add new Resource.");
1293 }
1294 DataRow dr = dtRes.Rows[0];
1295 int nErrorID = (int) dr["RESOURCEID"];
1296 if (nErrorID == 0)
1297 {
1298 throw new Exception((string) dr["ERRORTEXT"]);
1299 }
1300 m_dsGlobal.Tables["GroupResources"].Clear();
1301 m_dsGlobal.Tables["ResourceUser"].Clear();
1302 m_dsGlobal.Tables["Resources"].Clear();
1303 m_DocManager.LoadBSDXResourcesTable();
1304
1305 m_DocManager.LoadGroupResourcesTable();
1306
1307 m_DocManager.LoadResourceUserTable();
1308
1309 m_DocManager.UpdateViews();
1310 }
1311 catch (Exception ex)
1312 {
1313 MessageBox.Show(ex.Message);
1314 }
1315 }
1316
1317 private void cmdChangeResource_Click(object sender, System.EventArgs e)
1318 {
1319 try
1320 {
1321 if (m_bEditUsers == true)
1322 {
1323 ChangeResourceUser();
1324 return;
1325 }
1326
1327 Object oSelectedResourceID = grdResources[grdResources.CurrentRowIndex, 0];
1328 int nSelectedResourceID = Convert.ToInt16(oSelectedResourceID);
1329
1330 DResource dRes = new DResource();
1331 dRes.InitializePage(nSelectedResourceID, this.m_dsGlobal);
1332
1333 if (dRes.ShowDialog(this) == DialogResult.Cancel)
1334 {
1335 return;
1336 }
1337
1338 //Call RPMS to change data for resource
1339 bool bInactive = dRes.Inactive;
1340 string sInactive = (bInactive == true)?"YES":"NO";
1341 string sResourceName = dRes.ResourceName;
1342 int nHospLocID = dRes.HospitalLocationID;
1343 string sHospLocID = nHospLocID.ToString();
1344 int nResourceID = dRes.ResourceID;
1345 string sResourceID = nResourceID.ToString();
1346
1347 int nTimeScale = dRes.TimeScale;
1348 string sTimeScale = nTimeScale.ToString();
1349 string sLetterText = dRes.LetterText;
1350
1351 string sNoShowLetter = dRes.NoShowLetterText;
1352 string sCancellationLetter = dRes.CancellationLetterText;
1353
1354 //Replace all crlfs with "@~" character combination
1355 //sLetterText = sLetterText.Replace("\r\n","@~");
1356
1357 string sSql = "BSDX ADD/EDIT RESOURCE^" + sResourceID + "|" + sResourceName + "|" + sInactive + "|" + sHospLocID + "|" + sTimeScale + "|" + sLetterText + "|" + sNoShowLetter + "|" + sCancellationLetter;
1358 DataTable dtRes = m_DocManager.RPMSDataTable(sSql, "Resource");
1359
1360 if (dtRes.Rows.Count != 1)
1361 {
1362 Exception ex = new Exception("Unable to update Resource file");
1363 throw ex;
1364 }
1365 DataRow rw = dtRes.Rows[0];
1366 string sError = rw["ERRORTEXT"].ToString();
1367 if (sError != "")
1368 {
1369 Exception ex = new Exception(sError);
1370 throw ex;
1371 }
1372
1373 m_dsGlobal.Tables["ResourceUser"].Clear();
1374
1375 m_dsGlobal.Tables["Resources"].Clear();
1376 m_DocManager.LoadBSDXResourcesTable();
1377 m_DocManager.LoadResourceUserTable();
1378
1379 m_dsGlobal.Tables["GroupResources"].Clear();
1380 m_DocManager.LoadGroupResourcesTable();
1381
1382 m_DocManager.UpdateViews();
1383 }
1384 catch (Exception ex)
1385 {
1386 MessageBox.Show(ex.Message);
1387 }
1388 }
1389
1390 private void grdResources_CurrentCellChanged(object sender, System.EventArgs e)
1391 {
1392 DataGridCell dgCell;
1393 dgCell = this.grdResources.CurrentCell;
1394 m_nResourceRow = dgCell.RowNumber;
1395 this.grdResources.Select(m_nResourceRow);
1396 if (m_sMember == "Resource")
1397 {
1398 Object dgItem = grdResources[dgCell.RowNumber, 0];
1399 this.m_nResourceID = Convert.ToInt16(dgItem);
1400 Debug.Write("m_nResourceID changed to " + m_nResourceID.ToString() + "\n");
1401 }
1402 this.cmdChangeResource.Enabled = true;
1403 }
1404 private void grdResources_Navigate(object sender, System.Windows.Forms.NavigateEventArgs ne)
1405 {
1406 m_sMember = grdResources.DataMember.ToString();
1407 if (m_sMember == "")
1408 m_sMember = "Resource";
1409
1410 if (m_sMember == "ResourceUser")
1411 {
1412 m_bEditUsers = true;
1413 this.cmdAddResource.Text = "Add User...";
1414 this.cmdChangeResource.Text = "Change User...";
1415 this.cmdRemoveUser.Visible = true;
1416 this.lblDescription.Text = "Define the users who can create appointments and establish availability for a particular resource. Users must first be given basic access to the VistA Scheduling package using standard VistA menu and key management before they can be selected here and assigned to a resource. Click the left-pointing arrow near the upper right of the window to go back to the list of resources.";
1417 int nRows = this.grdResources.VisibleRowCount;
1418 if (nRows == 0)
1419 {
1420 this.cmdChangeResource.Enabled = false;
1421 this.cmdRemoveUser.Enabled = false;
1422 }
1423 else
1424 {
1425 grdResources.CurrentCell = new DataGridCell(0, 0);
1426 this.cmdChangeResource.Enabled = true;
1427 this.cmdRemoveUser.Enabled = true;
1428 }
1429 }
1430 else
1431 {
1432 m_bEditUsers = false;
1433 this.cmdAddResource.Text = "Add ...";
1434 this.cmdChangeResource.Text = "Change...";
1435 this.cmdRemoveUser.Visible = false;
1436 this.lblDescription.Text="Use the resources panel to define the set of clinical entities available for scheduling at this facility. Resources may include care providers (for example, dentists and physicians) or other kinds of scheduled services, facilities or equipment. Click the small + sign next to the resource name to manage the users who can schedule this resource.";
1437 this.cmdChangeResource.Enabled = true;
1438 }
1439 }
1440
1441 #endregion Resources
1442
1443 #region ResourceUser
1444
1445 private void AddResourceUser()
1446 {
1447 DResourceUser dRes = new DResourceUser();
1448
1449 //Find out if there are any rows here
1450 int nRows = this.grdResources.VisibleRowCount;
1451 if (nRows == 0)
1452 {
1453 this.cmdChangeResource.Enabled = false;
1454 this.cmdRemoveUser.Enabled = false;
1455 }
1456
1457 dRes.InitializePage(-1, this.m_dsGlobal);
1458 if (dRes.ShowDialog(this) == DialogResult.Cancel)
1459 {
1460 return;
1461 }
1462 //Call RPMS to add new Resource User
1463 int nUserID = dRes.UserID;
1464 string sUserID = nUserID.ToString();
1465 bool bOverbook = dRes.Overbook;
1466 string sOverbook = (bOverbook == true)?"YES":"NO";
1467 bool bModifySchedule = dRes.ModifySchedule;
1468 string sModifySchedule = (bModifySchedule == true)?"YES":"NO";
1469 bool bAppointments = dRes.Appoinmtments;
1470 string sAppointments = (bAppointments == true)?"YES":"NO";
1471
1472 string sSql = "BSDX ADD/EDIT RESOURCEUSER^" + "0" + "|" + sOverbook + "|" + sModifySchedule + "|" + m_nResourceID + "|" + sUserID + "|" + sAppointments;
1473 DataTable dtRes = m_DocManager.RPMSDataTable(sSql, "TempResourceUser");
1474
1475 m_dsGlobal.Tables["ResourceUser"].Clear();
1476 m_DocManager.LoadResourceUserTable(true);
1477
1478 m_DocManager.UpdateViews();
1479 }
1480
1481
1482 private void ChangeResourceUser()
1483 {
1484 Object oSelectedResourceUserID = grdResources[grdResources.CurrentCell.RowNumber, 1];
1485 int nSelectedResourceUserID = Convert.ToInt16(oSelectedResourceUserID);
1486 DResourceUser dRes = new DResourceUser();
1487 dRes.InitializePage(nSelectedResourceUserID, this.m_dsGlobal);
1488 if (dRes.ShowDialog(this) != DialogResult.OK)
1489 {
1490 return;
1491 }
1492 //Call RPMS to change Resource User
1493 int nUserID = dRes.UserID;
1494 string sUserID = nUserID.ToString();
1495 bool bOverbook = dRes.Overbook;
1496 string sOverbook = (bOverbook == true)?"YES":"NO";
1497 bool bModifySchedule = dRes.ModifySchedule;
1498 string sModifySchedule = (bModifySchedule == true)?"YES":"NO";
1499 bool bAppointments = dRes.Appoinmtments;
1500 string sAppointments = (bAppointments == true)?"YES":"NO";
1501
1502 string sSql = "BSDX ADD/EDIT RESOURCEUSER^" + nSelectedResourceUserID.ToString() + "|" + sOverbook + "|" + sModifySchedule + "|" + m_nResourceID + "|" + sUserID + "|" + sAppointments ;
1503 DataTable dtRes = m_DocManager.RPMSDataTable(sSql, "TempResourceUser");
1504
1505 m_dsGlobal.Tables["ResourceUser"].Clear();
1506 m_DocManager.LoadResourceUserTable(true);
1507
1508 m_DocManager.UpdateViews();
1509 }
1510
1511
1512 private void cmdRemoveUser_Click(object sender, System.EventArgs e)
1513 {
1514 Object oSelectedResourceUserID = grdResources[grdResources.CurrentCell.RowNumber, 1];
1515 int nSelectedResourceUserID = Convert.ToInt16(oSelectedResourceUserID);
1516
1517 string sSql = "BSDX DELETE RESOURCEUSER^" + nSelectedResourceUserID.ToString();
1518 DataTable dtRes = m_DocManager.RPMSDataTable(sSql, "TempResUsr");
1519
1520 m_dsGlobal.Tables["ResourceUser"].Clear();
1521 m_DocManager.LoadResourceUserTable(true);
1522
1523 m_DocManager.UpdateViews();
1524 int nRows = this.grdResources.VisibleRowCount;
1525 if (nRows == 0)
1526 {
1527 this.cmdChangeResource.Enabled = false;
1528 this.cmdRemoveUser.Enabled = false;
1529 }
1530 else
1531 {
1532 grdResources.Select(0);
1533 this.cmdChangeResource.Enabled = true;
1534 this.cmdRemoveUser.Enabled = true;
1535 }
1536 }
1537
1538 #endregion ResourceUser
1539
1540 #region ResourceGroups
1541
1542 //20041109 Added below
1543 private void InitResourceGroupsPage()
1544 {
1545 this.cmdChangeResourceGroup.Enabled = false;
1546 this.cmdRemoveResourceGroup.Enabled = false;
1547 if (this.m_dvResourceGroup.Count > 0)
1548 {
1549 this.m_nResourceGroupRow = 0;
1550
1551 this.grdResourceGroup.CurrentCell = new DataGridCell(0,0);
1552 this.grdResourceGroup.Select(0);
1553 this.m_nResourceGroupRow = 0;
1554 object dgItem = this.grdResourceGroup[0,0];
1555 this.m_nResourceGroupID = Convert.ToInt16(dgItem);
1556 dgItem = grdResourceGroup[0,1];
1557 this.m_sResourceGroupName = dgItem.ToString();
1558
1559 this.cmdChangeResourceGroup.Enabled = true;
1560 this.cmdRemoveResourceGroup.Enabled = true;
1561 }
1562 }
1563
1564 private void cmdAddResourceGroup_Click(object sender, System.EventArgs e)
1565 {
1566 try
1567 {
1568 if (m_bEditGroupItems == true)
1569 {
1570 AddResourceGroupItem();
1571 return;
1572 }
1573
1574 DResourceGroup dRes = new DResourceGroup();
1575 dRes.InitializePage(-1, this.m_dsGlobal);
1576 if (dRes.ShowDialog(this) == DialogResult.Cancel)
1577 {
1578 return;
1579 }
1580
1581 //Call RPMS to add new resource
1582
1583 string sResGroupName = dRes.ResourceGroupName;
1584
1585 string sSql = "BSDX ADD/EDIT RESOURCE GROUP^0|" + sResGroupName;
1586 DataTable dtRes = m_DocManager.RPMSDataTable(sSql, "ResourceGroup");
1587
1588 Debug.Assert(dtRes.Rows.Count == 1);
1589 if (dtRes.Rows.Count != 1)
1590 {
1591 throw new Exception("DManagement:cmdAddResource_Click: Unable to add new Resource Group.");
1592 }
1593 DataRow dr = dtRes.Rows[0];
1594 int nErrorID = (int) dr["RESOURCEGROUPID"];
1595 if (nErrorID == 0)
1596 {
1597 throw new Exception((string) dr["ERRORTEXT"]);
1598 }
1599
1600 m_dsGlobal.Tables["GroupResources"].Clear();
1601 m_DocManager.LoadGroupResourcesTable();
1602 m_DocManager.LoadResourceGroupTable();
1603
1604 m_DocManager.UpdateViews();
1605
1606 //20041109 Added below
1607 InitResourceGroupsPage();
1608 }
1609 catch (Exception ex)
1610 {
1611 MessageBox.Show(ex.Message);
1612 }
1613 }
1614
1615 private void grdResourceGroup_CurrentCellChanged(object sender, System.EventArgs e)
1616 {
1617 DataGridCell dgCell;
1618 dgCell = grdResourceGroup.CurrentCell;
1619 m_nResourceGroupRow = dgCell.RowNumber;
1620 grdResourceGroup.Select(m_nResourceGroupRow);
1621 if (m_sGroupMember == "Group")
1622 {
1623 Object dgItem = grdResourceGroup[dgCell.RowNumber, 1];
1624 m_sResourceGroupName = dgItem.ToString();
1625 dgItem = grdResourceGroup[dgCell.RowNumber, 0];
1626 m_nResourceGroupID = Convert.ToInt16(dgItem);
1627 Debug.Write("m_nResourceGroupID changed to " + m_nResourceGroupID.ToString() + "\n");
1628 }
1629 this.cmdRemoveResourceGroup.Enabled = true;
1630 this.cmdChangeResourceGroup.Enabled = true;
1631 }
1632
1633
1634 private void grdResourceGroup_Navigate(object sender, System.Windows.Forms.NavigateEventArgs ne)
1635 {
1636 m_sGroupMember = grdResourceGroup.DataMember.ToString();
1637 if (m_sGroupMember == "")
1638 m_sGroupMember = "Group";
1639
1640 if (m_sGroupMember == "GroupResource")
1641 {
1642 m_bEditGroupItems = true;
1643 cmdAddResourceGroup.Text = "Add Resource";
1644 this.cmdRemoveResourceGroup.Text = "Remove Resource";
1645 this.cmdChangeResourceGroup.Visible = false;
1646 this.cmdRemoveResourceGroup.Visible = true;
1647 this.lblDescriptionResourceGroup.Text = "Define the Resource which will be a part of this group. Click the left-pointing arrow near the upper right of the window to go back to the list of Resource Groups.";
1648 int nRows = this.grdResourceGroup.VisibleRowCount;
1649 if (nRows == 0)
1650 {
1651 this.cmdRemoveResourceGroup.Enabled = false;
1652 this.cmdChangeResourceGroup.Visible = false;
1653 }
1654 else
1655 {
1656 grdResourceGroup.CurrentCell = new DataGridCell(0, 0);
1657 this.cmdChangeResourceGroup.Visible = false;
1658 this.cmdRemoveResourceGroup.Enabled = true;
1659 }
1660 }
1661 else
1662 {
1663 m_bEditGroupItems = false;
1664 this.cmdAddResourceGroup.Text = "&Add Group";
1665 this.cmdRemoveResourceGroup.Text = "&Remove Group";
1666 this.cmdChangeResourceGroup.Visible = true;
1667 this.lblDescriptionResourceGroup.Text="Use this panel to organize Resources into useful groups. Resource Groups may include departments, clinics or any other collection of resources. Resource groups will be visible to all scheduling users.";
1668 }
1669 }
1670
1671 private void cmdRemoveResourceGroup_Click(object sender, System.EventArgs e)
1672 {
1673 if (m_bEditGroupItems == true)
1674 {
1675 RemoveResourceGroupItem();
1676 return;
1677 }
1678
1679 string sSql = "BSDX DELETE RESOURCE GROUP^" + m_sResourceGroupName;
1680 DataTable dtRes = m_DocManager.RPMSDataTable(sSql, "TempResGrp");
1681
1682 m_dsGlobal.Tables["GroupResources"].Clear();
1683 m_DocManager.LoadGroupResourcesTable();
1684 m_DocManager.LoadResourceGroupTable();
1685
1686 DataTable dt = m_dsGlobal.Tables["ResourceGroup"];
1687 DataRow dr = dt.Rows.Find(m_sResourceGroupName);
1688 dr.Delete();
1689 dr.AcceptChanges();
1690
1691 m_DocManager.UpdateViews();
1692
1693 //20041109 Added below
1694 InitResourceGroupsPage();
1695
1696 //20041109 Removed below
1697// int nRows = this.grdResourceGroup.VisibleRowCount;
1698// if (nRows == 0)
1699// {
1700// this.cmdRemoveResourceGroup.Enabled = false;
1701// }
1702// else
1703// {
1704// grdResourceGroup.Select(0);
1705// this.cmdRemoveResourceGroup.Enabled = true;
1706// }
1707
1708 }
1709
1710 private void AddResourceGroupItem()
1711 {
1712 DResourceGroupItem dRes = new DResourceGroupItem();
1713 dRes.InitializePage(-1, this.m_dsGlobal);
1714 if (dRes.ShowDialog(this) == DialogResult.Cancel)
1715 {
1716 return;
1717 }
1718
1719 //Call RPMS to add new resource
1720
1721 int nResID = dRes.ResourceID;
1722
1723 string sSql = "BSDX ADD RES GROUP ITEM^" + m_nResourceGroupID.ToString() + "^" + nResID.ToString();
1724 DataTable dtRes = m_DocManager.RPMSDataTable(sSql, "ResourceGroupItem");
1725
1726 this.cmdRemoveResourceGroup.Enabled = true;
1727
1728 m_dsGlobal.Tables["GroupResources"].Clear();
1729 m_DocManager.LoadGroupResourcesTable();
1730
1731 m_DocManager.UpdateViews();
1732
1733 }
1734
1735 private void RemoveResourceGroupItem()
1736 {
1737 Object oSelectedResourceName = this.grdResourceGroup[grdResourceGroup.CurrentCell.RowNumber, 1];
1738 string sSelectedResourceName = oSelectedResourceName.ToString();
1739
1740 Object oSelectedResourceGroupID = this.grdResourceGroup[grdResourceGroup.CurrentCell.RowNumber, 0];
1741 int nSelectedResourceGroupID = Convert.ToInt16(oSelectedResourceGroupID);
1742
1743 Object oSelectedResourceItemID = this.grdResourceGroup[grdResourceGroup.CurrentCell.RowNumber, 2];
1744 int nSelectedResourceItemID = Convert.ToInt16(oSelectedResourceItemID);
1745
1746 string sSql = "BSDX DELETE RES GROUP ITEM^" + nSelectedResourceGroupID.ToString() + "^" + nSelectedResourceItemID.ToString();
1747 DataTable dtRes = m_DocManager.RPMSDataTable(sSql, "TempResGrpItem");
1748
1749 m_dsGlobal.Tables["GroupResources"].Clear();
1750 m_DocManager.LoadGroupResourcesTable();
1751
1752 m_DocManager.UpdateViews();
1753 int nRows = this.grdResourceGroup.VisibleRowCount;
1754 if (nRows == 0)
1755 {
1756 this.cmdRemoveResourceGroup.Enabled = false;
1757 }
1758 else
1759 {
1760 grdResourceGroup.Select(0);
1761 this.cmdRemoveResourceGroup.Enabled = true;
1762 }
1763 }
1764
1765 private void cmdChangeResourceGroup_Click(object sender, System.EventArgs e)
1766 {
1767 try
1768 {
1769 int nRows = this.grdResourceGroup.VisibleRowCount;
1770 if (nRows == 0)
1771 {
1772 Debug.Assert(false, "This code shouldn't execute.");
1773 m_sResourceGroupName = "";
1774 this.cmdChangeResource.Enabled = false;
1775 this.cmdRemoveResourceGroup.Enabled = false;
1776 return;
1777 }
1778 else
1779 {
1780 DataGridCell dgCell;
1781 dgCell = grdResourceGroup.CurrentCell;
1782 Object dgItem = grdResourceGroup[dgCell.RowNumber, 1];
1783 m_sResourceGroupName = dgItem.ToString();
1784 this.cmdChangeResource.Enabled = true;
1785 this.cmdRemoveResourceGroup.Enabled = true;
1786 }
1787
1788 DataTable dt = m_dsGlobal.Tables["ResourceGroup"];
1789 DataRow dr = dt.Rows.Find(m_sResourceGroupName);
1790 int nRGID = Convert.ToInt16(dr["RESOURCE_GROUPID"]);
1791
1792 DResourceGroup dRes = new DResourceGroup();
1793 dRes.ResourceGroupName = m_sResourceGroupName;
1794 dRes.InitializePage(nRGID, this.m_dsGlobal);
1795 if (dRes.ShowDialog(this) == DialogResult.Cancel)
1796 {
1797 return;
1798 }
1799
1800 //Call RPMS to change resource group
1801
1802 string sResGroupName = dRes.ResourceGroupName;
1803
1804 string sSql = "BSDX ADD/EDIT RESOURCE GROUP^" + nRGID.ToString() + "|" + sResGroupName;
1805 DataTable dtRes = m_DocManager.RPMSDataTable(sSql, "TempResGrp");
1806
1807 Debug.Assert(dtRes.Rows.Count == 1);
1808 if (dtRes.Rows.Count != 1)
1809 {
1810 throw new Exception("DManagement:cmdAddResource_Click: Unable to edit Resource Group.");
1811 }
1812 dr = dtRes.Rows[0];
1813 int nErrorID = (int) dr["RESOURCEGROUPID"];
1814 if (nErrorID == 0)
1815 {
1816 throw new Exception((string) dr["ERRORTEXT"]);
1817 }
1818
1819 m_sResourceGroupName = sResGroupName;
1820 m_DocManager.LoadResourceGroupTable();
1821 m_dsGlobal.Tables["GroupResources"].Clear();
1822 m_DocManager.LoadGroupResourcesTable();
1823
1824
1825 dr.Delete();
1826 dr.AcceptChanges();
1827
1828 m_DocManager.UpdateViews();
1829 }
1830 catch (Exception ex)
1831 {
1832 MessageBox.Show(ex.Message);
1833 }
1834 }
1835
1836 #endregion ResourceGroups
1837
1838 #region AccessTypes
1839
1840 private void grdAccessTypes_CurrentCellChanged(object sender, System.EventArgs e)
1841 {
1842 DataGridCell myCell;
1843 myCell = this.grdAccessTypes.CurrentCell;
1844 m_nATRow = myCell.RowNumber;
1845 grdAccessTypes.Select(m_nATRow);
1846 this.cmdChangeAT.Enabled = true;
1847 }
1848
1849 private void cmdChangeAT_Click(object sender, System.EventArgs e)
1850 {
1851 try
1852 {
1853 DAccessType dAT = new DAccessType();
1854 dAT.InitializePage(m_nATRow, this.m_dsGlobal);
1855
1856 if (dAT.ShowDialog(this) == DialogResult.Cancel)
1857 {
1858 return;
1859 }
1860 //Call RPMS to change data for access type
1861 bool bInactive = dAT.Inactive;
1862 string sInactive = (bInactive == true)?"YES":"NO";
1863 string sAccessTypeName = dAT.AccessTypeName;
1864 string sColor = dAT.DisplayColor;
1865 string sRed = dAT.Red.ToString();
1866 string sBlue = dAT.Blue.ToString();
1867 string sGreen = dAT.Green.ToString();
1868 string sIEN = dAT.AccessIEN;
1869
1870
1871 string sSql = "BSDX ADD/EDIT ACCESS TYPE^" + sIEN + "|" + sAccessTypeName + "|" + sInactive + "|" + sColor + "|" + sRed + "|" + sGreen + "|" + sBlue;
1872 DataTable dtAppt = m_DocManager.RPMSDataTable(sSql, "AccessType");
1873
1874 Debug.Assert(dtAppt.Rows.Count == 1);
1875 if (dtAppt.Rows.Count != 1)
1876 {
1877 throw new Exception("DManagement:cmdChangeAT_Click: Unable to add new Access Type.");
1878 }
1879 DataRow dr = dtAppt.Rows[0];
1880 int nErrorID = (int) dr["ACCESSTYPEID"];
1881 if (nErrorID == 0)
1882 {
1883 throw new Exception((string) dr["ERRORTEXT"]);
1884 }
1885
1886 RefreshAccessTypesTables();
1887 }
1888 catch (Exception ex)
1889 {
1890 MessageBox.Show(ex.Message);
1891 }
1892 }
1893
1894 private void RefreshAccessTypesTables()
1895 {
1896 m_dsGlobal.Tables["AccessTypes"].Clear();
1897 m_dsGlobal.Tables["AccessGroupType"].Clear();
1898 DataTable dt1 = m_DocManager.DAL.GetAccessTypes();
1899 m_dsGlobal.Tables["AccessTypes"].Merge(dt1);
1900 m_dsGlobal.Tables.Add(dt1);
1901 //Fix Groups
1902 //m_DocManager.LoadAccessTypesTable();
1903 m_DocManager.LoadAccessGroupTypesTable();
1904 m_DocManager.UpdateViews();
1905 }
1906
1907 private void cmdAddAT_Click(object sender, System.EventArgs e)
1908 {
1909 try
1910 {
1911 DAccessType dAT = new DAccessType();
1912 dAT.InitializePage(-1, this.m_dsGlobal);
1913 if (dAT.ShowDialog(this) == DialogResult.Cancel)
1914 {
1915 return;
1916 }
1917
1918 //Call RPMS to add new access type
1919 bool bInactive = dAT.Inactive;
1920 string sInactive = (bInactive == true)?"YES":"NO";
1921 string sAccessTypeName = dAT.AccessTypeName;
1922 string sColor = dAT.DisplayColor;
1923 string sRed = dAT.Red.ToString();
1924 string sBlue = dAT.Blue.ToString();
1925 string sGreen = dAT.Green.ToString();
1926
1927 string sSql = "BSDX ADD/EDIT ACCESS TYPE^0|" + sAccessTypeName + "|" + sInactive + "|" + sColor + "|" + sRed + "|" + sGreen + "|" + sBlue;
1928 DataTable dtAppt = m_DocManager.RPMSDataTable(sSql, "AccessType");
1929
1930 Debug.Assert(dtAppt.Rows.Count == 1);
1931 if (dtAppt.Rows.Count != 1)
1932 {
1933 throw new Exception("DManagement:cmdAddAT_Click: Unable to add new Resource.");
1934 }
1935 DataRow dr = dtAppt.Rows[0];
1936 int nErrorID = (int) dr["ACCESSTYPEID"];
1937 if (nErrorID == 0)
1938 {
1939 throw new Exception((string) dr["ERRORTEXT"]);
1940 }
1941
1942 RefreshAccessTypesTables();
1943
1944 }
1945 catch (Exception ex)
1946 {
1947 MessageBox.Show(ex.Message);
1948 }
1949 }
1950
1951 #endregion AccessTypes
1952
1953 #region AccessGroups
1954
1955 private void InitAccessGroupsPage()
1956 {
1957 this.cmdChangeAccessGroup.Enabled = false;
1958 this.cmdRemoveAccessGroup.Enabled = false;
1959 if (this.m_dvAccessGroup.Count > 0)
1960 {
1961 this.m_nAccessGroupRow = 0;
1962
1963 this.grdAccessGroups.CurrentCell = new DataGridCell(0,0);
1964 this.grdAccessGroups.Select(0);
1965 this.m_nAccessGroupRow = 0;
1966 object dgItem = this.grdAccessGroups[0,0];
1967 this.m_nAccessGroupID = Convert.ToInt16(dgItem);
1968 dgItem = grdAccessGroups[0,1];
1969 this.m_sAccessGroupName = dgItem.ToString();
1970 this.cmdChangeAccessGroup.Enabled = true;
1971 this.cmdRemoveAccessGroup.Enabled = true;
1972 }
1973 }
1974
1975 private void grdAccessGroups_CurrentCellChanged(object sender, System.EventArgs e)
1976 {
1977 DataGridCell dgCell;
1978 dgCell = grdAccessGroups.CurrentCell;
1979 m_nAccessGroupRow = dgCell.RowNumber;
1980 grdAccessGroups.Select(m_nAccessGroupRow);
1981 if (m_sAccessGroupMember == "Group")
1982 {
1983 Object dgItem = grdAccessGroups[dgCell.RowNumber, 0];
1984 m_sAccessGroupName = dgItem.ToString();
1985 dgItem = grdAccessGroups[dgCell.RowNumber, 0];
1986 m_nAccessGroupID = Convert.ToInt16(dgItem);
1987 Debug.Write("m_nAccessGroupID changed to " + m_nAccessGroupID.ToString() + "\n");
1988 dgItem = grdAccessGroups[dgCell.RowNumber, 1];
1989 m_sAccessGroupName = dgItem.ToString();
1990 Debug.Write("m_sAccessGroupName changed to " + m_sAccessGroupName + "\n");
1991 }
1992 cmdRemoveAccessGroup.Enabled = true;
1993 cmdChangeAccessGroup.Enabled = true;
1994 }
1995
1996 private void grdAccessGroups_Navigate(object sender, System.Windows.Forms.NavigateEventArgs ne)
1997 {
1998 m_sAccessGroupMember = grdAccessGroups.DataMember.ToString();
1999 if (m_sAccessGroupMember == "")
2000 {
2001 m_sAccessGroupMember = "Group";
2002 }
2003
2004 if (m_sAccessGroupMember == "AccessGroupType")
2005 {
2006 m_bEditAccessGroupItems = true;
2007 this.cmdAddAccessGroup.Text = "&Add Type";
2008 this.cmdRemoveAccessGroup.Text = "&Remove Type";
2009 cmdChangeAccessGroup.Visible = false;
2010 this.lblDescriptionAccessGroups.Text = "Define the Access Type which will be a part of this group. Click the left-pointing arrow near the upper right of the window to go back to the list of Access Groups.";
2011 int nRows = this.grdAccessGroups.VisibleRowCount;
2012 if (nRows == 0)
2013 {
2014 this.cmdRemoveAccessGroup.Enabled = false;
2015 cmdChangeAccessGroup.Visible = false;
2016 }
2017 else
2018 {
2019 grdAccessGroups.CurrentCell = new DataGridCell(0, 0);
2020 cmdChangeAccessGroup.Visible = false;
2021 this.cmdRemoveAccessGroup.Enabled = true;
2022 }
2023 }
2024 else
2025 {
2026 m_bEditAccessGroupItems = false;
2027 this.cmdAddAccessGroup.Text = "&Add Group";
2028 this.cmdRemoveAccessGroup.Text = "&Remove Group";
2029 cmdChangeAccessGroup.Visible = true;
2030 this.lblDescriptionAccessGroups.Text="Use this panel to organize Access Types into convenient groups. Access Groups are useful when selecting the Access Type (Walk-in, Same-Day, etc) to use when setting up the schedule for a resource. Access Type Groups will be visible to all scheduling users.";
2031 }
2032 }
2033
2034 private void cmdAddAccessGroup_Click(object sender, System.EventArgs e)
2035 {
2036 try
2037 {
2038 if (m_bEditAccessGroupItems == true)
2039 {
2040 AddAccessGroupItem();
2041 return;
2042 }
2043
2044 DAccessGroup dRes = new DAccessGroup();
2045 dRes.InitializePage(-1, this.m_dsGlobal);
2046 if (dRes.ShowDialog(this) == DialogResult.Cancel)
2047 {
2048 return;
2049 }
2050
2051 //Call RPMS to add new Acccess Group
2052 string sAccessGroupName = dRes.AccessGroupName;
2053 string sSql = "BSDX ADD/EDIT ACCESS GROUP^0|" + sAccessGroupName;
2054 DataTable dtAppt = m_DocManager.RPMSDataTable(sSql, "AccessGroup");
2055
2056 Debug.Assert(dtAppt.Rows.Count == 1);
2057 if (dtAppt.Rows.Count != 1)
2058 {
2059 throw new Exception("DManagement:cmdAddAccessGroup_Click: Unable to add new Resource.");
2060 }
2061 DataRow dr = dtAppt.Rows[0];
2062 int nErrorID = (int) dr["ACCESSGROUPID"];
2063 if (nErrorID == 0)
2064 {
2065 throw new Exception((string) dr["ERRORTEXT"]);
2066 }
2067
2068 m_dsGlobal.Tables["AccessGroupType"].Clear();
2069 m_dsGlobal.Tables["AccessGroup"].Clear();
2070 m_DocManager.LoadAccessGroupsTable();
2071 m_DocManager.LoadAccessGroupTypesTable();
2072
2073 m_DocManager.UpdateViews();
2074
2075 //20041109 Added
2076 InitAccessGroupsPage();
2077 }
2078 catch (Exception ex)
2079 {
2080 MessageBox.Show(ex.Message);
2081 }
2082
2083 }
2084
2085 private void cmdRemoveAccessGroup_Click(object sender, System.EventArgs e)
2086 {
2087 if (m_bEditAccessGroupItems == true)
2088 {
2089 RemoveAccessGroupItem();
2090 return;
2091 }
2092
2093 string sSql = "BSDX DELETE ACCESS GROUP^" + this.m_nAccessGroupID;
2094 DataTable dtAppt = m_DocManager.RPMSDataTable(sSql, "AccessGroup");
2095
2096 m_dsGlobal.Tables["AccessGroupType"].Clear();
2097 m_dsGlobal.Tables["AccessGroup"].Clear();
2098 m_DocManager.LoadAccessGroupsTable();
2099 m_DocManager.LoadAccessGroupTypesTable();
2100 m_DocManager.UpdateViews();
2101
2102 //20041109 Added
2103 InitAccessGroupsPage();
2104 }
2105
2106 private void cmdChangeAccessGroup_Click(object sender, System.EventArgs e)
2107 {
2108 try
2109 {
2110 int nRows = this.grdAccessGroups.VisibleRowCount;
2111 int nAccessGroupID;
2112 if (nRows == 0)
2113 {
2114 Debug.Assert(false, "This code shouldn't execute.");
2115 return;
2116 }
2117 else
2118 {
2119 DataGridCell dgCell;
2120 dgCell = grdAccessGroups.CurrentCell;
2121 Object dgItem = grdAccessGroups[dgCell.RowNumber, 1];
2122 m_sAccessGroupName = dgItem.ToString();
2123 dgItem = grdAccessGroups[dgCell.RowNumber, 0];
2124 nAccessGroupID = Convert.ToInt16(dgItem);
2125 }
2126
2127 DAccessGroup dRes = new DAccessGroup();
2128 dRes.AccessGroupName = m_sAccessGroupName;
2129 dRes.InitializePage(nAccessGroupID, this.m_dsGlobal);
2130 if (dRes.ShowDialog(this) == DialogResult.Cancel)
2131 {
2132 return;
2133 }
2134
2135 //Call RPMS to change resource group
2136
2137 string sAccessGroupName = dRes.AccessGroupName;
2138
2139 string sSql = "BSDX ADD/EDIT ACCESS GROUP^" + nAccessGroupID.ToString() + "|" + sAccessGroupName;
2140 DataTable dtAppt = m_DocManager.RPMSDataTable(sSql, "TempAccGrp");
2141
2142 Debug.Assert(dtAppt.Rows.Count == 1);
2143 if (dtAppt.Rows.Count != 1)
2144 {
2145 throw new Exception("DManagement:cmdChangeAccessGroup_Click: Unable to add new Resource.");
2146 }
2147 DataRow dr = dtAppt.Rows[0];
2148 int nErrorID = (int) dr["ACCESSGROUPID"];
2149 if (nErrorID == 0)
2150 {
2151 throw new Exception((string) dr["ERRORTEXT"]);
2152 }
2153
2154 m_sAccessGroupName = sAccessGroupName;
2155 m_dsGlobal.Tables["AccessGroupType"].Clear();
2156 m_dsGlobal.Tables["AccessGroup"].Clear();
2157 m_DocManager.LoadAccessGroupsTable();
2158 m_DocManager.LoadAccessGroupTypesTable();
2159
2160 m_DocManager.UpdateViews();
2161 }
2162 catch (Exception ex)
2163 {
2164 MessageBox.Show(ex.Message);
2165 }
2166 }
2167
2168 private void AddAccessGroupItem()
2169 {
2170 try
2171 {
2172 DAccessGroupItem dRes = new DAccessGroupItem();
2173 dRes.InitializePage(-1, this.m_dsGlobal);
2174 if (dRes.ShowDialog(this) == DialogResult.Cancel)
2175 {
2176 return;
2177 }
2178
2179 //Call RPMS to add new AccessGroupItem
2180
2181 int nAccessTypeID = dRes.AccessTypeID;
2182
2183 string sSql = "BSDX ADD ACCESS GROUP ITEM^" + m_nAccessGroupID.ToString() + "^" + nAccessTypeID.ToString();
2184 DataTable dtAppt = m_DocManager.RPMSDataTable(sSql, "AccessGroupItem");
2185
2186 Debug.Assert(dtAppt.Rows.Count == 1);
2187 if (dtAppt.Rows.Count != 1)
2188 {
2189 throw new Exception("DManagement:AddAccessGroupItem: Unable to add new Access Group Item.");
2190 }
2191 DataRow dr = dtAppt.Rows[0];
2192 int nErrorID = (int) dr["ACCESSGROUPTYPEID"];
2193 if (nErrorID == 0)
2194 {
2195 throw new Exception((string) dr["ERRORTEXT"]);
2196 }
2197
2198
2199 this.cmdRemoveAccessGroup.Enabled = true;
2200
2201 RefreshAccessTypesTables();
2202
2203 }
2204 catch (Exception ex)
2205 {
2206 MessageBox.Show(ex.Message);
2207 }
2208 }
2209
2210 private void RemoveAccessGroupItem()
2211 {
2212 try
2213 {
2214 Object oSelectedAccessGroupID = this.grdAccessGroups[grdAccessGroups.CurrentCell.RowNumber, 1];
2215 int nSelectedAccessGroupID = Convert.ToInt16(oSelectedAccessGroupID);
2216
2217 Object oSelectedAccessGroupItemID = this.grdAccessGroups[grdAccessGroups.CurrentCell.RowNumber, 3];
2218 int nSelectedAccessGroupItemID = Convert.ToInt16(oSelectedAccessGroupItemID);
2219
2220 string sSql = "BSDX DELETE ACCESS GROUP ITEM^" + nSelectedAccessGroupID.ToString() + "^" + nSelectedAccessGroupItemID.ToString();
2221 DataTable dtAppt = m_DocManager.RPMSDataTable(sSql, "TempAccGrpItem");
2222
2223 Debug.Assert(dtAppt.Rows.Count == 1);
2224 if (dtAppt.Rows.Count != 1)
2225 {
2226 throw new Exception("DManagement:RemoveAccessGroupItem: Unable to add new Access Group Item.");
2227 }
2228 DataRow dr = dtAppt.Rows[0];
2229 int nErrorID = (int) dr["ACCESSGROUPTYPEID"];
2230 if (nErrorID == 0)
2231 {
2232 throw new Exception((string) dr["ERRORTEXT"]);
2233 }
2234
2235 m_dsGlobal.Tables["AccessGroupType"].Clear();
2236 m_DocManager.LoadAccessGroupTypesTable();
2237
2238 m_DocManager.UpdateViews();
2239 int nRows = this.grdAccessGroups.VisibleRowCount;
2240 if (nRows == 0)
2241 {
2242 this.cmdRemoveAccessGroup.Enabled = false;
2243 }
2244 else
2245 {
2246 grdResourceGroup.Select(0);
2247 this.cmdRemoveAccessGroup.Enabled = true;
2248 }
2249 }
2250 catch (Exception ex)
2251 {
2252 MessageBox.Show(ex.Message);
2253 }
2254 }
2255
2256 #endregion AccessGroups
2257
2258 #region TransferAppts
2259
2260 private void cmdCopyAppts_Click(object sender, System.EventArgs e)
2261 {
2262 try
2263 {
2264 //Show a modeless progress dialog
2265 int nHospLocationID = Convert.ToInt32(this.cboRPMSClinic.SelectedValue);
2266 int nResourceID = Convert.ToInt32(this.cboBSDXClinic.SelectedValue);
2267
2268 ThreadApptCopy tac = new ThreadApptCopy(this.dtpBegin.Value, this.dtpEnd.Value,
2269 nHospLocationID.ToString(), cboRPMSClinic.Text,
2270 nResourceID.ToString(), cboBSDXClinic.Text,
2271 this.m_DocManager);
2272
2273 Thread threadApptCopy = new Thread(new System.Threading.ThreadStart(tac.ThreadApptCopyProc));
2274 //threadApptCopy.ApartmentState = ApartmentState.STA;
2275 threadApptCopy.SetApartmentState(ApartmentState.STA);
2276 threadApptCopy.Start();
2277
2278 }
2279 catch(Exception ex)
2280 {
2281 MessageBox.Show(this,ex.Message,"Clinical Scheduling");
2282 }
2283
2284 }
2285
2286
2287 public class ThreadApptCopy
2288 {
2289 private DateTime m_dtBegin;
2290 private DateTime m_dtEnd;
2291 private string m_HospLocationID;
2292 private string m_HospLocationName;
2293 private string m_ResourceID;
2294 private string m_ResourceName;
2295 private CGDocumentManager m_DocManager;
2296
2297 public ThreadApptCopy(DateTime dtBegin, DateTime EndDate,
2298 string HospLocationID, string HospLocationName,
2299 string ResourceID, string ResourceName,
2300 CGDocumentManager DocManager)
2301 {
2302 m_dtBegin = dtBegin;
2303 m_dtEnd = EndDate;
2304 m_HospLocationID = HospLocationID;
2305 m_HospLocationName = HospLocationName;
2306 m_ResourceID = ResourceID;
2307 m_ResourceName = ResourceName;
2308 m_DocManager = DocManager;
2309 }
2310
2311 public void ThreadApptCopyProc()
2312 {
2313 DCopyAppts dCopy = new DCopyAppts();
2314 dCopy.InitializePage(m_dtBegin, m_dtEnd,
2315 m_HospLocationID, m_HospLocationName,
2316 m_ResourceID, m_ResourceName,
2317 m_DocManager);
2318 dCopy.ShowDialog();
2319 }
2320 }
2321
2322 #endregion TransferAppts
2323
2324 #region Workstations
2325 private void cmdWorkStationsRefresh_Click(object sender, System.EventArgs e)
2326 {
2327 this.m_dtWSGrid.Clear();
2328 this.m_DocManager.ConnectInfo.RaiseEvent("BSDX CALL WORKSTATIONS", "A", true);
2329 }
2330
2331 private BMXNetConnectInfo.BMXNetEventDelegate MgrEventDelegate;
2332 delegate void UpdateWorkstationGridDelegate(string sParam);
2333
2334 private void MgrEventHandler(Object obj, BMXNet.BMXNetEventArgs e)
2335 {
2336 try
2337 {
2338 if (e.BMXEvent == "BSDX WORKSTATION REPORT")
2339 {
2340 Debug.Write("DManagement Got Workstation Report\n");
2341 UpdateWorkstationGridDelegate uWSGd = new UpdateWorkstationGridDelegate(UpdateWorkstationGrid);
2342 if (this.InvokeRequired == true) //ensures that handle is created
2343 {
2344 this.Invoke(uWSGd, new object[] { e.BMXParam });
2345 }
2346 else
2347 {
2348 UpdateWorkstationGrid(e.BMXParam);
2349 }
2350 }
2351 }
2352 catch (Exception ex)
2353 {
2354 Debug.Write("MgrEventHandler exception: " + ex.Message + "\n");
2355 }
2356 }
2357
2358 private void UpdateWorkstationGrid(string sParam)
2359 {
2360 string sDelim = "~";
2361 DataRow dr = this.m_dtWSGrid.NewRow();
2362 dr["UserName"] = BMXNetLib.Piece(sParam,sDelim,1);
2363 dr["Handle"] = BMXNetLib.Piece(sParam,sDelim,2);
2364 dr["Version"] = BMXNetLib.Piece(sParam,sDelim,3);
2365 dr["Views"] = BMXNetLib.Piece(sParam,sDelim,4);
2366 m_dtWSGrid.Rows.Add(dr);
2367 }
2368
2369 private void DManagement_Closing(object sender, System.ComponentModel.CancelEventArgs e)
2370 {
2371 m_DocManager.ConnectInfo.UnSubscribeEvent("BSDX WORKSTATION REPORT");
2372 }
2373
2374 private void cmdWorkStationsMessage_Click(object sender, System.EventArgs e)
2375 {
2376 string sMessage;
2377 dInputText dlg = new dInputText();
2378 dlg.DialogTitle = "Clinical Scheduling - Send Message to Scheduling Clients.";
2379
2380 if (dlg.ShowDialog(this) != DialogResult.OK)
2381 return;
2382
2383 sMessage = dlg.TextValue;
2384
2385 if (sMessage == "")
2386 return;
2387
2388 this.m_DocManager.ConnectInfo.RaiseEvent("BSDX ADMIN MESSAGE", sMessage, false);
2389 }
2390
2391 private void cmdWorkStationsShutdown_Click(object sender, System.EventArgs e)
2392 {
2393 if (MessageBox.Show("Are you sure you want to shut down all Clincal Scheduling clients?" ,"Clinical Scheduling Client Shutdown", MessageBoxButtons.YesNo, MessageBoxIcon.Question) != DialogResult.Yes)
2394 {
2395 return;
2396 }
2397 this.m_DocManager.ConnectInfo.RaiseEvent("BSDX ADMIN SHUTDOWN", txtSendMessage.Text, false);
2398 }
2399 #endregion Workstations
2400
2401 }
2402}
Note: See TracBrowser for help on using the repository browser.