GSF.PhasorProtocols.UI.DataModels.Phasor.GetLookupList C# (CSharp) Method

GetLookupList() public static method

Gets a Dictionary{T1,T2} style list of Phasor information.
public static GetLookupList ( AdoDataConnection database, int deviceID, bool isOptional = true ) : string>.Dictionary
database AdoDataConnection to connection to database.
deviceID int ID of the to filter data.
isOptional bool Indicates if selection on UI is optional for this collection.
return string>.Dictionary
        public static Dictionary<int, string> GetLookupList(AdoDataConnection database, int deviceID, bool isOptional = true)
        {
            bool createdConnection = false;

            try
            {
                createdConnection = CreateConnection(ref database);

                Dictionary<int, string> phasorList = new Dictionary<int, string>();
                if (isOptional)
                    phasorList.Add(0, "Select Phasor");

                if (deviceID == 0)
                    return phasorList;

                string query = database.ParameterizedQueryString("SELECT ID, Label FROM Phasor WHERE DeviceID = {0} ORDER BY SourceIndex", "deviceID");
                DataTable phasorTable = database.Connection.RetrieveData(database.AdapterType, query, DefaultTimeout, deviceID);

                foreach (DataRow row in phasorTable.Rows)
                    phasorList[row.ConvertField<int>("ID")] = row.Field<string>("Label");

                return phasorList;
            }
            finally
            {
                if (createdConnection && database != null)
                    database.Dispose();
            }
        }