public IEnumerable <LazyObjects.AFEventFrame> GetEventFrames(LazyPI.Common.Connection Connection, string ElementID, LazyPI.Common.SearchMode SearchMode, DateTime StartTime, DateTime EndTime, string NameFilter, string CategoryName, string TemplateName, string SortField, string SortOrder, int StartIndex, int MaxCount) { WebAPIConnection webConnection = (WebAPIConnection)Connection; var request = new RestRequest("/elements/{webId}/eventframes"); request.AddUrlSegment("webId", ElementID); request.AddParameter("searchMode", SearchMode); request.AddParameter("startTime", StartTime); request.AddParameter("endTime", EndTime); request.AddParameter("nameFilter", NameFilter); request.AddParameter("categoryName", CategoryName); request.AddParameter("templateName", TemplateName); request.AddParameter("sortField", SortField); request.AddParameter("sortOrder", SortOrder); request.AddParameter("startIndex", StartIndex); request.AddParameter("maxCount", MaxCount); var response = webConnection.Client.Execute <ResponseModels.ResponseList <ResponseModels.AFEventFrame> >(request); if (response.ErrorException != null) { throw new ApplicationException("Error searching for element template. (See Inner Details)", response.ErrorException); } var data = response.Data; List <LazyObjects.AFEventFrame> results = new List <LazyObjects.AFEventFrame>(); foreach (ResponseModels.AFEventFrame frame in data.Items) { results.Add(new LazyObjects.AFEventFrame(Connection, frame.WebId, frame.Id, frame.Name, frame.Description, frame.Path)); } return(results); }
public IEnumerable <LazyObjects.AFElement> GetReferencedElements(LazyPI.Common.Connection Connection, string FrameID) { WebAPIConnection webConnection = (WebAPIConnection)Connection; var request = new RestRequest("/eventframes/{webId}/referencedelements"); request.AddUrlSegment("webId", FrameID); var response = webConnection.Client.Execute <ResponseModels.ResponseList <ResponseModels.AFElement> >(request); if (response.ErrorException != null) { throw new ApplicationException("Error retrieving elements referenced by event frame. (See Inner Details)", response.ErrorException); } var data = response.Data; List <LazyObjects.AFElement> results = new List <LazyObjects.AFElement>(); //TODO: Think of a more efficient way to do this. foreach (var element in data.Items) { results.Add(LazyObjects.AFElement.Find(Connection, element.WebId)); } return(results); }
public IEnumerable <LazyObjects.AFAttributeTemplate> GetAttributeTemplates(LazyPI.Common.Connection Connection, string ElementID) { WebAPIConnection webConnection = (WebAPIConnection)Connection; var request = new RestRequest("/elementtemplates/{webId}/attributetemplates"); request.AddUrlSegment("webId", ElementID); var response = webConnection.Client.Execute <ResponseModels.ResponseList <ResponseModels.AFAttributeTemplate> >(request); if (response.ErrorException != null) { throw new ApplicationException("Error finding element templates for element. (See Inner Details)", response.ErrorException); } var data = response.Data; List <LazyObjects.AFAttributeTemplate> results = new List <LazyObjects.AFAttributeTemplate>(); foreach (var template in data.Items) { LazyObjects.AFAttributeTemplate attr = new LazyObjects.AFAttributeTemplate(Connection, template.WebId, template.Id, template.Name, template.Description, template.Path); results.Add(attr); } return(results); }
public PIPoint(LazyPI.Common.Connection Connection, string WebID, string ID, string Name, string Description, string Path, string PointType, string PointClass, bool Future) : base(Connection, WebID, ID, Name, Description, Path) { _PointClass = PointClass; _PointType = PointType; _Future = Future; }
public IEnumerable <LazyObjects.AFElement> GetElements(LazyPI.Common.Connection Connection, string RootID, string NameFilter = "*", string CategoryName = "*", string TemplateName = "*", ElementType ElementType = ElementType.Any, bool SearchFullHierarchy = false, string SortField = "Name", string SortOrder = "Ascending", int StartIndex = 0, int MaxCount = 1000) { WebAPIConnection webConnection = (WebAPIConnection)Connection; var request = new RestRequest("/elements/{webId}/elements"); request.AddUrlSegment("webId", RootID); request.AddParameter("nameFilter", NameFilter); request.AddParameter("templateName", TemplateName); request.AddParameter("elementType", ElementType); request.AddParameter("searchFullHierarchy", SearchFullHierarchy); request.AddParameter("sortField", SortField); request.AddParameter("sortOrder", SortOrder); request.AddParameter("startIndex", StartIndex); request.AddParameter("maxCount", MaxCount); var response = webConnection.Client.Execute <ResponseModels.ResponseList <ResponseModels.AFElement> >(request); if (response.ErrorException != null) { throw new ApplicationException("Error searching for child elements of and element. (See Inner Details)", response.ErrorException); } var data = response.Data; List <LazyObjects.AFElement> results = new List <LazyObjects.AFElement>(); foreach (var element in data.Items) { results.Add(new LazyObjects.AFElement(Connection, element.WebID, element.Name, element.Description, element.Path)); } return(results); }
public IEnumerable <LazyObjects.AFEventFrame> GetEventFrames(LazyPI.Common.Connection Connection, string FrameID) { WebAPIConnection webConnection = (WebAPIConnection)Connection; var request = new RestRequest("/eventframes/{webId}/eventframes"); request.AddUrlSegment("webId", FrameID); request.AddParameter("searchMode", LazyPI.Common.SearchMode.BackwardFromStartTime); request.AddParameter("startTime", "*"); var response = webConnection.Client.Execute <ResponseModels.ResponseList <ResponseModels.AFEventFrame> >(request); if (response.ErrorException != null) { throw new ApplicationException("Error retrieving event frames child event frames. (See Inner Details)", response.ErrorException); } var data = response.Data; List <LazyObjects.AFEventFrame> results = new List <LazyObjects.AFEventFrame>(); foreach (var frame in data.Items) { results.Add(new LazyObjects.AFEventFrame(Connection, frame.WebId, frame.Id, frame.Name, frame.Description, frame.Path)); } return(results); }
public BaseObject(LazyPI.Common.Connection Connection, string id, string name, string description, string path) { this._Connection = Connection; this._ID = id; this._Name = name; this._Description = description; this._Path = path; }
public BaseObject(LazyPI.Common.Connection Connection, string webId, string id, string name, string description, string path) { _Connection = Connection; _ID = id; _Name = name; _Description = description; _Path = path; _WebID = webId; }
public bool Delete(LazyPI.Common.Connection Connection, string TemplateID) { WebAPIConnection webConnection = (WebAPIConnection)Connection; var request = new RestRequest("/elementtemplates/{webId}", Method.DELETE); request.AddUrlSegment("webId", TemplateID); var statusCode = webConnection.Client.Execute(request).StatusCode; return((int)statusCode == 204); }
public bool CaptureValues(LazyPI.Common.Connection Connection, string FrameID) { WebAPIConnection webConnection = (WebAPIConnection)Connection; var request = new RestRequest("/eventframes/{webId}/attributes/capture", Method.POST); request.AddUrlSegment("webId", FrameID); var statusCode = webConnection.Client.Execute(request).StatusCode; return((int)statusCode == 204 ? true : false); }
public bool Update(LazyPI.Common.Connection Connection, LazyObjects.AFElementTemplate template) { WebAPIConnection webConnection = (WebAPIConnection)Connection; var request = new RestRequest("/elementtemplates/{webId}", Method.PATCH); request.AddUrlSegment("webId", template.ID); request.AddBody(template); var statusCode = webConnection.Client.Execute(request).StatusCode; return((int)statusCode == 204); }
public bool Delete(LazyPI.Common.Connection Connection, string AttrTempID) { WebAPIConnection webConnection = (WebAPIConnection)Connection; var request = new RestRequest("/attributetemplates/{webId}"); request.AddParameter("webId", AttrTempID); var statusCode = webConnection.Client.Execute(request).StatusCode; return((int)statusCode == 204); }
public bool CreateAttribute(LazyPI.Common.Connection Connection, string FrameID, LazyObjects.AFAttribute attribute) { WebAPIConnection webConnection = (WebAPIConnection)Connection; var request = new RestRequest("/eventframes/{webId}/attributes", Method.POST); request.AddUrlSegment("webId", FrameID); request.AddBody(attribute); var statusCode = webConnection.Client.Execute(request).StatusCode; return((int)statusCode == 201 ? true : false); }
public bool Update(LazyPI.Common.Connection Connection, LazyObjects.AFEventFrame Eventframe) { WebAPIConnection webConnection = (WebAPIConnection)Connection; var request = new RestRequest("/eventframes/{webId}", Method.PATCH); request.AddUrlSegment("webId", Eventframe.ID); request.AddBody(Eventframe); var statusCode = webConnection.Client.Execute(request).StatusCode; return((int)statusCode == 204 ? true : false); }
public bool CreateChildElement(LazyPI.Common.Connection Connection, string ParentID, LazyObjects.AFElement Element) { WebAPIConnection webConnection = (WebAPIConnection)Connection; var request = new RestRequest("/elements/{webId}/elements", Method.POST); request.AddUrlSegment("webId", ParentID); request.AddBody(Element); var statusCode = webConnection.Client.Execute(request).StatusCode; return((int)statusCode == 201); }
/// <summary> /// Update an attribute by replacing items in its definition. /// </summary> /// <param name="Attr">A partial attribute that contains the WebID and any properties to be updated.</param> /// <returns>Returns true if update completed.</returns> public bool Update(LazyPI.Common.Connection Connection, LazyObjects.AFAttribute Attr) { WebAPIConnection webConnection = (WebAPIConnection)Connection; var request = new RestRequest("/attributes/{webId}", Method.PATCH); request.AddUrlSegment("webId", Attr.ID); request.AddBody(Attr); var statusCode = webConnection.Client.Execute(request).StatusCode; return((int)statusCode == 204); }
//This really creates a childe attributetemplate //TODO: Something is wrong here ID should be a parent ID public bool Create(LazyPI.Common.Connection Connection, LazyObjects.AFAttributeTemplate AttrTemp) { WebAPIConnection webConnection = (WebAPIConnection)Connection; var request = new RestRequest("/attributetemplates/{webId}/attributetemplates"); request.AddUrlSegment("webId", AttrTemp.WebID); request.AddBody(AttrTemp); var statusCode = webConnection.Client.Execute(request).StatusCode; return((int)statusCode == 201); }
/// <summary> /// Set the value of a configuration item attribute. For attributes with a data reference or non-configuration item attributes, consult the documentation for streams. /// </summary> /// <param name="AttrID">The WebID of the AF Attribute to be updated.</param> /// <param name="Value">The AFValue to be applied to the Attribute.</param> /// <returns>Returns true if the value update completes.</returns> /// <remarks>Users must be aware of the value type that the attribute takes before changing the value. If a value entered by the user does not match the value type expressed in the attribute, it will not work or it will return an error.</remarks> public bool SetValue(LazyPI.Common.Connection Connection, string AttrID, LazyObjects.AFValue Value) { WebAPIConnection webConnection = (WebAPIConnection)Connection; var request = new RestRequest("/attributes/{webId}/value", Method.PUT); request.AddUrlSegment("webId", AttrID); request.AddBody(Value); var statusCode = webConnection.Client.Execute(request).StatusCode; return((int)statusCode == 204); }
public bool CreateUnitClass(LazyPI.Common.Connection Connection, string AFServerID, LazyObjects.AFUnit UnitClass) { WebAPIConnection webConnection = (WebAPIConnection)Connection; var request = new RestRequest("/assetservers/{webId}/unitclasses", Method.POST); request.AddUrlSegment("webId", AFServerID); ResponseModels.UnitClass body = DataConversions.Convert(UnitClass); request.AddParameter("application/json; charset=utf-8", Newtonsoft.Json.JsonConvert.SerializeObject(body), ParameterType.RequestBody); var statusCode = webConnection.Client.Execute(request).StatusCode; return((int)statusCode == 201); }
public bool CreateElement(LazyPI.Common.Connection Connection, string DatabaseID, LazyPI.LazyObjects.AFElement Element) { WebAPIConnection webConnection = (WebAPIConnection)Connection; var request = new RestRequest("/assetdatabases/{webId}/elements", Method.POST); request.AddUrlSegment("webId", DatabaseID); ResponseModels.AFElement body = DataConversions.Convert(Element); request.AddParameter("application/json; charset=utf-8", Newtonsoft.Json.JsonConvert.SerializeObject(body), ParameterType.RequestBody); var statusCode = webConnection.Client.Execute(request).StatusCode; return((int)statusCode == 204); }
public bool CreateAttribute(LazyPI.Common.Connection Connection, string FrameID, LazyObjects.AFAttribute attribute) { WebAPIConnection webConnection = (WebAPIConnection)Connection; var request = new RestRequest("/eventframes/{webId}/attributes", Method.POST); request.AddUrlSegment("webId", FrameID); ResponseModels.AFAttribute body = DataConversions.Convert(attribute); request.AddParameter("application/json; charset=utf-8", Newtonsoft.Json.JsonConvert.SerializeObject(body), ParameterType.RequestBody); var statusCode = webConnection.Client.Execute(request).StatusCode; return((int)statusCode == 201 ? true : false); }
/// <summary> /// Update an attribute by replacing items in its definition. /// </summary> /// <param name="Attr">A partial attribute that contains the WebID and any properties to be updated.</param> /// <returns>Returns true if update completed.</returns> public bool Update(LazyPI.Common.Connection Connection, LazyObjects.AFAttribute Attr) { WebAPIConnection webConnection = (WebAPIConnection)Connection; var request = new RestRequest("/attributes/{webId}", Method.PATCH); request.AddUrlSegment("webId", Attr.WebID); ResponseModels.AFAttribute body = DataConversions.Convert(Attr); request.AddParameter("application/json; charset=utf-8", Newtonsoft.Json.JsonConvert.SerializeObject(body), ParameterType.RequestBody); var statusCode = webConnection.Client.Execute(request).StatusCode; return((int)statusCode == 204); }
public bool Update(LazyPI.Common.Connection Connection, LazyObjects.AFElementTemplate template) { WebAPIConnection webConnection = (WebAPIConnection)Connection; var request = new RestRequest("/elementtemplates/{webId}", Method.PATCH); request.AddUrlSegment("webId", template.WebID); ResponseModels.AFElementTemplate temp = new ResponseModels.AFElementTemplate(template.ID, template.WebID, template.Name, template.Description, template.Path); temp.AllowElementToExtend = template.IsExtendable; request.AddBody(temp); var statusCode = webConnection.Client.Execute(request).StatusCode; return((int)statusCode == 204); }
public IEnumerable <LazyObjects.AFAttribute> GetAttributes(LazyPI.Common.Connection Connection, string FrameID, string NameFilter = "*", string CategoryName = null, string TemplateName = null, string ValueType = null, bool SearchFullHierarchy = false, string SortField = "Name", string SortOrder = "Ascending", int StartIndex = 0, bool ShowExcluded = false, bool ShowHidden = false, int MaxCount = 1000) { WebAPIConnection webConnection = (WebAPIConnection)Connection; var request = new RestRequest("/eventframes/{webId}/attributes"); request.AddUrlSegment("webId", FrameID); request.AddParameter("nameFilter", NameFilter); if (CategoryName != null) { request.AddParameter("categoryName", CategoryName); } if (TemplateName != null) { request.AddParameter("templateName", TemplateName); } if (ValueType != null) { request.AddParameter("valueType", ValueType); } request.AddParameter("searchFullHierarchy", SearchFullHierarchy); request.AddParameter("sortOrder", SortOrder); request.AddParameter("sortField", SortField); request.AddParameter("startIndex", StartIndex); request.AddParameter("showExcluded", ShowExcluded); request.AddParameter("showHidden", ShowHidden); request.AddParameter("maxCount", MaxCount); var response = webConnection.Client.Execute <List <ResponseModels.AFAttribute> >(request); if (response.ErrorException != null) { throw new ApplicationException("Error finding event frame attributes. (See Inner Details)", response.ErrorException); } var data = response.Data; List <LazyObjects.AFAttribute> results = new List <LazyObjects.AFAttribute>(); foreach (ResponseModels.AFAttribute attr in data) { results.Add(new LazyObjects.AFAttribute(Connection, attr.WebId, attr.Id, attr.Name, attr.Description, attr.Path)); } return(results); }
public IEnumerable <string> GetCategories(LazyPI.Common.Connection Connection, string TemplateID) { WebAPIConnection webConnection = (WebAPIConnection)Connection; var request = new RestRequest("/elementtemplates/{webId}"); request.AddUrlSegment("webId", TemplateID); var response = webConnection.Client.Execute <ResponseModels.AFElementTemplate>(request); if (response.ErrorException != null) { throw new ApplicationException("Error finding element template by ID. (See Inner Details)", response.ErrorException); } return(response.Data.CategoryNames); }
/// <summary> /// Gets AFattribute specified by the path. /// </summary> /// <param name="Path">The path provided by the WebAPI.</param> /// <returns>A specific AF Attribute.</returns> /// <remarks>It is recommended to use Get By ID over path.</remarks> public LazyObjects.AFAttribute FindByPath(LazyPI.Common.Connection Connection, string Path) { WebAPIConnection webConnection = (WebAPIConnection)Connection; var request = new RestRequest("/attributes"); request.AddParameter("path", Path, ParameterType.GetOrPost); var response = webConnection.Client.Execute <ResponseModels.AFAttribute>(request); if (response.ErrorException != null) { throw new ApplicationException("Error finding attribute by path. (See Inner Details)", response.ErrorException); } var data = response.Data; return(new LazyObjects.AFAttribute(Connection, data.WebId, data.Id, data.Name, data.Description, data.Path, data.DefaultUnitsName, data.ConfigString, data.DataReferencePlugIn, data.Type, data.CategoryNames)); }
/// <summary> /// Get the attribute's value. This call is intended for use with attributes that have no data reference only. For attributes with a data reference, consult the documentation for Streams. /// </summary> /// <param name="attrWID">The WebID of the AF Attribute to be read.</param> /// <returns></returns> public LazyObjects.AFValue GetValue(LazyPI.Common.Connection Connection, string AttrID) { WebAPIConnection webConnection = (WebAPIConnection)Connection; var request = new RestRequest("/attributes/{webId}/value"); request.AddUrlSegment("webId", AttrID); var response = webConnection.Client.Execute <ResponseModels.AFValue>(request); if (response.ErrorException != null) { throw new ApplicationException("Error retrieving value from attribute. (See Inner Details)", response.ErrorException); } ResponseModels.AFValue data = response.Data; return(new LazyObjects.AFValue(data.Timestamp, data.Value, data.UnitsAbbreviation, data.Good, data.Questionable, data.Substituted)); }
public LazyObjects.AFElement FindByPath(LazyPI.Common.Connection Connection, string Path) { WebAPIConnection webConnection = (WebAPIConnection)Connection; var request = new RestRequest("/elements"); request.AddParameter("path", Path, ParameterType.GetOrPost); var response = webConnection.Client.Execute <LazyPI.WebAPI.ResponseModels.AFElement>(request); var data = response.Data; if (response.ErrorException != null) { throw new ApplicationException("Error finding element by path. (See Inner Details)", response.ErrorException); } return(new LazyObjects.AFElement(Connection, data.WebId, data.Id, data.Name, data.Description, data.Path)); }
public LazyPI.LazyObjects.AFServer Find(LazyPI.Common.Connection Connection, string ID) { WebAPIConnection webConnection = (WebAPIConnection)Connection; var request = new RestRequest("/assetservers/{webId}"); request.AddUrlSegment("webId", ID); var response = webConnection.Client.Execute <ResponseModels.AFServer>(request); if (response.ErrorException != null) { throw new ApplicationException("Error finding database by ID. (See Inner Details)", response.ErrorException); } var data = response.Data; return(new LazyObjects.AFServer(Connection, data.WebId, data.Id, data.Name, data.Description, data.IsConnected, data.ServerVersion, data.Path)); }
public LazyObjects.AFServer FindByName(LazyPI.Common.Connection Connection, string Name) { WebAPIConnection webConnection = (WebAPIConnection)Connection; var request = new RestRequest("/assetservers"); request.AddParameter("name", Name, ParameterType.GetOrPost); var response = webConnection.Client.Execute <ResponseModels.AFServer>(request); if (response.ErrorException != null) { throw new ApplicationException("Error finding attribute by name. (See Inner Details)", response.ErrorException); } var data = response.Data; return(new LazyObjects.AFServer(Connection, data.WebId, data.Id, data.Name, data.Description, data.IsConnected, data.ServerVersion, data.Path)); }
public BaseObject(LazyPI.Common.Connection Connection, string id, string name, string description, string path) { this._Connection = Connection; this._ID = id; this._Name = name; this._Description = description; this._Path = path; }