/// <summary> /// Saves <see cref="MeasurementGroup"/> information to database. /// </summary> /// <param name="database"><see cref="AdoDataConnection"/> to connection to database.</param> /// <param name="measurementGroup">Information about <see cref="MeasurementGroup"/>.</param> /// <returns>String, for display use, indicating success.</returns> public static string Save(AdoDataConnection database, MeasurementGroup measurementGroup) { bool createdConnection = false; string query; try { createdConnection = CreateConnection(ref database); if (measurementGroup.ID == 0) { query = database.ParameterizedQueryString("INSERT INTO MeasurementGroup (NodeID, Name, Description, FilterExpression, UpdatedBy, UpdatedOn, CreatedBy, CreatedOn) " + "VALUES ({0}, {1}, {2}, {3}, {4}, {5}, {6}, {7})", "nodeID", "name", "description", "filterExpression", "updatedBy", "updatedOn", "createdBy", "createdOn"); database.Connection.ExecuteNonQuery(query, DefaultTimeout, database.CurrentNodeID(), measurementGroup.Name, measurementGroup.Description.ToNotNull(), measurementGroup.FilterExpression.ToNotNull(), CommonFunctions.CurrentUser, database.UtcNow, CommonFunctions.CurrentUser, database.UtcNow); } else { query = database.ParameterizedQueryString("UPDATE MeasurementGroup SET NodeID = {0}, Name = {1}, Description = {2}, FilterExpression = {3}, " + "UpdatedBy = {4}, UpdatedOn = {5} WHERE ID = {6}", "nodeID", "name", "description", "filterExpression", "updatedBy", "updatedOn", "id"); database.Connection.ExecuteNonQuery(query, DefaultTimeout, database.CurrentNodeID(), measurementGroup.Name, measurementGroup.Description.ToNotNull(), measurementGroup.FilterExpression.ToNotNull(), CommonFunctions.CurrentUser, database.UtcNow, measurementGroup.ID); } return("Measurement group information saved successfully"); } catch (Exception ex) { return(ex.Message); } finally { if (createdConnection && database != null) { database.Dispose(); } } }
/// <summary> /// Retrieves <see cref="MeasurementGroup"/> information for the group with the given ID. /// </summary> /// <param name="database"><see cref="AdoDataConnection"/> to connection to database.</param> /// <param name="groupID">The ID of the measurement group to be retrieved.</param> /// <returns>Measurement group with the given ID.</returns> public static MeasurementGroup GetMeasurementGroup(AdoDataConnection database, int groupID) { DataTable measurementGroupTable; bool createdConnection = false; DataRow row; try { createdConnection = CreateConnection(ref database); measurementGroupTable = database.RetrieveData(DefaultTimeout, "SELECT * FROM MeasurementGroup WHERE ID = {0}", groupID); if (measurementGroupTable.Rows.Count == 0) { return(null); } row = measurementGroupTable.Rows[0]; MeasurementGroup measurementGroup = new MeasurementGroup() { NodeID = database.Guid(row, "NodeID"), ID = row.ConvertField <int>("ID"), Name = row.Field <string>("Name"), Description = row.Field <object>("Description").ToNonNullString(), FilterExpression = row.Field <object>("FilterExpression").ToNonNullString(), }; return(measurementGroup); } finally { if (createdConnection && database != null) { database.Dispose(); } } }
/// <summary> /// Saves <see cref="MeasurementGroup"/> information to database. /// </summary> /// <param name="database"><see cref="AdoDataConnection"/> to connection to database.</param> /// <param name="measurementGroup">Information about <see cref="MeasurementGroup"/>.</param> /// <returns>String, for display use, indicating success.</returns> public static string Save(AdoDataConnection database, MeasurementGroup measurementGroup) { bool createdConnection = false; string query; try { createdConnection = CreateConnection(ref database); if (measurementGroup.ID == 0) { query = database.ParameterizedQueryString("INSERT INTO MeasurementGroup (NodeID, Name, Description, FilterExpression, UpdatedBy, UpdatedOn, CreatedBy, CreatedOn) " + "VALUES ({0}, {1}, {2}, {3}, {4}, {5}, {6}, {7})", "nodeID", "name", "description", "filterExpression", "updatedBy", "updatedOn", "createdBy", "createdOn"); database.Connection.ExecuteNonQuery(query, DefaultTimeout, database.CurrentNodeID(), measurementGroup.Name, measurementGroup.Description.ToNotNull(), measurementGroup.FilterExpression.ToNotNull(), CommonFunctions.CurrentUser, database.UtcNow, CommonFunctions.CurrentUser, database.UtcNow); } else { query = database.ParameterizedQueryString("UPDATE MeasurementGroup SET NodeID = {0}, Name = {1}, Description = {2}, FilterExpression = {3}, " + "UpdatedBy = {4}, UpdatedOn = {5} WHERE ID = {6}", "nodeID", "name", "description", "filterExpression", "updatedBy", "updatedOn", "id"); database.Connection.ExecuteNonQuery(query, DefaultTimeout, database.CurrentNodeID(), measurementGroup.Name, measurementGroup.Description.ToNotNull(), measurementGroup.FilterExpression.ToNotNull(), CommonFunctions.CurrentUser, database.UtcNow, measurementGroup.ID); } return "Measurement group information saved successfully"; } catch (Exception ex) { return ex.Message; } finally { if (createdConnection && database != null) database.Dispose(); } }
/// <summary> /// Retrieves <see cref="MeasurementGroup"/> information for the group with the given ID. /// </summary> /// <param name="database"><see cref="AdoDataConnection"/> to connection to database.</param> /// <param name="groupID">The ID of the measurement group to be retrieved.</param> /// <returns>Measurement group with the given ID.</returns> public static MeasurementGroup GetMeasurementGroup(AdoDataConnection database, int groupID) { DataTable measurementGroupTable; bool createdConnection = false; DataRow row; try { createdConnection = CreateConnection(ref database); measurementGroupTable = database.RetrieveData(DefaultTimeout, "SELECT * FROM MeasurementGroup WHERE ID = {0}", groupID); if (measurementGroupTable.Rows.Count == 0) return null; row = measurementGroupTable.Rows[0]; MeasurementGroup measurementGroup = new MeasurementGroup() { NodeID = database.Guid(row, "NodeID"), ID = row.ConvertField<int>("ID"), Name = row.Field<string>("Name"), Description = row.Field<object>("Description").ToNonNullString(), FilterExpression = row.Field<object>("FilterExpression").ToNonNullString(), }; return measurementGroup; } finally { if (createdConnection && database != null) database.Dispose(); } }