internal static void LoadConnectionParameters()
        {
            try
            {
                using (AdoDataConnection connection = new AdoDataConnection("systemSettings"))
                {
                    TableOperations<IaonOutputAdapter> operations = new TableOperations<IaonOutputAdapter>(connection);
                    IaonOutputAdapter record = operations.QueryRecords(limit: 1, restriction: new RecordRestriction
                    {
                        FilterExpression = "TypeName = 'openHistorian.Adapters.LocalOutputAdapter'"
                    })
                    .FirstOrDefault();

                    if ((object)record == null)
                        throw new NullReferenceException("Primary openHistorian adapter instance not found.");

                    Dictionary<string, string> settings = record.ConnectionString.ParseKeyValuePairs();
                    string setting;

                    if (!settings.TryGetValue("port", out setting) || !int.TryParse(setting, out s_portNumber))
                        s_portNumber = Connection.DefaultHistorianPort;

                    if (!settings.TryGetValue("instanceName", out s_defaultInstanceName) || string.IsNullOrWhiteSpace(s_defaultInstanceName))
                        s_defaultInstanceName = record.AdapterName ?? "PPA";
                }
            }
            catch
            {
                s_defaultInstanceName = "PPA";
                s_portNumber = Connection.DefaultHistorianPort;
            }
        }
Ejemplo n.º 2
0
        public List <D3Series> BuildDataSeries(NameValueCollection requestParameters)
        {
            int    eventID         = int.Parse(requestParameters["eventID"]);
            bool   displayVolt     = requestParameters["displayVolt"] == null ? true:  bool.Parse(requestParameters["displayVolt"]);
            bool   displayCur      = requestParameters["displayCur"] == null ? true : bool.Parse(requestParameters["displayCur"]);
            bool   displayTCE      = requestParameters["displayTCE"] == null ? false : bool.Parse(requestParameters["displayTCE"]);
            bool   breakerdigitals = requestParameters["breakerdigitals"] == null ? false : bool.Parse(requestParameters["breakerdigitals"]);
            bool   displayAnalogs  = requestParameters["displayAnalogs"] == null ? false : bool.Parse(requestParameters["displayAnalogs"]);
            int    filterOrder     = requestParameters["filterOrder"] == null? 0:  int.Parse(requestParameters["filterOrder"]);
            double Trc             = requestParameters["Trc"] == null ? 0.0 : double.Parse(requestParameters["Trc"]);
            int    harmonic        = requestParameters["harmonic"] == null ? 1 : int.Parse(requestParameters["harmonic"]);

            string displayAnalytics = requestParameters["displayAnalytics"] == null ? "" : requestParameters["displayAnalytics"];

            using (AdoDataConnection connection = new AdoDataConnection("dbOpenXDA"))
            {
                Event evt   = (new TableOperations <Event>(connection)).QueryRecordWhere("ID = {0}", eventID);
                Meter meter = new TableOperations <Meter>(connection).QueryRecordWhere("ID = {0}", evt.MeterID);
                meter.ConnectionFactory = () => new AdoDataConnection("dbOpenXDA");

                IEnumerable <D3Series> returnList = new List <D3Series>();
                if (displayVolt)
                {
                    returnList = returnList.Concat(QueryVoltageData(meter, evt));
                }

                if (displayCur)
                {
                    returnList = returnList.Concat(QueryCurrentData(meter, evt));
                }

                if (displayTCE)
                {
                    returnList = returnList.Concat(QueryTCEData(meter, evt));
                }

                if (displayAnalogs)
                {
                    returnList = returnList.Concat(QueryAnalogData(meter, evt));
                }

                if (breakerdigitals)
                {
                    returnList = returnList.Concat(QueryDigitalData(meter, evt));
                }

                if (displayAnalytics != "")
                {
                    returnList = returnList.Concat(QueryAnalyticData(meter, evt, displayAnalytics, filterOrder, Trc, harmonic));
                }


                returnList = AlignData(returnList.ToList());

                return(returnList.ToList());
            }
        }
