/// <summary> /// Returns an ObjectProperty whcih contains the value, type, ID, last updated, and name /// </summary> /// <param name="ObjectName"></param> /// <param name="ObjectProperty"></param> /// <returns></returns> public ObjectProperty GetObjectPropertyValue(string ObjectName, string ObjectProperty) { MySqlCommand command = new MySqlCommand(); DataSet dataset = new DataSet(); try { command.CommandText = "SELECT object_property_id, property_name, property_value, property_datatype, last_updated FROM osae_v_object_property WHERE object_name=@ObjectName AND property_name=@ObjectProperty"; command.Parameters.AddWithValue("@ObjectName", ObjectName); command.Parameters.AddWithValue("@ObjectProperty", ObjectProperty); dataset = RunQuery(command); if (dataset.Tables[0].Rows.Count > 0) { ObjectProperty p = new ObjectProperty(); p.Id = dataset.Tables[0].Rows[0]["object_property_id"].ToString(); p.DataType = dataset.Tables[0].Rows[0]["property_datatype"].ToString(); p.LastUpdated = dataset.Tables[0].Rows[0]["last_updated"].ToString(); p.Name = dataset.Tables[0].Rows[0]["property_name"].ToString(); p.Value = dataset.Tables[0].Rows[0]["property_value"].ToString(); return p; } else { ObjectProperty p = new ObjectProperty(); p.Id = string.Empty; p.DataType = string.Empty; p.LastUpdated = string.Empty; p.Name = string.Empty; p.Value = string.Empty; return p; } } catch (Exception ex) { AddToLog("API - GetObjectPropertyValue error: " + ex.Message, true); return null; } }
/// <summary> /// Returns a Dataset of all objects of specified type /// </summary> /// <param name="ObjectType"></param> /// <returns></returns> public List<OSAEObject> GetObjectsByType(string ObjectType) { DataSet dataset = new DataSet(); OSAEObject obj = new OSAEObject(); List<OSAEObject> objects = new List<OSAEObject>(); using (MySqlCommand command = new MySqlCommand()) { try { command.CommandText = "SELECT object_name, object_description, object_type, address, container_name, enabled, state_label, base_type, coalesce(time_in_state, 0) as time_in_state FROM osae_v_object WHERE object_type=@ObjectType"; command.Parameters.AddWithValue("@ObjectType", ObjectType); dataset = RunQuery(command); if (dataset.Tables[0].Rows.Count > 0) { foreach (DataRow dr in dataset.Tables[0].Rows) { obj = new OSAEObject(dr["object_name"].ToString(), dr["object_description"].ToString(), dataset.Tables[0].Rows[0]["object_type"].ToString(), dr["address"].ToString(), dr["container_name"].ToString(), Int32.Parse(dr["enabled"].ToString())); obj.State.Value = dr["state_label"].ToString(); obj.State.TimeInState = Convert.ToInt64(dr["time_in_state"]); obj.BaseType = dr["base_type"].ToString(); DataSet ds = GetObjectProperties(obj.Name); List<ObjectProperty> props = new List<ObjectProperty>(); foreach (DataRow drp in ds.Tables[0].Rows) { ObjectProperty p = new ObjectProperty(); p.Name = drp["property_name"].ToString(); p.Value = drp["property_value"].ToString(); p.DataType = drp["property_datatype"].ToString(); p.LastUpdated = drp["last_updated"].ToString(); p.Id = drp["object_property_id"].ToString(); props.Add(p); } obj.Properties = props; obj.Methods = GetObjectMethods(obj.Name); objects.Add(obj); } return objects; } return objects; } catch (Exception ex) { AddToLog("API - GetObjectsByType error: " + ex.Message, true); return objects; } } }
private List<ObjectProperty> GetObjectProperties(string ObjectName) { List<ObjectProperty> props = new List<ObjectProperty>(); MySqlCommand command = new MySqlCommand(); DataSet dataset = new DataSet(); try { command.CommandText = "SELECT object_property_id, property_name, property_value, property_datatype, last_updated FROM osae_v_object_property WHERE object_name=@ObjectName ORDER BY property_name"; command.Parameters.AddWithValue("@ObjectName", ObjectName); dataset = RunQuery(command); foreach (DataRow drp in dataset.Tables[0].Rows) { ObjectProperty p = new ObjectProperty(); p.Name = drp["property_name"].ToString(); p.Value = drp["property_value"].ToString(); p.DataType = drp["property_datatype"].ToString(); p.LastUpdated = drp["last_updated"].ToString(); p.Id = drp["object_property_id"].ToString(); props.Add(p); } return props; } catch (Exception ex) { logging.AddToLog("API - GetObjectProperty error: " + ex.Message, true); return props; } }