using System; using System.Collections.Generic; using System.Text; using com.lim.mimapi; using MimException = com.lim.mimapi.MimException; /** * Pulls records from the MIM using getRecords(). */ namespace DEMO_MIMAPI { class getRecords { MimConnection mim = null; MimDate fromDate = MimDate.INVALID_DATE; MimDate toDate = MimDate.INVALID_DATE; MimTime fromTime = new MimTime(00, 00, 00, 00); MimTime toTime = new MimTime(23, 59, 00, 00); int numUnits = 1; MimUnits units = MimUnits.getObjectForValue(MimUnits.DAYS_VAL); FillOption holiday = FillOption.FILL_NAN; FillOption missData = FillOption.FILL_NAN; SkipAllNaN skip_nan = SkipAllNaN.SKIP_ALL_NAN; string[] rel = { "" }; //only retrieve 30 records maximum // int limit = 30; int limit = 0; LimitMode limitMode = LimitMode.BY_RECORDS; public void execute(String host, Int32 port, string relation, string[] col) { try { // Connect to MIM server mim = ConnectionFactory.connect(host, port, "GetRecords"); // Bundle up the args and getRecords your records rel[0] = relation; MimDate today = new MimDate(2007, 01, 24); MimDate future = new MimDate(2007, 02, 24); // Set Record Properties GetRecordsParameters parms = new GetRecordsParameters(rel, col); parms.setNumUnits(numUnits); parms.setUnits(units); parms.setFromDate(fromDate); parms.setToDate(toDate); parms.setFromDate(today); parms.setToDate(future); parms.setFromTime(fromTime); parms.setToTime(toTime); parms.setMissData(missData); parms.setHolidays(holiday); parms.setSkip(skip_nan); parms.setLimit(limit); parms.setLimitMode(limitMode); // Get the Records from the MIM RecordSet rs = mim.getDataManager().getRecords(parms); // Display Results double[] vals = rs.getValues(); MimDateTime[] dts = rs.getDateTimes(); int index = 0; if (dts.Length == 0) Console.Out.WriteLine("There are NO records!"); else { Console.Out.Write("Date\t"); for (int j = 0; j < rs.getColumns().Length; j++) { Console.Out.Write("\t" + rs.getColumns()[j]); } Console.Out.WriteLine(); for (int i = 0; i < dts.Length; i++) { MimDate d = dts[i].getDate(); MimTime t = dts[i].getTime(); Console.Out.Write(d + " " + t); for (int j = 0; j < rs.getColumns().Length; j++) { Console.Out.Write("\t" + Math.Round(vals[index], 4)); index++; } Console.Out.WriteLine(); } } } catch (Exception e) { Console.Out.WriteLine("Exception: " + e.Message); } finally { try { if (mim != null) mim.disconnect(); } catch (Exception e) { Console.Out.WriteLine("Exception: " + e.Message); } } } } }