Ejemplo n.º 3
0
        public static void DeleteChildDeviceByIDCode(this Device[] devices, TableOperations <Device> deviceTable, int parentID, ushort idCode)
        {
            Device device = devices.FindChildDeviceByIDCode(parentID, idCode);

            if (device is not null)
            {
                deviceTable?.DeleteRecord(device);
            }
        }
Ejemplo n.º 4
0
        private List <DbDisturbance> GetDisturbances(AdoDataConnection connection, MeterDataSet meterDataSet, DataGroup dataGroup)
        {
            SagDataResource          sagDataResource          = meterDataSet.GetResource <SagDataResource>();
            SwellDataResource        swellDataResource        = meterDataSet.GetResource <SwellDataResource>();
            InterruptionDataResource interruptionDataResource = meterDataSet.GetResource <InterruptionDataResource>();
            TransientDataResource    transientDataResource    = meterDataSet.GetResource <TransientDataResource>();

            List <DbDisturbance> dbDisturbances = new List <DbDisturbance>();
            List <Disturbance>   disturbances;

            TableOperations <Event> eventTable = new TableOperations <Event>(connection);

            if (dataGroup.Classification == DataClassification.Trend)
            {
                return(dbDisturbances);
            }

            if (dataGroup.Classification == DataClassification.Unknown)
            {
                return(dbDisturbances);
            }

            if (sagDataResource.Sags.TryGetValue(dataGroup, out disturbances))
            {
                foreach (Disturbance sag in disturbances)
                {
                    dbDisturbances.Add(GetDisturbanceRow(connection, sag));
                }
            }

            if (swellDataResource.Swells.TryGetValue(dataGroup, out disturbances))
            {
                foreach (Disturbance swell in disturbances)
                {
                    dbDisturbances.Add(GetDisturbanceRow(connection, swell));
                }
            }

            if (interruptionDataResource.Interruptions.TryGetValue(dataGroup, out disturbances))
            {
                foreach (Disturbance interruption in disturbances)
                {
                    dbDisturbances.Add(GetDisturbanceRow(connection, interruption));
                }
            }

            if (transientDataResource.Transients.TryGetValue(dataGroup, out disturbances))
            {
                foreach (Disturbance transient in disturbances)
                {
                    dbDisturbances.Add(GetDisturbanceRow(connection, transient));
                }
            }


            return(dbDisturbances);
        }
Ejemplo n.º 5
0
        public int QueryIncidentEventCycleDataViewCount(string date, string name, string levels, string limits, string timeContext, string filterString)
        {
            TableOperations <IncidentEventCycleDataView> table = DataContext.Table <IncidentEventCycleDataView>();
            RecordRestriction filterRestriction = table.GetSearchRestriction(filterString);
            DateTime          startDate         = DateTime.ParseExact(date, "yyyyMMddHH", CultureInfo.InvariantCulture);
            DateTime          endDate           = (DateTime)typeof(DateTime).GetMethod("Add" + timeContext).Invoke(startDate, new object[] { 1 });

            return(table.QueryRecordCount(filterRestriction + new RecordRestriction("StartTime BETWEEN {0} AND {1}", startDate, endDate) + new RecordRestriction(levels + " = {0}", name)));
        }
