Ejemplo n.º 1
0
        /// <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);