/// <summary> /// /// </summary> /// <param name="dbData"></param> /// <returns></returns> private bool initializeDbData(DataTable dbData) { if (dbData == null || dbData.Rows == null || dbData.Rows.Count <= 0) { return(false); } int idx = 0; foreach (DataRow dR in dbData.Rows) { if (dR == null || dR.ItemArray.Length <= 0) { continue; } //Get critical fields first var dbEnStr = Utilities.GetStringValue(dR["ENABLED"], "0"); var dbEnabled = (dbEnStr.Equals("1")); var dbUserEnc = Utilities.GetStringValue(dR["DBUSER"], string.Empty); var dbUserPwdEnc = Utilities.GetStringValue(dR["DBUSERPWD"], string.Empty); //Create database vo object and initialize var dVO = new DatabaseServiceVO(dbUserEnc, dbUserPwdEnc, dbEnabled); dVO.Id = Utilities.GetULongValue(dR["ID"], 0L); dVO.Name = Utilities.GetStringValue(dR["NAME"], string.Empty); dVO.ServiceType = Utilities.GetStringValue(dR["SERVICETYPE"], string.Empty); dVO.Server = Utilities.GetStringValue(dR["SERVER"], string.Empty); dVO.Port = Utilities.GetStringValue(dR["PORT"], string.Empty); dVO.Schema = Utilities.GetStringValue(dR["SCHEMA"], string.Empty); dVO.AuxInfo = Utilities.GetStringValue(dR["AUXINFO"], string.Empty); //Add database service to store client config string key = DBKEY + idx; this.clientConfig.DatabaseServices.Add(key, dVO); //Increment index ++idx; } return(idx > 0); }
public DatabaseServiceVO GetCouchDBService() { if (!this.Initialized) { return(null); } for (var i = 0; i < this.clientConfig.DatabaseServices.Count; ++i) { DatabaseServiceVO curDS = this.GetDBService(i); if (curDS == null) { continue; } if (curDS.ServiceType.Equals(COUCHDBKEY, StringComparison.OrdinalIgnoreCase)) { return(curDS); } } throw new ApplicationException(ERRMSGSERV + COUCHDBKEY); }
public bool SetLDAPService( ref DatabaseServiceVO ldap, string loginDN, string searchDN, string userIdKey, string userPwd, string pwdPolicy, bool encryptServerPort) { if (!this.Initialized) { return(false); } if (ldap == null || string.IsNullOrEmpty(ldap.ServiceType) || !ldap.ServiceType.Equals(LDAPKEY)) { return(false); } if (this.clientConfig.DatabaseServices == null) { this.clientConfig.DatabaseServices = new Dictionary <string, DatabaseServiceVO>(3); } //If an LDAP service exists, fetch it first var exists = false; var curLdapVo = this.clientConfig.DatabaseServices.Values.First( x => x.ServiceType.Equals(LDAPKEY)); if (curLdapVo != null) { exists = true; } if (!exists) { curLdapVo = ldap; curLdapVo.Name = this.EncryptValue(ldap.Name); if (encryptServerPort) { curLdapVo.Port = this.EncryptValue(ldap.Port); curLdapVo.Server = this.EncryptValue(ldap.Server); } else { curLdapVo.Port = ldap.Port; curLdapVo.Server = ldap.Server; } } else { curLdapVo.Name = (!string.IsNullOrEmpty(ldap.Name)) ? ldap.Name : curLdapVo.Name; if (encryptServerPort) { curLdapVo.Port = this.EncryptValue(ldap.Port); curLdapVo.Server = this.EncryptValue(ldap.Server); } else { curLdapVo.Port = ldap.Port; curLdapVo.Server = ldap.Server; } } //Construct aux info string var auxInfoStr = ComputeUnEncryptedAuxInfo( loginDN, searchDN, userIdKey, userPwd, pwdPolicy); //Encrypt the aux info string and set it curLdapVo.AuxInfo = this.EncryptValue(auxInfoStr); //Set the ref field again ldap = curLdapVo; //If the entry did not exist previously, add it to the list if (!exists) { var servCnt = this.clientConfig.DatabaseServices.Count; this.clientConfig.DatabaseServices.Add(DBKEY + servCnt, ldap); } return(true); }