Ejemplo n.º 6
0
        private void BulkCalculationState_Load(object sender, EventArgs e)
        {
            try
            {
                // Load current settings registering a symbolic reference to this form instance for use by default value expressions
                m_settings = new Settings(new Dictionary <string, object> {
                    { "Form", this }
                }.RegisterSymbols());

                // Restore last window size/location
                this.RestoreLayout();

                string configFile = GetConfigurationFileName();

                if (!File.Exists(configFile))
                {
                    throw new FileNotFoundException("Host service config file was not found.");
                }

                XDocument serviceConfig = XDocument.Load(configFile);

                string connectionString = serviceConfig
                                          .Descendants("systemSettings")
                                          .SelectMany(systemSettings => systemSettings.Elements("add"))
                                          .Where(element => "ConnectionString".Equals((string)element.Attribute("name"), StringComparison.OrdinalIgnoreCase))
                                          .Select(element => (string)element.Attribute("value"))
                                          .FirstOrDefault();

                string dataProviderString = serviceConfig
                                            .Descendants("systemSettings")
                                            .SelectMany(systemSettings => systemSettings.Elements("add"))
                                            .Where(element => "DataProviderString".Equals((string)element.Attribute("name"), StringComparison.OrdinalIgnoreCase))
                                            .Select(element => (string)element.Attribute("value"))
                                            .FirstOrDefault();

                m_connection         = new AdoDataConnection(connectionString, dataProviderString);
                m_actionAdapterTable = new TableOperations <CustomActionAdapter>(m_connection);
                RefreshActionAdapters();

                m_updateTotals = new ShortSynchronizedOperation(UpdateTotals);
                SyncCheckedListBox();
                ConnectConsole();

                m_formLoaded = true;
            }
            catch (Exception ex)
            {
                m_log.Publish(MessageLevel.Error, "FormLoad", "Failed while loading settings", exception: ex);

            #if DEBUG
                throw;
            #else
                MessageBox.Show(this, $"Failed during initialization: {ex.Message}", "Initialization Failure", MessageBoxButtons.OK, MessageBoxIcon.Error);
                Application.Exit();
            #endif
            }
        }
 public IHttpActionResult GetValueListForGroup(string groupName)
 {
     using (AdoDataConnection connection = new AdoDataConnection(Connection))
     {
         string tableName = new TableOperations <ValueListGroup>(connection).TableName;
         IEnumerable <ValueList> records = new TableOperations <ValueList>(connection).QueryRecordsWhere($"GroupID = ( SELECT ID FROM {tableName} WHERE Name = {{0}})", groupName);
         return(Ok(records));
     }
 }
Ejemplo n.º 8
0
        public Task <DataTable> GetDataFiles([FromBody] GetDataFilesPostData postData, CancellationToken cancellationToken)
        {
            return(Task.Run(() =>
            {
                using (AdoDataConnection connection = new AdoDataConnection("systemSettings"))
                {
                    const string QueryFormat =
                        "WITH cte AS " +
                        "( " +
                        "    SELECT * " +
                        "    FROM DataFile " +
                        "    WHERE {0} " +
                        ") " +
                        "SELECT DataFile.* " +
                        "FROM " +
                        "( " +
                        "    SELECT " +
                        "        ROW_NUMBER() OVER(ORDER BY {2}) AS RowNumber, " +
                        "        DataFile.* " +
                        "    FROM (SELECT DISTINCT FileGroupID ID FROM cte) FileGroup CROSS APPLY " +
                        "    ( " +
                        "        SELECT TOP 1 * " +
                        "        FROM cte DataFile " +
                        "        WHERE DataFile.FileGroupID = FileGroup.ID " +
                        "        ORDER BY FileSize DESC, FilePath " +
                        "    ) DataFile " +
                        ") DataFile " +
                        "WHERE {1} " +
                        "ORDER BY RowNumber";

                    TableOperations <DataFile> dataFileTable = new TableOperations <DataFile>(connection);

                    RecordRestriction searchRestriction = dataFileTable.GetSearchRestriction(postData.filterString)
                                                          ?? new RecordRestriction("1=1");

                    string searchClause = searchRestriction.FilterExpression;

                    int paramIndex = searchRestriction.Parameters.Length;
                    string pageClause = $"RowNumber BETWEEN {{{paramIndex}}} AND {{{paramIndex + 1}}}";

                    string sortOrder = postData.ascending ? "ASC" : "DESC";
                    string orderByClause = $"{postData.sortField} {sortOrder}";
                    string query = string.Format(QueryFormat, searchClause, pageClause, orderByClause);

                    int pageStart = (postData.page - 1) * postData.pageSize + 1;
                    int pageEnd = pageStart + postData.pageSize - 1;

                    object[] parameters = searchRestriction.Parameters
                                          .Concat(new object[] { pageStart, pageEnd })
                                          .ToArray();

                    return connection
                    .RetrieveData(query, parameters);
                }
            }, cancellationToken));
        }
 public OpenMICController()
 {
     using (AdoDataConnection connection = new AdoDataConnection("systemSettings"))
     {
         TableOperations <Setting> table = new TableOperations <Setting>(connection);
         InstanceUrl = table.QueryRecordWhere("Name = 'OpenMIC.Url'")?.Value ?? "";
         Credential  = table.QueryRecordWhere("Name = 'OpenMIC.Url'")?.Value ?? "";
         Password    = table.QueryRecordWhere("Name = 'OpenMIC.Url'")?.Value ?? "";
     }
 }
