private object SetPortPowerList(Object val, ThingMagicPower type) { switch (type) { case ThingMagicPower.PortReadPowerList: case ThingMagicPower.PortWritePowerList: if (type.Equals(ThingMagicPower.PortReadPowerList)) { SetReadTransmitPowerList(val); } else { SetWriteTransmitPowerList(val); } break; case ThingMagicPower.ReadPower: case ThingMagicPower.WritePower: List<int[]> prpList = new List<int[]>(); for (int count = 0; count < antennaMax; count++) { prpList.Add(new int[] { count + 1, Convert.ToInt32(val) }); } if (type.Equals(ThingMagicPower.ReadPower)) { SetReadTransmitPowerList(prpList.ToArray()); } else { SetWriteTransmitPowerList(prpList.ToArray()); } break; } return val; }
private object GetPortPowerList(Object val, ThingMagicPower type) { int[][] pwrvalue = new int[][] { }; try { switch (type) { case ThingMagicPower.PortReadPowerList: case ThingMagicPower.PortWritePowerList: List<int[]> prpList = new List<int[]>(); if (type.Equals(ThingMagicPower.PortReadPowerList)) { pwrvalue = (int[][])GetReadTransmitPowerList(val); } else { pwrvalue = (int[][])GetWriteTransmitPowerList(val); } val = pwrvalue; break; case ThingMagicPower.ReadPower: case ThingMagicPower.WritePower: if (type.Equals(ThingMagicPower.ReadPower)) { pwrvalue = (int[][])GetReadTransmitPowerList(val); } else { pwrvalue = (int[][])GetWriteTransmitPowerList(val); } int tempPower = pwrvalue[0][1]; for (int count = 0; count < antennaMax; count++) { if (tempPower != pwrvalue[count][1]) { tempPower = 0; break; } } // If all antennas have same power, return that value if (Convert.ToBoolean(tempPower)) { val = pwrvalue[0][1]; } else { // If different, return undefined value throw new ReaderException("Undefined value"); } break; } } catch (Exception ex) { throw new ReaderException(ex.Message); } return val; }