/// <summary> /// Get any status by compartment module id with comparing locker cofiguration. /// </summary> /// <returns> /// Return dictionary by getting value from communication port service. /// </returns> public static Dictionary <string, byte> GetStatusByModuleId(string commandType, string compartmentModuleId, AppSettings lockerConfiguration) { var commandPinCode = new List <byte>() { Convert.ToByte(compartmentModuleId, 16), Convert.ToByte("FF", 16) // Fix data for object detection }; // Command to get status string var result = CommunicationPortControlService.SendCommand(commandType, commandPinCode, lockerConfiguration); Dictionary <string, byte> list = null; if (commandType == CommandType.DoorStatus) { list = Utiles.GetStatusList(result["statusAry"]); } else if (commandType == CommandType.ItemDetection) { list = Utiles.GetStatusList(result["detectionAry"]); // Convert statius string to byte array } return(list); }
/// <summary> /// Scanner data recieving event /// </summary> public void RegisterScannerEvent(Func <string, string> dataProcessFunc) => CommunicationPortControlService.InitializeScanner(PortsHealthCheck, LockerConfiguration, dataProcessFunc);