/// <summary> /// Read a category from the current reader record. /// </summary> internal static ElementBase ReadEntityRecord(SQLiteDataReader reader) { //"id, panelid, name, x, y, rotation, type, status" ElementBase record = ElementManager.CreateInstance(reader.GetInt32(6)); record.ID = reader.GetInt32(0); record.SwitchboardPanel = new SwitchboardPanel(reader.GetInt32(1)); record.Name = reader.IsDBNull(2) ? string.Empty : reader.GetString(2); record.X = reader.IsDBNull(3) ? 1 : reader.GetInt32(3); record.Y = reader.IsDBNull(4) ? 1 : reader.GetInt32(4); record.Rotation = reader.IsDBNull(5) ? ElementBase.RotationStep.Step0 : (ElementBase.RotationStep)reader.GetInt32(5); if (ElementBase.IsAccessoryElement(record)) { ((IAccessory)record).SetAccessoryStatus(reader.IsDBNull(7) ? ElementBase.STATUS_UNDEFINED : reader.GetInt32(7), false); } return(record); }
/// <summary> /// Creates a element instance from the specified type. /// </summary> /// <param name="elementType">Element type corresponding of the enumeration type.</param> /// <returns>The requested instance.</returns> public static ElementBase CreateInstance(int elementType) { return(ElementManager.CreateInstance((ElementBase.ElementType)elementType)); }