/// <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);
        }
Пример #2
0
        }//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());
            }
        }