Ejemplo n.º 10
0
        public int QueryDeviceCount(Guid nodeID, string filterText)
        {
            TableOperations <Device> deviceTable = DataContext.Table <Device>();

            RecordRestriction restriction =
                new RecordRestriction("NodeID = {0}", nodeID) +
                deviceTable.GetSearchRestriction(filterText);

            return(deviceTable.QueryRecordCount(restriction));
        }
Ejemplo n.º 11
0
        public IEnumerable <ReportMeasurements> QueryReportMeasurments(string sortField, bool ascending, int page, int pageSize, string filterText)
        {
            TableOperations <ReportMeasurements> tableOperations = m_reportOperations.Table();

            if (tableOperations == null)
            {
                return(new List <ReportMeasurements>());
            }
            return(tableOperations.QueryRecords(sortField, ascending, page, pageSize, filterText));
        }
Ejemplo n.º 12
0
        public IEnumerable <Device> QueryDevices(Guid nodeID, string sortField, bool ascending, int page, int pageSize, string filterText)
        {
            TableOperations <Device> deviceTable = DataContext.Table <Device>();

            RecordRestriction restriction =
                new RecordRestriction("NodeID = {0}", nodeID) +
                deviceTable.GetSearchRestriction(filterText);

            return(deviceTable.QueryRecords(sortField, ascending, page, pageSize, restriction));
        }
Ejemplo n.º 13
0
        public int QuerySNRMeasurmentCount(string filterText)
        {
            TableOperations <ReportMeasurements> tableOperations = m_reportOperations.Table();

            if (tableOperations == null)
            {
                return(0);
            }
            return(tableOperations.QueryRecordCount(filterText));
        }
Ejemplo n.º 14
0
        public int QueryDeviceGroupCount(Guid nodeID, string filterText)
        {
            TableOperations <DeviceGroup> deviceGroupTable = DataContext.Table <DeviceGroup>();

            RecordRestriction restriction =
                new RecordRestriction("NodeID = {0} AND ProtocolID = {1} AND AccessID = {2}", nodeID, VirtualProtocolID, DeviceGroup.DefaultAccessID) +
                deviceGroupTable.GetSearchRestriction(filterText);

            return(deviceGroupTable.QueryRecordCount(restriction));
        }
Ejemplo n.º 15
0
        public void Fire(IWebDriver webDriver, string xPath, string[] inputValues)
        {
            IWebElement rowToBeClicked = TableOperations.GetMatchingRow(webDriver, xPath, inputValues);

            if (rowToBeClicked == null)
            {
                throw new NoSuchElementException("Row with given values not found.");
            }
            rowToBeClicked.Click();
        }
Ejemplo n.º 16
0
        public int QueryPhasorCount(int deviceID, string filterText)
        {
            TableOperations <PhasorDetail> phasorDetailTable = DataContext.Table <PhasorDetail>();

            RecordRestriction restriction = (deviceID > 0 ?
                                             new RecordRestriction("DeviceID = {0}", deviceID) : null) +
                                            phasorDetailTable.GetSearchRestriction(filterText);

            return(phasorDetailTable.QueryRecordCount(restriction));
        }
