print device description
This commit is contained in:
		@@ -67,11 +67,13 @@ namespace Snmp2Mysql
 | 
				
			|||||||
    {
 | 
					    {
 | 
				
			||||||
        private int mId;
 | 
					        private int mId;
 | 
				
			||||||
        private string mOid;
 | 
					        private string mOid;
 | 
				
			||||||
 | 
							private string mDescription;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public DeviceDataItemTuple(int id, string oid)
 | 
							public DeviceDataItemTuple(int id, string oid, string description)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            mId = id;
 | 
					            mId = id;
 | 
				
			||||||
            mOid = oid;
 | 
					            mOid = oid;
 | 
				
			||||||
 | 
								mDescription = description;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public int Id
 | 
					        public int Id
 | 
				
			||||||
@@ -83,6 +85,10 @@ namespace Snmp2Mysql
 | 
				
			|||||||
        {
 | 
					        {
 | 
				
			||||||
            get { return mOid; }
 | 
					            get { return mOid; }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							public string Description {
 | 
				
			||||||
 | 
								get { return mDescription; }
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    class DeviceDataItemProvider : DatabaseConnectionHelper, IEnumerable<DeviceDataItemTuple>
 | 
					    class DeviceDataItemProvider : DatabaseConnectionHelper, IEnumerable<DeviceDataItemTuple>
 | 
				
			||||||
@@ -101,7 +107,7 @@ namespace Snmp2Mysql
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        IEnumerator<DeviceDataItemTuple> IEnumerable<DeviceDataItemTuple>.GetEnumerator()
 | 
					        IEnumerator<DeviceDataItemTuple> IEnumerable<DeviceDataItemTuple>.GetEnumerator()
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            string stmt = "SELECT dedi.id, di.oid FROM devicedataitem_t dedi, dataitem_t di WHERE dedi.device = " + mDevice + " AND dedi.dataitem = di.id";
 | 
					            string stmt = "SELECT dedi.id, di.oid, di.description FROM devicedataitem_t dedi, dataitem_t di WHERE dedi.device = " + mDevice + " AND dedi.dataitem = di.id";
 | 
				
			||||||
            MySqlCommand cmd = new MySqlCommand(stmt, mConn);
 | 
					            MySqlCommand cmd = new MySqlCommand(stmt, mConn);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            using (MySqlDataReader reader = cmd.ExecuteReader())
 | 
					            using (MySqlDataReader reader = cmd.ExecuteReader())
 | 
				
			||||||
@@ -109,7 +115,7 @@ namespace Snmp2Mysql
 | 
				
			|||||||
                while (reader.Read())
 | 
					                while (reader.Read())
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    // Console.WriteLine("{0} {1}", reader[0], reader[1]);
 | 
					                    // Console.WriteLine("{0} {1}", reader[0], reader[1]);
 | 
				
			||||||
                    DeviceDataItemTuple r = new DeviceDataItemTuple((int)reader[0], (string)reader[1]);
 | 
										DeviceDataItemTuple r = new DeviceDataItemTuple((int)reader[0], (string)reader[1], (string)reader[2]);
 | 
				
			||||||
                    yield return r;
 | 
					                    yield return r;
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
@@ -123,12 +129,14 @@ namespace Snmp2Mysql
 | 
				
			|||||||
        private DeviceDataItemProvider mDeviceDataItemProvider;
 | 
					        private DeviceDataItemProvider mDeviceDataItemProvider;
 | 
				
			||||||
        private string mDeviceAddress;
 | 
					        private string mDeviceAddress;
 | 
				
			||||||
        private string mCommunity;
 | 
					        private string mCommunity;
 | 
				
			||||||
 | 
							private string mDescription;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public DeviceTuple(DeviceDataItemProvider deviceDataItemProvider, string deviceAddress, string community)
 | 
							public DeviceTuple(DeviceDataItemProvider deviceDataItemProvider, string deviceAddress, string community, string description)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            mDeviceDataItemProvider = deviceDataItemProvider;
 | 
					            mDeviceDataItemProvider = deviceDataItemProvider;
 | 
				
			||||||
            mDeviceAddress = deviceAddress;
 | 
					            mDeviceAddress = deviceAddress;
 | 
				
			||||||
            mCommunity = community;
 | 
					            mCommunity = community;
 | 
				
			||||||
 | 
								mDescription = description;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public DeviceDataItemProvider DeviceDataItemProvider
 | 
					        public DeviceDataItemProvider DeviceDataItemProvider
 | 
				
			||||||
@@ -145,6 +153,10 @@ namespace Snmp2Mysql
 | 
				
			|||||||
        {
 | 
					        {
 | 
				
			||||||
            get { return mCommunity; }
 | 
					            get { return mCommunity; }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							public string Description {
 | 
				
			||||||
 | 
								get { return mDescription; }
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -160,7 +172,7 @@ namespace Snmp2Mysql
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        IEnumerator<DeviceTuple> IEnumerable<DeviceTuple>.GetEnumerator()
 | 
					        IEnumerator<DeviceTuple> IEnumerable<DeviceTuple>.GetEnumerator()
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            string stmt = "SELECT id, address, community FROM device_t";
 | 
					            string stmt = "SELECT id, address, community, description FROM device_t";
 | 
				
			||||||
            MySqlCommand cmd = new MySqlCommand(stmt, mConn);
 | 
					            MySqlCommand cmd = new MySqlCommand(stmt, mConn);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            using (MySqlDataReader reader = cmd.ExecuteReader())
 | 
					            using (MySqlDataReader reader = cmd.ExecuteReader())
 | 
				
			||||||
@@ -171,8 +183,9 @@ namespace Snmp2Mysql
 | 
				
			|||||||
                    int deviceId = (int)reader[0];
 | 
					                    int deviceId = (int)reader[0];
 | 
				
			||||||
                    string deviceAddress = (string)reader[1];
 | 
					                    string deviceAddress = (string)reader[1];
 | 
				
			||||||
                    string community = (string)reader[2];
 | 
					                    string community = (string)reader[2];
 | 
				
			||||||
 | 
										string description = (string)reader[3];
 | 
				
			||||||
                    DeviceDataItemProvider deviceDataItemProvider = new DeviceDataItemProvider(mDbConnStr, deviceId);
 | 
					                    DeviceDataItemProvider deviceDataItemProvider = new DeviceDataItemProvider(mDbConnStr, deviceId);
 | 
				
			||||||
                    DeviceTuple r = new DeviceTuple(deviceDataItemProvider, deviceAddress, community);
 | 
					                    DeviceTuple r = new DeviceTuple(deviceDataItemProvider, deviceAddress, community, description);
 | 
				
			||||||
                    yield return r;
 | 
					                    yield return r;
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,55 +1,55 @@
 | 
				
			|||||||
using System;
 | 
					using System;
 | 
				
			||||||
using System.Collections.Generic;
 | 
					using System.Collections.Generic;
 | 
				
			||||||
using System.Linq;
 | 
					using System.Linq;
 | 
				
			||||||
using System.Text;
 | 
					using System.Text;
 | 
				
			||||||
using System.Threading.Tasks;
 | 
					using System.Threading.Tasks;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
namespace Snmp2Mysql
 | 
					namespace Snmp2Mysql
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    class Program
 | 
					    class Program
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        static void Main(string[] args)
 | 
					        static void Main(string[] args)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            string dbConnStr = "SERVER=localhost;" +
 | 
					            string dbConnStr = "SERVER=localhost;" +
 | 
				
			||||||
                               "DATABASE=statsdb;" +
 | 
					                               "DATABASE=statsdb;" +
 | 
				
			||||||
                               "UID=statsuser;" +
 | 
					                               "UID=statsuser;" +
 | 
				
			||||||
                               "PASSWORD=test123;";
 | 
					                               "PASSWORD=test123;";
 | 
				
			||||||
            DatabaseLink dbLink = new DatabaseLink(dbConnStr);
 | 
					            DatabaseLink dbLink = new DatabaseLink(dbConnStr);
 | 
				
			||||||
            using (DataCollector dc = dbLink.DataCollector)
 | 
					            using (DataCollector dc = dbLink.DataCollector)
 | 
				
			||||||
            using (DeviceProvider dp = dbLink.DeviceProvider)
 | 
					            using (DeviceProvider dp = dbLink.DeviceProvider)
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                foreach (DeviceTuple dt in dp)
 | 
					                foreach (DeviceTuple dt in dp)
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    // Console.WriteLine("dt: {0}, {1}", dt.DeviceAddress, dt.Community);
 | 
					                    // Console.WriteLine("dt: {0}, {1}", dt.DeviceAddress, dt.Community);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                    using (SnmpGetter snmpGetter = new SnmpGetter(dt.Community, dt.DeviceAddress))
 | 
					                    using (SnmpGetter snmpGetter = new SnmpGetter(dt.Community, dt.DeviceAddress))
 | 
				
			||||||
                    {
 | 
					                    {
 | 
				
			||||||
                        using (DeviceDataItemProvider ddip = dt.DeviceDataItemProvider)
 | 
					                        using (DeviceDataItemProvider ddip = dt.DeviceDataItemProvider)
 | 
				
			||||||
                        {
 | 
					                        {
 | 
				
			||||||
                            foreach (DeviceDataItemTuple ddit in dt.DeviceDataItemProvider)
 | 
					                            foreach (DeviceDataItemTuple ddit in dt.DeviceDataItemProvider)
 | 
				
			||||||
                            {
 | 
					                            {
 | 
				
			||||||
                                // Console.WriteLine("  ddit: {0}, {1}", ddit.Id, ddit.Oid);
 | 
					                                // Console.WriteLine("  ddit: {0}, {1}", ddit.Id, ddit.Oid);
 | 
				
			||||||
                                snmpGetter.AddOid(ddit.Id, ddit.Oid);
 | 
					                                snmpGetter.AddOid(ddit.Id, ddit.Oid);
 | 
				
			||||||
                            }
 | 
					                            }
 | 
				
			||||||
                        }
 | 
					                        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
						try 
 | 
											try 
 | 
				
			||||||
						{
 | 
											{
 | 
				
			||||||
                        	SnmpGetterResultProvider res = snmpGetter.Exec();
 | 
					                        	SnmpGetterResultProvider res = snmpGetter.Exec();
 | 
				
			||||||
                        	foreach (SnmpGetterResult r in res)
 | 
					                        	foreach (SnmpGetterResult r in res)
 | 
				
			||||||
                        	{
 | 
					                        	{
 | 
				
			||||||
                            	Console.WriteLine("{0} {1} {2}: {3}", r.Index, r.Oid, r.Type, r.Value);
 | 
													Console.WriteLine("{0} {1} {2} {3}: {4}", dt.Description, r.Index, r.Oid, r.Type, r.Value);
 | 
				
			||||||
                            	dc.add((int)r.Index, r.Value);
 | 
					                            	dc.add((int)r.Index, r.Value);
 | 
				
			||||||
                        	}
 | 
					                        	}
 | 
				
			||||||
						} 
 | 
											} 
 | 
				
			||||||
						catch (SnmpGetterException e) {
 | 
											catch (SnmpGetterException e) {
 | 
				
			||||||
							Console.WriteLine ("no result: {0}", e.Message);
 | 
												Console.WriteLine ("{0}, no result: {1}", dt.Description, e.Message);
 | 
				
			||||||
						}
 | 
											}
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user