/// <summary> /// Converts PFKeyValueList object to PFKeyValueListSorted object. /// </summary> /// <param name="kvlist"></param> /// <returns>PFKeyValueListSorted object.</returns> public static PFKeyValueListSorted <K, V> ConvertPFKeyValueListToSortedList(PFKeyValueList <K, V> kvlist) { PFKeyValueListSorted <K, V> kvlistSorted = new PFKeyValueListSorted <K, V>(); kvlist.SetToBOF(); stKeyValuePair <K, V> pfKeyValuePair = kvlist.FirstItem; while (!kvlist.EOF) { kvlistSorted.Add(pfKeyValuePair.Key, pfKeyValuePair.Value); pfKeyValuePair = kvlist.NextItem; } return(kvlistSorted); }
}//end GenericListTest public void GenericKeyValueListTest() { PFKeyValueList <int, string> kvlist = new PFKeyValueList <int, string>(); PFKeyValueList <int, string> kvlist3 = new PFKeyValueList <int, string>(); string kvlistFilename = @"c:\temp\testkvlist.xml"; string connectionString = string.Empty; string configValue = string.Empty; PFDBKeyValueListProcessor <int, string> kvlistProcessor = new PFDBKeyValueListProcessor <int, string>(); try { _msg.Length = 0; _msg.Append("GenericKeyValueListTest started ...\r\n"); Program._messageLog.WriteLine(_msg.ToString()); configValue = AppConfig.GetStringValueFromConfigFile("ListsDatabaseFile", string.Empty); if (configValue.Length > 0) { connectionString = configValue; } else { connectionString = _listsDatabaseConnectionString; } Program._messageLog.WriteLine(Environment.NewLine); kvlist.Add(new stKeyValuePair <int, string>(1, "First value")); kvlist.Add(new stKeyValuePair <int, string>(2, "Second value")); kvlist.Add(new stKeyValuePair <int, string>(3, "Third value")); kvlist.Add(new stKeyValuePair <int, string>(4, "Fourth value is just this")); kvlist.Add(new stKeyValuePair <int, string>(5, "First value is whatever comes here")); kvlist.SaveToXmlFile(kvlistFilename); PFKeyValueList <int, string> kvlist2 = PFKeyValueList <int, string> .LoadFromXmlFile(kvlistFilename); kvlist2.SetToBOF(); stKeyValuePair <int, string> kvp = kvlist2.FirstItem; while (!kvlist2.EOF) { _msg.Length = 0; _msg.Append(kvp.Key.ToString()); _msg.Append(", "); _msg.Append(kvp.Value); Program._messageLog.WriteLine(_msg.ToString()); kvp = kvlist2.NextItem; } kvlistProcessor.SaveToDatabase(kvlist, connectionString, "TestprogCollections_kvlist"); kvlist3 = kvlistProcessor.LoadFromDatabase(connectionString, "TestprogCollections_kvlist"); if (kvlist3 != null) { _msg.Length = 0; _msg.Append("kvlist3 ToXmlString Test: "); Program._messageLog.WriteLine(_msg.ToString()); _msg.Length = 0; _msg.Append(kvlist3.ToXmlString()); _msg.Append(Environment.NewLine); _msg.Append("+++ kvlist3 retrieved. +++"); Program._messageLog.WriteLine(_msg.ToString()); } else { _msg.Length = 0; _msg.Append("kvlist3 ToXmlString Test: "); Program._messageLog.WriteLine(_msg.ToString()); _msg.Length = 0; _msg.Append("*** KVLIST3 IS NULL ***"); Program._messageLog.WriteLine(_msg.ToString()); } } catch (System.Exception ex) { _msg.Length = 0; _msg.Append(AppGlobals.AppMessages.FormatErrorMessage(ex)); Program._messageLog.WriteLine(_msg.ToString()); AppMessages.DisplayErrorMessage(_msg.ToString(), _saveErrorMessagesToAppLog); } finally { kvlistProcessor = null; _msg.Length = 0; _msg.Append("\r\n... GenericKeyValueListTest finished."); Program._messageLog.WriteLine(_msg.ToString()); } }