Ejemplo n.º 17
0
        public IEnumerable <PhasorDetail> QueryPhasors(int deviceID, string sortField, bool ascending, int page, int pageSize, string filterText)
        {
            TableOperations <PhasorDetail> phasorDetailTable = DataContext.Table <PhasorDetail>();

            RecordRestriction restriction = (deviceID > 0 ?
                                             new RecordRestriction("DeviceID = {0}", deviceID) : null) +
                                            phasorDetailTable.GetSearchRestriction(filterText);

            return(DataContext.Table <PhasorDetail>().QueryRecords(sortField, ascending, page, pageSize, restriction));
        }
Ejemplo n.º 18
0
        public IEnumerable <DeviceGroup> QueryDeviceGroups(Guid nodeID, string sortField, bool ascending, int page, int pageSize, string filterText)
        {
            TableOperations <DeviceGroup> deviceGroupTable = DataContext.Table <DeviceGroup>();

            RecordRestriction restriction =
                new RecordRestriction("NodeID = {0} AND ProtocolID = {1} AND AccessID = {2}", nodeID, VirtualProtocolID, DeviceGroup.DefaultAccessID) +
                deviceGroupTable.GetSearchRestriction(filterText);

            return(deviceGroupTable.QueryRecords(sortField, ascending, page, pageSize, restriction));
        }
Ejemplo n.º 19
0
        public override void Execute(MeterDataSet meterDataSet)
        {
            LightningDataResource lightningDataResource = meterDataSet.GetResource <LightningDataResource>();

            if (lightningDataResource.LightningStrikeLookup.Count == 0)
            {
                return;
            }

            using (AdoDataConnection connection = meterDataSet.CreateDbConnection())
            {
                foreach (var kvp in lightningDataResource.LightningStrikeLookup)
                {
                    DataGroup dataGroup = kvp.Key;
                    List <ILightningStrike> lightningStrikes = kvp.Value;

                    TableOperations <Event> eventTable = new TableOperations <Event>(connection);
                    Event evt = eventTable.GetEvent(meterDataSet.FileGroup, dataGroup);

                    if (evt == null)
                    {
                        continue;
                    }

                    foreach (ILightningStrike lightningStrike in lightningStrikes)
                    {
                        const string Query =
                            "INSERT INTO LightningStrike " +
                            "( " +
                            "    EventID, " +
                            "    Service, " +
                            "    UTCTime, " +
                            "    DisplayTime, " +
                            "    Amplitude, " +
                            "    Latitude, " +
                            "    Longitude " +
                            ") " +
                            "VALUES({0}, {1}, {2}, {3}, {4}, {5}, {6})";

                        object[] parameters =
                        {
                            evt.ID,
                            lightningStrike.Service,
                            ToDateTime2(connection,     lightningStrike.UTCTime),
                            lightningStrike.DisplayTime,
                            lightningStrike.Amplitude,
                            lightningStrike.Latitude,
                            lightningStrike.Longitude
                        };

                        connection.ExecuteNonQuery(Query, parameters);
                    }
                }
            }
        }
