Changeset 1194 for Scheduling/branches/BMX4Support/CGDocumentManager.cs
- Timestamp:
- May 29, 2011, 2:13:37 AM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Scheduling/branches/BMX4Support/CGDocumentManager.cs
r1143 r1194 1 /* Main Class...: 2 * Original Author: Horace Whitt 3 * Current Author and Maintainer: Sam Habiel 4 * License: LGPL. http://www.gnu.org/licenses/lgpl-2.1.html 5 */ 6 1 7 using System; 2 8 using System.Windows.Forms; … … 6 12 using System.Threading; 7 13 using IndianHealthService.BMXNet; 14 using IndianHealthService.BMXNet.WinForm; 15 using IndianHealthService.BMXNet.WinForm.Configuration; //grrrr... too many namespaces here... 8 16 using Mono.Options; 9 17 using System.Runtime.InteropServices; … … 42 50 //M Connection member variables 43 51 private DataSet m_dsGlobal = null; // Holds all user data 44 private BMXNetConnectInfo m_ConnectInfo = null; // Connection to VISTA object45 private BMXNetConnectInfo.BMXNetEventDelegate CDocMgrEventDelegate; // Delegate to respond to messages from VISTA. Responds to event: BMXNetConnectInfo.BMXNetEvent46 52 47 53 //Custom Printing … … 51 57 #region Properties 52 58 53 /// <summary> 54 /// Returns the document manager's BMXNetConnectInfo member 55 /// </summary> 56 public BMXNetConnectInfo ConnectInfo 57 { 58 get 59 { 60 return m_ConnectInfo; 61 } 62 } 59 public WinFramework WinFramework { get; private set; } // Login Manager 60 public RemoteSession RemoteSession { get; private set; } // Data Sesssion against the RPMS/VISTA server 61 public RPCLogger RPCLogger { get; private set; } // Logger for RPCs 63 62 64 63 /// <summary> … … 153 152 154 153 /// <summary> 155 /// Constructor. Does absolutely nothing at this point.154 /// Private constructor for singleton instance. 156 155 /// </summary> 157 p ublicCGDocumentManager()156 private CGDocumentManager() 158 157 { 159 158 } … … 295 294 296 295 #region BMXNet Event Handler 297 private void CDocMgrEventHandler(Object obj, BMXNet.BMXNetEventArgs e)298 { 299 if (e. BMXEvent== "BSDX CALL WORKSTATIONS")296 private void CDocMgrEventHandler(Object obj, RemoteEventArgs e) 297 { 298 if (e.EventType == "BSDX CALL WORKSTATIONS") 300 299 { 301 300 string sParam = ""; 302 301 string sDelim="~"; 303 sParam += this. m_ConnectInfo.UserName + sDelim;302 sParam += this.RemoteSession.User.Name + sDelim; 304 303 sParam += this.m_sHandle + sDelim; 305 304 sParam += Application.ProductVersion + sDelim; 306 305 sParam += this._views.Count.ToString(); 307 _current. m_ConnectInfo.RaiseEvent("BSDX WORKSTATION REPORT", sParam, true);308 } 309 if (e. BMXEvent== "BSDX ADMIN MESSAGE")310 { 311 string sMsg = e. BMXParam;306 _current.RemoteSession.EventServices.TriggerEvent("BSDX WORKSTATION REPORT", sParam, true); 307 } 308 if (e.EventType == "BSDX ADMIN MESSAGE") 309 { 310 string sMsg = e.EventType; 312 311 ShowAdminMsgDelegate samd = new ShowAdminMsgDelegate(ShowAdminMsg); 313 //this.Invoke(samd, new object [] {sMsg});314 312 samd.Invoke(sMsg); 315 313 } 316 if (e. BMXEvent== "BSDX ADMIN SHUTDOWN")317 { 318 string sMsg = e. BMXParam;314 if (e.EventType == "BSDX ADMIN SHUTDOWN") 315 { 316 string sMsg = e.Details; 319 317 CloseAllDelegate cad = new CloseAllDelegate(CloseAll); 320 //this.Invoke(cad, new object [] {sMsg});321 318 cad.Invoke(sMsg); 322 319 } … … 353 350 private bool InitializeApp(bool bReLogin) 354 351 { 355 //Set M connection info 356 m_ConnectInfo = new BMXNetConnectInfo(m_Encoding); // Encoding is "" unless passed in command line 357 _dal = new DAL(m_ConnectInfo); // Data access layer 358 //m_ConnectInfo.bmxNetLib.StartLog(); //This line turns on logging of messages 352 //Note: There are 2 splashes -- one for being the parent of the log in forms 353 // the next is invoked async and updated async while the GUI is loading 354 // The reason is b/c an async form cannot be the parent of another that lies on the main thread 355 356 RPCLogger = new RPCLogger(); 357 358 DSplash firstSplash = new DSplash(); 359 360 firstSplash.Show(); 359 361 360 //Create a delegate to process events raised by BMX. 361 CDocMgrEventDelegate = new BMXNetConnectInfo.BMXNetEventDelegate(CDocMgrEventHandler); 362 /* IMPORTANT NOTE 363 * LOGIN CODE IS COPIED ALMOST VERBATIM FROM THE SCHEMABUILDER APPLICAITON; 364 * THE ONLY ONE I CAN FIND WHICH RELIES ON BMX 4 NEW WAYS WHICH I CAN'T FIGURE OUT 365 */ 366 LoginProcess login; 367 this.WinFramework = WinFramework.CreateWithNetworkBroker(true, RPCLogger); 368 369 if (bReLogin) // if logging in again... 370 { 371 this.WinFramework.LoadConnectionSpecs(LocalPersistentStore.CreateDefaultStorage(true), "BSDX"); 372 login = this.WinFramework.CreateLoginProcess(); 373 login.AttemptUserInputLogin("Clincal Scheduling Log-in", 3, true, firstSplash); 374 goto DoneTrying; 375 } 376 377 // If server,port,ac,vc are supplied on command line, then try to connect... 378 else if (!String.IsNullOrEmpty(m_Server) && m_Port != 0 && !String.IsNullOrEmpty(m_AccessCode) && !String.IsNullOrEmpty(m_VerifyCode)) 379 { 380 RpmsConnectionSpec spec = new RpmsConnectionSpec(); 381 spec.IsDefault = true; 382 spec.Name = "Command Line Server"; 383 spec.Port = m_Port; 384 spec.Server = m_Server; 385 spec.UseWindowsAuthentication = false; //for now 386 spec.UseDefaultNamespace = true; //for now 387 login = this.WinFramework.CreateLoginProcess(); 388 login.AutoSetDivisionToLastLookup = false; 389 login.AttemptAccessVerifyLogin(spec, m_AccessCode, m_VerifyCode); 390 goto DoneTrying; 391 } 392 393 // if only server, port is supplied, then use these instead 394 else if (!String.IsNullOrEmpty(m_Server) && m_Port != 0) 395 { 396 RpmsConnectionSpec spec = new RpmsConnectionSpec(); 397 spec.IsDefault = true; 398 spec.Name = "Command Line Server"; 399 spec.Port = m_Port; 400 spec.Server = m_Server; 401 spec.UseWindowsAuthentication = false; //for now 402 spec.UseDefaultNamespace = true; //for now 403 404 RpmsConnectionSettings cxnSettings = new RpmsConnectionSettings 405 { 406 CommandLineConnectionSpec = spec 407 }; 408 409 this.WinFramework.ConnectionSettings = cxnSettings; 410 411 login = this.WinFramework.CreateLoginProcess(); 412 login.AutoSetDivisionToLastLookup = false; 413 login.AttemptUserInputLogin("Clinical Scheduling Log-in", 3, false, firstSplash); 414 goto DoneTrying; 415 } 416 417 // if nothing is supplied, fall back on the original dialog 418 else 419 { 420 this.WinFramework.LoadConnectionSpecs(LocalPersistentStore.CreateDefaultStorage(true), "BSDX"); 421 login = this.WinFramework.CreateLoginProcess(); 422 login.AutoSetDivisionToLastLookup = false; 423 login.AttemptUserInputLogin("Clincal Scheduling Log-in", 3, true, firstSplash); 424 425 goto DoneTrying; 426 } 427 428 DoneTrying: 429 if (!login.WasSuccessful) 430 { 431 return false; 432 } 433 434 LocalSession local = this.WinFramework.LocalSession; 435 436 if ((this.WinFramework.Context.User.Division == null) && !this.WinFramework.AttemptUserInputSetDivision("Set Initial Division", firstSplash)) 437 { 438 return false; 439 } 440 441 442 443 this.RemoteSession = this.WinFramework.PrimaryRemoteSession; 444 362 445 //Tie delegate to Events generated by BMX. 363 m_ConnectInfo.BMXNetEvent += CDocMgrEventDelegate; 364 //Disable polling (But does this really work???? I don't see how it gets disabled) 365 m_ConnectInfo.EventPollingEnabled = false; 366 446 this.RemoteSession.EventServices.RpmsEvent += this.CDocMgrEventHandler; 447 //Disable polling 448 this.RemoteSession.EventServices.IsEventPollingEnabled = false; 449 450 //Second splash screens 367 451 //Show a splash screen while initializing; define delegates to remote thread 368 DSplash m_ds= new DSplash();369 DSplash.dSetStatus setStatusDelegate = new DSplash.dSetStatus( m_ds.SetStatus);370 DSplash.dAny closeSplashDelegate = new DSplash.dAny( m_ds.RemoteClose);371 DSplash.dProgressBarSet setMaxProgressDelegate = new DSplash.dProgressBarSet( m_ds.RemoteProgressBarMaxSet);372 DSplash.dProgressBarSet setProgressDelegate = new DSplash.dProgressBarSet( m_ds.RemoteProgressBarValueSet);452 DSplash secondSplash = new DSplash(); 453 DSplash.dSetStatus setStatusDelegate = new DSplash.dSetStatus(secondSplash.SetStatus); 454 DSplash.dAny closeSplashDelegate = new DSplash.dAny(secondSplash.RemoteClose); 455 DSplash.dProgressBarSet setMaxProgressDelegate = new DSplash.dProgressBarSet(secondSplash.RemoteProgressBarMaxSet); 456 DSplash.dProgressBarSet setProgressDelegate = new DSplash.dProgressBarSet(secondSplash.RemoteProgressBarValueSet); 373 457 374 458 //Start new thread for the Splash screen. … … 376 460 threadSplash.IsBackground = true; //expendable thread -- exit even if still running. 377 461 threadSplash.Name = "Splash Thread"; 378 threadSplash.Start(m_ds); // pass form as parameter. 462 threadSplash.Start(secondSplash); 463 464 firstSplash.Close(); // close temporary splash now that the new one is up and running 379 465 380 466 //There are 21 steps to load the application. That's max for the progress bar. 381 467 setMaxProgressDelegate(21); 468 469 // smh--not used: System.Configuration.ConfigurationManager.GetSection("appSettings"); 470 setStatusDelegate("Connecting to VISTA"); 471 382 472 383 // smh--not used: System.Configuration.ConfigurationManager.GetSection("appSettings"); 384 385 setStatusDelegate("Connecting to VISTA"); 386 473 /* 387 474 //Try to connect using supplied values for Server and Port 388 475 //Why am I doing this? The library BMX net uses prompts for access and verify code … … 462 549 } 463 550 }while (bRetry == true); 464 465 //Printing 466 551 */ 552 553 //Printing Custom DLL. Perfect place for code injection!!! 554 //************************************************* 467 555 string DllLocation = string.Empty; 468 556 System.IO.DirectoryInfo di = new System.IO.DirectoryInfo(Application.StartupPath + @"\Printing\"); … … 495 583 this.m_PrintingObject = Creator.PrintFactory(); 496 584 } 497 585 //************************************************ 498 586 499 587 //User Interface Culture (m_CultureName is set from the command line flag /culture) … … 512 600 } 513 601 602 _dal = new DAL(RemoteSession); // Data access layer 603 514 604 //Create global dataset 515 605 _current.m_dsGlobal = new DataSet("GlobalDataSet"); … … 553 643 setProgressDelegate(2); 554 644 setStatusDelegate("Setting encoding..."); 555 645 //PORT TODO: Set encoding 556 646 if (m_Encoding == String.Empty) 557 647 { 558 string utf8_server_support = m_ConnectInfo.bmxNetLib.TransmitRPC("BMX UTF-8", ""); 648 string utf8_server_support = RemoteSession.TransmitRPC("BMX UTF-8", ""); 649 559 650 if (utf8_server_support == "1") 560 m_ConnectInfo.bmxNetLib.Encoder = System.Text.UTF8Encoding.UTF8; 651 RemoteSession.ConnectionEncoding = System.Text.UTF8Encoding.UTF8; 652 561 653 } 562 654 … … 565 657 setProgressDelegate(3); 566 658 setStatusDelegate("Setting Application Context to BSDXRPC..."); 567 m_ConnectInfo.AppContext = "BSDXRPC";659 RemoteSession.AppContext = "BSDXRPC"; 568 660 569 661 //User Preferences Object … … 571 663 setStatusDelegate("Getting User Preferences from the Server..."); 572 664 573 _current.UserPreferences = new UserPreferences(); // Does the calling to do that...665 _current.UserPreferences = new UserPreferences(); // Constructor Does the calling to do that... 574 666 575 667 //Load global recordsets … … 583 675 setProgressDelegate(6); 584 676 setStatusDelegate(statusConst + " Schedule User"); 585 DataTable dtUser = _dal.GetUserInfo( m_ConnectInfo.DUZ);677 DataTable dtUser = _dal.GetUserInfo(RemoteSession.User.Duz); 586 678 dtUser.TableName = "SchedulingUser"; 587 679 m_dsGlobal.Tables.Add(dtUser); … … 598 690 setProgressDelegate(7); 599 691 setStatusDelegate(statusConst + " Access Types"); 600 DataTable dtAccessTypes = _dal.GetAccessTypes(); 601 dtAccessTypes.TableName = "AccessTypes"; 602 m_dsGlobal.Tables.Add(dtAccessTypes); 692 DataTable dtAccessTypes = _dal.GetAccessTypes(m_dsGlobal, "AccessTypes"); 603 693 604 694 //Get Access Groups … … 680 770 //cmd.CommandText = "SELECT BMXIEN 'HOSPITAL_LOCATION_ID', NAME 'HOSPITAL_LOCATION', DEFAULT_PROVIDER, STOP_CODE_NUMBER, INACTIVATE_DATE, REACTIVATE_DATE FROM HOSPITAL_LOCATION"; 681 771 sCommandText = "BSDX HOSPITAL LOCATION"; 682 ConnectInfo.RPMSDataTable(sCommandText, "HospitalLocation", m_dsGlobal);772 RemoteSession.TableFromCommand(sCommandText, m_dsGlobal, "HospitalLocation"); 683 773 Debug.Write("LoadGlobalRecordsets -- HospitalLocation loaded\n"); 684 774 … … 732 822 setStatusDelegate(statusConst + " Providers"); 733 823 sCommandText = "SELECT BMXIEN, NAME FROM NEW_PERSON WHERE INACTIVE_DATE = '' AND BMXIEN > 1"; 734 ConnectInfo.RPMSDataTable(sCommandText, "Provider", m_dsGlobal);824 RemoteSession.TableFromSQL(sCommandText, m_dsGlobal, "Provider"); 735 825 Debug.Write("LoadGlobalRecordsets -- Provider loaded\n"); 736 826 … … 740 830 setStatusDelegate(statusConst + " Holiday"); 741 831 sCommandText = "SELECT NAME, DATE FROM HOLIDAY WHERE INTERNAL[DATE] > '" + FMDateTime.Create(DateTime.Today).DateOnly.FMDateString + "'"; 742 ConnectInfo.RPMSDataTable(sCommandText, "HOLIDAY", m_dsGlobal);832 RemoteSession.TableFromSQL(sCommandText, m_dsGlobal, "HOLIDAY"); 743 833 Debug.Write("LoadingGlobalRecordsets -- Holidays loaded\n"); 744 834 … … 749 839 750 840 setStatusDelegate("Setting Receive Timeout"); 751 _current. m_ConnectInfo.ReceiveTimeout = 30000; //30-second timeout841 _current.RemoteSession.ReceiveTimeout = 30000; //30-second timeout 752 842 753 843 #if DEBUG 754 _current. m_ConnectInfo.ReceiveTimeout = 600000; //longer timeout for debugging844 _current.RemoteSession.ReceiveTimeout = 600000; //longer timeout for debugging 755 845 #endif 756 846 // Event Subsriptions … … 758 848 //Table #16 759 849 setProgressDelegate(18); 760 _current. m_ConnectInfo.SubscribeEvent("BSDX SCHEDULE");850 _current.RemoteSession.EventServices.Subscribe("BSDX SCHEDULE"); 761 851 //Table #17 762 852 setProgressDelegate(19); 763 _current. m_ConnectInfo.SubscribeEvent("BSDX CALL WORKSTATIONS");853 _current.RemoteSession.EventServices.Subscribe("BSDX CALL WORKSTATIONS"); 764 854 //Table #18 765 855 setProgressDelegate(20); 766 _current. m_ConnectInfo.SubscribeEvent("BSDX ADMIN MESSAGE");856 _current.RemoteSession.EventServices.Subscribe("BSDX ADMIN MESSAGE"); 767 857 //Table #19 768 858 setProgressDelegate(21); 769 _current.m_ConnectInfo.SubscribeEvent("BSDX ADMIN SHUTDOWN"); 770 771 _current.m_ConnectInfo.EventPollingInterval = 5000; //in milliseconds 772 _current.m_ConnectInfo.EventPollingEnabled = true; 773 _current.m_ConnectInfo.AutoFire = 12; //AutoFire every 12*5 seconds 859 _current.RemoteSession.EventServices.Subscribe("BSDX ADMIN SHUTDOWN"); 860 861 _current.RemoteSession.EventServices.EventPollingInterval = 5000; //in milliseconds 862 _current.RemoteSession.EventServices.IsEventPollingEnabled = true; 863 864 //PORT TODO: No Autofire in BMX 4.0 865 //_current.RemoteSession.EventServices. = 12; //AutoFire every 12*5 seconds 774 866 775 867 //Close Splash Screen … … 785 877 { 786 878 string sCommandText = "SELECT * FROM BSDX_ACCESS_GROUP"; 787 ConnectInfo.RPMSDataTable(sCommandText, "AccessGroup", m_dsGlobal);879 RemoteSession.TableFromSQL(sCommandText, m_dsGlobal, "AccessGroup"); 788 880 Debug.Write("LoadGlobalRecordsets -- AccessGroups loaded\n"); 789 881 } … … 792 884 { 793 885 string sCommandText = "BSDX GET ACCESS GROUP TYPES"; 794 ConnectInfo.RPMSDataTable(sCommandText, "AccessGroupType", m_dsGlobal);886 RemoteSession.TableFromCommand(sCommandText, m_dsGlobal, "AccessGroupType"); 795 887 Debug.Write("LoadGlobalRecordsets -- AccessGroupTypes loaded\n"); 796 888 } … … 798 890 public void LoadBSDXResourcesTable() 799 891 { 800 string sCommandText = "BSDX RESOURCES^" + m_ConnectInfo.DUZ;801 ConnectInfo.RPMSDataTable(sCommandText, "Resources", m_dsGlobal);892 string sCommandText = "BSDX RESOURCES^" + RemoteSession.User.Duz; 893 RemoteSession.TableFromCommand(sCommandText, m_dsGlobal, "Resources"); 802 894 Debug.Write("LoadGlobalRecordsets -- Resources loaded\n"); 803 895 } … … 809 901 //to which user has access 810 902 //Fields are: RESOURCE_GROUPID, RESOURCE_GROUP 811 string sCommandText = "BSDX RESOURCE GROUPS BY USER^" + m_ConnectInfo.DUZ;812 ConnectInfo.RPMSDataTable(sCommandText, "ResourceGroup", m_dsGlobal);903 string sCommandText = "BSDX RESOURCE GROUPS BY USER^" + RemoteSession.User.Duz; 904 RemoteSession.TableFromCommand(sCommandText, m_dsGlobal, "ResourceGroup"); 813 905 Debug.Write("LoadGlobalRecordsets -- ResourceGroup loaded\n"); 814 906 } … … 821 913 //are returned. 822 914 //Fields are: RESOURCE_GROUPID, RESOURCE_GROUP, RESOURCE_GROUP_ITEMID, RESOURCE_NAME, RESOURCE_ID 823 string sCommandText = "BSDX GROUP RESOURCE^" + m_ConnectInfo.DUZ;824 ConnectInfo.RPMSDataTable(sCommandText, "GroupResources", m_dsGlobal);915 string sCommandText = "BSDX GROUP RESOURCE^" + RemoteSession.User.Duz; 916 RemoteSession.TableFromCommand(sCommandText, m_dsGlobal, "GroupResources"); 825 917 Debug.Write("LoadGlobalRecordsets -- GroupResources loaded\n"); 826 918 } … … 831 923 //who possesses the BSDXZMENU security key. 832 924 string sCommandText = "BSDX SCHEDULE USER"; 833 ConnectInfo.RPMSDataTable(sCommandText, "ScheduleUser", m_dsGlobal);925 RemoteSession.TableFromCommand(sCommandText, m_dsGlobal, "ScheduleUser"); 834 926 Debug.Write("LoadGlobalRecordsets -- ScheduleUser loaded\n"); 835 927 } … … 850 942 if (!bAllUsers) 851 943 { 852 sCommandText += String.Format(" WHERE INTERNAL[USERNAME] = {0}", m_ConnectInfo.DUZ);853 } 854 855 ConnectInfo.RPMSDataTable(sCommandText, "ResourceUser", m_dsGlobal);944 sCommandText += String.Format(" WHERE INTERNAL[USERNAME] = {0}", RemoteSession.User.Duz); 945 } 946 947 RemoteSession.TableFromSQL(sCommandText, m_dsGlobal, "ResourceUser"); 856 948 Debug.Write("LoadGlobalRecordsets -- ResourceUser loaded\n"); 857 949 } … … 968 1060 if ((Views.Count == 0)&&(this.AvailabilityViews.Count == 0)&&(m_bExitOK == true)) 969 1061 { 970 m_ConnectInfo.EventPollingEnabled = false;971 m_ConnectInfo.UnSubscribeEvent("BSDX SCHEDULE");972 m_ConnectInfo.CloseConnection();1062 RemoteSession.EventServices.IsEventPollingEnabled = false; 1063 RemoteSession.EventServices.Unsubscribe("BSDX SCHEDULE"); 1064 RemoteSession.Close(); 973 1065 Application.Exit(); 974 1066 } … … 983 1075 if ((Views.Count == 0)&&(this.AvailabilityViews.Count == 0)&&(m_bExitOK == true)) 984 1076 { 985 m_ConnectInfo.bmxNetLib.CloseConnection();1077 RemoteSession.Close(); 986 1078 Application.Exit(); 987 1079 } … … 1123 1215 1124 1216 //Used in Do loop 1125 bool bRetry = true;1217 //bool bRetry = true; 1126 1218 1127 / / Do Loop to deal with changing the server and the vagaries of user choices.1219 /*// Do Loop to deal with changing the server and the vagaries of user choices. 1128 1220 do 1129 1221 { … … 1134 1226 //so it can be re-used when BMX tries to log in again. 1135 1227 //Access and Verify code are prompted for in InitializeApp 1136 m_ConnectInfo.ChangeServerInfo(); 1228 LoginProcess login = this.WinFramework.CreateLoginProcess(); 1229 login.AttemptUserInputLogin("ReLog-in", 3, true, null); 1137 1230 bRetry = false; 1138 1231 } … … 1157 1250 } 1158 1251 } while (bRetry == true); 1159 1252 */ 1253 1160 1254 //Parameter for initialize app tells it that this is a re-login and forces a new access and verify code. 1161 1255 bool isEverythingOkay = this.InitializeApp(true); … … 1194 1288 private void mnuRPMSLogin_Click(object sender, EventArgs e) 1195 1289 { 1196 //Warn that changing login will close all schedules 1290 mnuRPMSServer_Click(sender, e); 1291 1292 /* v 1.7 to support BMX 4 -- commented out -- smh 1293 //Warn that changing login will close all schedules 1197 1294 if (MessageBox.Show("Are you sure you want to close all schedules and login to VistA?", "Clinical Scheduling", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning) != DialogResult.OK) 1198 1295 return; … … 1206 1303 CloseAll(); 1207 1304 m_bExitOK = true; 1305 1306 LoginProcess login = this.WinFramework.CreateLoginProcess(); 1307 login.AttemptUserInputLogin("Clincal Scheduling", 3, true, null); 1308 //m_ConnectInfo.bmxNetLib.StartLog(); //This line turns on logging of messages 1309 1310 if (!login.WasSuccessful) 1311 { 1312 return; 1313 } 1314 1315 LocalSession local = this.WinFramework.LocalSession; 1316 1317 if ((this.WinFramework.Context.User.Division == null) && !this.WinFramework.AttemptUserInputSetDivision("Set Initial Division", null)) 1318 { 1319 return; 1320 } 1321 1322 this.RemoteSession = this.WinFramework.PrimaryRemoteSession; 1208 1323 1209 1324 //Parameter for initialize app tells it that this is a re-login and forces a new access and verify code. … … 1233 1348 throw ex; 1234 1349 } 1235 1350 */ 1236 1351 } 1237 1352 … … 1290 1405 { 1291 1406 //System.IntPtr pHandle = this.Handle; 1292 RPMSDataTableDelegate rdtd = new RPMSDataTableDelegate( ConnectInfo.RPMSDataTable);1407 RPMSDataTableDelegate rdtd = new RPMSDataTableDelegate(RemoteSession.TableFromCommand); 1293 1408 //dtOut = (DataTable) this.Invoke(rdtd, new object[] {sSQL, sTableName}); 1294 dtOut = rdtd.Invoke(sSQL, sTableName); 1409 dtOut = RemoteSession.TableFromCommand(sSQL); 1410 dtOut.TableName = sTableName; 1411 1295 1412 } 1296 1413 … … 1307 1424 public void ChangeDivision(System.Windows.Forms.Form frmCaller) 1308 1425 { 1309 this.ConnectInfo.ChangeDivision(frmCaller); 1426 WinFramework.AttemptUserInputSetDivision("Change Division", frmCaller); 1427 1428 RemoteSession = WinFramework.PrimaryRemoteSession; 1429 1310 1430 foreach (CGView v in _views.Keys) 1311 1431 {
Note:
See TracChangeset
for help on using the changeset viewer.