//-------------------------------------------------------------------------------------------------// /// <summary> /// /// </summary> public ExperimentsDB(DBConnection dbConnection) { const string methodName = "ExperimentsDB"; Logfile.WriteCalled(logLevel, STR_ClassName, methodName); try { /* * Check that parameters are valid */ if (dbConnection == null) { throw new ArgumentNullException(DBConnection.ClassName); } /* * Initialise locals */ this.sqlConnection = dbConnection.GetConnection(); } catch (Exception ex) { Logfile.WriteError(ex.Message); throw; } Logfile.WriteCompleted(logLevel, STR_ClassName, methodName); }
//-------------------------------------------------------------------------------------------------// /// <summary> /// /// </summary> public ConfigProperties() { const string methodName = "ConfigProperties"; Logfile.WriteCalled(logLevel, STR_ClassName, methodName); try { /* * Create an instance of the database connection */ String sqlConnectionString = AppSetting.GetStringAppSetting(LabConsts.STRCFG_SqlConnection); this.dbConnection = new DBConnection(sqlConnectionString); /* * Get the ServiceBroker Guid */ this.serviceBrokerGuid = AppSetting.GetStringAppSetting(LabConsts.STRCFG_ServiceBrokerGuid); /* * Get LabClient authentication */ this.authenticating = AppSetting.GetBoolAppSetting(LabConsts.STRCFG_Authenticating, true); this.logAuthentication = AppSetting.GetBoolAppSetting(LabConsts.STRCFG_LogAuthentication, false); /* * Get coupon Id and passkey for LabClient authentication */ this.couponId = AppSetting.GetLongAppSetting(LabConsts.STRCFG_CouponId); this.couponPasskey = AppSetting.GetStringAppSetting(LabConsts.STRCFG_CouponPasskey); /* * Get the LabServer service information */ char[] splitterCharArray = new char[] { LabConsts.CHRCSV_SplitterChar }; this.labServerInfos = new Dictionary<String, LabServerInfo>(); for (int i = 0; true; i++) { /* * Get the LabServer info if it exists */ String[] splitLabServerInfo; try { String csvLabServerInfo = AppSetting.GetAppSetting(String.Format(LabConsts.STRCFG_LabServer_arg, i)); splitLabServerInfo = csvLabServerInfo.Split(splitterCharArray); } catch { break; } /* * Extract guid and check */ String guid = splitLabServerInfo[LabConsts.INDEX_LabServerGuid]; if (guid == null || guid.Trim().Length == 0) { throw new ArgumentNullException(STRERR_LabServerGuid); } guid = guid.Trim().ToUpper(); /* * Extract service url and check */ String serviceUrl = splitLabServerInfo[LabConsts.INDEX_LabServerUrl]; if (serviceUrl == null || serviceUrl.Trim().Length == 0) { throw new ArgumentNullException(STRERR_LabServerServiceUrl); } serviceUrl = serviceUrl.Trim(); /* * Extract the outgoing passkey and check */ String outPasskey = splitLabServerInfo[LabConsts.INDEX_LabServerOutPasskey]; if (outPasskey == null || outPasskey.Trim().Length == 0) { throw new ArgumentNullException(STRERR_LabServerOutPasskey); } outPasskey = outPasskey.Trim(); /* * Extract the incoming passkey and check */ String inPasskey = splitLabServerInfo[LabConsts.INDEX_LabServerInPasskey]; if (inPasskey == null || inPasskey.Trim().Length == 0) { throw new ArgumentNullException(STRERR_LabServerInPasskey); } inPasskey = inPasskey.Trim(); /* * Store information */ this.labServerInfos.Add(guid, new LabServerInfo(guid, serviceUrl, outPasskey, inPasskey)); Logfile.Write(String.Format(STRLOG_LabServerInfo_arg5, i, guid, serviceUrl, outPasskey, inPasskey)); } } catch (Exception ex) { Logfile.WriteError(ex.Message); throw; } Logfile.WriteCompleted(logLevel, STR_ClassName, methodName); }