Ejemplo n.º 20
0
        private void Load(AdoDataConnection database)
        {
            TableOperations <DbIncident> incidentTable = new TableOperations <DbIncident>(database);

            foreach (Incident incident in m_incidents)
            {
                if (incident.ExistingIncidents.Count == 0 || incident.ExistingIncidents.Count > 1)
                {
                    incidentTable.AddNewRecord(
                        new DbIncident()
                    {
                        MeterID   = m_meterID,
                        StartTime = incident.StartTime,
                        EndTime   = incident.EndTime
                    }
                        );
                }
            }

            List <Incident> expand = m_incidents
                                     .Where(incident => incident.ExistingIncidents.Count == 1)
                                     .ToList();

            List <Incident> cleanup = m_incidents
                                      .Where(incident => incident.ExistingIncidents.Count > 1)
                                      .ToList();

            if (expand.Count == 0 && cleanup.Count == 0)
            {
                return;
            }

            const string DateTimeFormat = "yyyy-MM-dd HH:mm:ss.fffffff";

            foreach (Incident incident in expand)
            {
                database.ExecuteNonQuery("UPDATE Incident SET StartTime = {0}, EndTime = {1} WHERE ID = {2}", incident.StartTime.ToString(DateTimeFormat), incident.EndTime.ToString(DateTimeFormat), int.Parse(incident.ExistingIncidents[0]["ID"].ToString()));
            }

            foreach (Incident incident in cleanup)
            {
                string incidentIDs = string.Join(",", incident.ExistingIncidents.Select(inc => inc["ID"].ToString()));
                database.ExecuteNonQuery($"UPDATE Event SET IncidentID = (SELECT ID FROM Incident WHERE StartTime = {{0}} AND EndTime = {{1}}) WHERE IncidentID IN ({incidentIDs})", incident.StartTime.ToString(DateTimeFormat), incident.EndTime.ToString(DateTimeFormat));
            }

            if (cleanup.Count > 0)
            {
                string allIncidentIDs = string.Join(",", cleanup
                                                    .SelectMany(incident => incident.ExistingIncidents)
                                                    .Select(incident => incident["ID"].ToString()));

                database.ExecuteNonQuery($"DELETE FROM IncidentAttribute WHERE IncidentID IN ({allIncidentIDs})");
                database.ExecuteNonQuery($"DELETE FROM Incident WHERE ID IN ({allIncidentIDs})");
            }
        }
Ejemplo n.º 21
0
        public virtual IHttpActionResult Delete(T record)
        {
            try
            {
                if (DeleteRoles == string.Empty || User.IsInRole(DeleteRoles))
                {
                    using (AdoDataConnection connection = new AdoDataConnection(Connection))
                    {
                        TableNameAttribute tableNameAttribute;
                        string             tableName;
                        if (typeof(T).TryGetAttribute(out tableNameAttribute))
                        {
                            tableName = tableNameAttribute.TableName;
                        }
                        else
                        {
                            tableName = typeof(T).Name;
                        }

                        PropertyInfo idProp = typeof(T).GetProperty(PrimaryKeyField);
                        if (idProp.PropertyType == typeof(int))
                        {
                            int id     = (int)idProp.GetValue(record);
                            int result = connection.ExecuteNonQuery($"EXEC UniversalCascadeDelete '{tableName}', '{PrimaryKeyField} = {id}'");
                            return(Ok(result));
                        }
                        else if (idProp.PropertyType == typeof(Guid))
                        {
                            Guid id     = (Guid)idProp.GetValue(record);
                            int  result = connection.ExecuteNonQuery($"EXEC UniversalCascadeDelete '{tableName}', '{PrimaryKeyField} = ''{id}'''");
                            return(Ok(result));
                        }
                        else if (idProp.PropertyType == typeof(string))
                        {
                            string id     = (string)idProp.GetValue(record);
                            int    result = connection.ExecuteNonQuery($"EXEC UniversalCascadeDelete '{tableName}', '{PrimaryKeyField} = ''{id}'''");
                            return(Ok(result));
                        }
                        else
                        {
                            int result = new TableOperations <T>(connection).DeleteRecord(record);
                            return(Ok(result));
                        }
                    }
                }
                else
                {
                    return(Unauthorized());
                }
            }
            catch (Exception ex)
            {
                return(InternalServerError(ex));
            }
        }
Ejemplo n.º 22
0
        public IEnumerable <Channel> GetChannel(AdoDataConnection connection)
        {
            if ((object)connection == null)
            {
                return(null);
            }

            TableOperations <Channel> channelTable = new TableOperations <Channel>(connection);

            return(channelTable.QueryRecordsWhere("LineID = {0}", ID));
        }
Ejemplo n.º 23
0
        public IEnumerable <MeterLine> GetMeterLines(AdoDataConnection connection)
        {
            if ((object)connection == null)
            {
                return(null);
            }

            TableOperations <MeterLine> meterLineTable = new TableOperations <MeterLine>(connection);

            return(meterLineTable.QueryRecordsWhere("LineID = {0}", ID));
        }
Ejemplo n.º 24
0
        public IEnumerable <LineSegmentConnections> GetConnectedSegments(AdoDataConnection connection)
        {
            if ((object)connection == null)
            {
                return(null);
            }

            TableOperations <LineSegmentConnections> connectionTable = new TableOperations <LineSegmentConnections>(connection);

            return(connectionTable.QueryRecordsWhere("ParentSegment = {0} OR ChildSegment = {1}", ID, ID));
        }
Ejemplo n.º 25
0
        public Line GetLine(AdoDataConnection connection)
        {
            if ((object)connection == null)
            {
                return(null);
            }

            TableOperations <Line> lineTable = new TableOperations <Line>(connection);

            return(lineTable.QueryRecordWhere("ID = {0}", LineID));
        }
Ejemplo n.º 26
0
        public Meter GetMeter(AdoDataConnection connection)
        {
            if ((object)connection == null)
            {
                return(null);
            }

            TableOperations <Meter> meterTable = new TableOperations <Meter>(connection);

            return(meterTable.QueryRecordWhere("ID = {0}", MeterID));
        }
Ejemplo n.º 27
0
        public IEnumerable <Device> QueryEnabledDevices(Guid nodeID, int limit, string filterText)
        {
            TableOperations <Device> deviceTable = DataContext.Table <Device>();

            RecordRestriction restriction =
                new RecordRestriction("NodeID = {0} AND NOT (ProtocolID = {1} AND AccessID = {2})", nodeID, VirtualProtocolID, DeviceGroup.DefaultAccessID) +
                new RecordRestriction("Enabled <> 0") +
                deviceTable.GetSearchRestriction(filterText);

            return(deviceTable.QueryRecords("Acronym", restriction, limit));
        }
Ejemplo n.º 28
0
        public Asset GetAsset(AdoDataConnection connection)
        {
            if ((object)connection == null)
            {
                return(null);
            }

            TableOperations <Asset> assetTable = new TableOperations <Asset>(connection);

            return(assetTable.QueryRecordWhere("ID = {0}", AssetID));
        }
Ejemplo n.º 29
0
        public IEnumerable <AssetConnection> GetConnection(AdoDataConnection connection)
        {
            if ((object)connection == null)
            {
                return(null);
            }

            TableOperations <AssetConnection> channelTable = new TableOperations <AssetConnection>(connection);

            return(channelTable.QueryRecordsWhere("ParentID = {0} OR ChildID = {1}", ID, ID));
        }
Ejemplo n.º 30
0
        public IEnumerable <Device> QueryEnabledDevices(Guid nodeID, int limit, string filterText)
        {
            TableOperations <Device> deviceTable = DataContext.Table <Device>();

            RecordRestriction restriction =
                new RecordRestriction("NodeID = {0}", nodeID) +
                new RecordRestriction("Enabled <> 0") +
                deviceTable.GetSearchRestriction(filterText);

            return(deviceTable.QueryRecords("Acronym", restriction, limit));
        }
Ejemplo n.º 31
0
        public IEnumerable <AssetLocation> GetAssetLocations(AdoDataConnection connection)
        {
            if ((object)connection == null)
            {
                return(null);
            }

            TableOperations <AssetLocation> assetLocationTable = new TableOperations <AssetLocation>(connection);

            return(assetLocationTable.QueryRecordsWhere("AssetID = {0}", ID));
        }