bool _checkMacEthernet(Dut.IPCamera <U> camera, string mac_header)
        {
            var    prop_logsystem = uploadInfo.GetType().GetProperty("logSystem");
            string log_value      = (string)prop_logsystem.GetValue(uploadInfo);

            bool ret   = false;
            int  count = 0;

RE:
            count++;

            //đọc mac ethernet
            string mac_ethernet = camera.getMacEthernet();

            log_value += string.Format("...đọc mac ethernet: {0}\n", mac_ethernet);
            prop_logsystem.SetValue(uploadInfo, log_value);

            //check định dạng
            ret        = Parse.IsMacAddress(mac_ethernet);
            log_value += string.Format("...check định dạng: {0}\n", ret);
            prop_logsystem.SetValue(uploadInfo, log_value);
            if (!ret)
            {
                if (count < 3)
                {
                    goto RE;
                }
                else
                {
                    goto END;
                }
            }

            //check header
            ret        = mac_header.ToLower().Contains(mac_ethernet.ToLower().Substring(0, 6));
            log_value += string.Format("...check header: {0}\n", ret);
            prop_logsystem.SetValue(uploadInfo, log_value);
            if (!ret)
            {
                if (count < 3)
                {
                    goto RE;
                }
                else
                {
                    goto END;
                }
            }

END:
            return(ret);
        }
예제 #2
0
        //Kiem tra mac qua cong telnet
        public bool excuteTelnet()
        {
            bool ret            = false;
            var  prop_macresult = testingInfo.GetType().GetProperty("macResult");

            prop_macresult.SetValue(testingInfo, "Waiting...");

            //get logsytem
            var    prop_logsystem = testingInfo.GetType().GetProperty("logSystem");
            string log_value      = (string)prop_logsystem.GetValue(testingInfo);

            try {
                if (!camera.IsConnected())
                {
                    goto END;
                }

                int count = 0;
RE:
                count++;
                string data = camera.getMacEthernet();
                log_value += string.Format("{0}\n", data);
                prop_logsystem.SetValue(testingInfo, log_value);

                if (data != null)
                {
                    ret = data.ToUpper().Contains(std_value.ToUpper());
                }
                if (!ret)
                {
                    if (count < retry_time)
                    {
                        goto RE;
                    }
                }
            }
            catch (Exception ex) {
                log_value += ex.ToString();
                prop_logsystem.SetValue(testingInfo, log_value);
                goto END;
            }

END:
            prop_macresult.SetValue(testingInfo, ret ? "Passed" : "Failed");
            return(ret);
        }
        bool _getMacEthernet(Dut.IPCamera <T> camera, out string mac_ethernet)
        {
            var    prop_logsystem = testingInfo.GetType().GetProperty("logSystem");
            string log_value      = (string)prop_logsystem.GetValue(testingInfo);
            bool   ret            = false;
            int    count          = 0;

RE:
            count++;
            mac_ethernet = camera.getMacEthernet();
            log_value   += string.Format("...đọc mac ethernet {0}\n", mac_ethernet);
            prop_logsystem.SetValue(testingInfo, log_value);

            ret = !(string.IsNullOrEmpty(mac_ethernet) || string.IsNullOrWhiteSpace(mac_ethernet));
            if (!ret)
            {
                if (count < 3)
                {
                    goto RE;
                }
            }
            return(ret);
        }
        bool _checkUIDCode(Dut.IPCamera <U> camera, string vnpt_uid_header, out string uid_code)
        {
            var    prop_logsystem = uploadInfo.GetType().GetProperty("logSystem");
            string log_value      = (string)prop_logsystem.GetValue(uploadInfo);

            bool ret   = false;
            int  count = 0;

RE:
            count++;

            //đọc uid
            uid_code = camera.getUidCode();
            uid_code = uid_code.Replace("[", "")
                       .Replace("]", "")
                       .Replace("\n", "")
                       .Replace("\r", "")
                       .Replace("~ #", "")
                       .Trim();

            log_value += string.Format("...đọc uid: {0}\n", uid_code);
            prop_logsystem.SetValue(uploadInfo, log_value);

            //check header
            ret        = uid_code.ToLower().Substring(0, vnpt_uid_header.Length).Contains(vnpt_uid_header.ToLower());
            log_value += string.Format("...check header: {0}\n", ret);
            prop_logsystem.SetValue(uploadInfo, log_value);
            if (!ret)
            {
                if (count < 3)
                {
                    goto RE;
                }
                else
                {
                    goto END;
                }
            }

            //check trùng khớp với mac
            string mac          = camera.getMacEthernet();
            string md5_from_mac = myConverter.stringToMD5(mac);

            ret        = uid_code.ToLower().Contains(md5_from_mac.ToLower());
            log_value += string.Format("...check trùng khớp với mac md5 {0}: {1}\n", md5_from_mac, ret);
            prop_logsystem.SetValue(uploadInfo, log_value);
            if (!ret)
            {
                if (count < 3)
                {
                    goto RE;
                }
                else
                {
                    goto END;
                }
            }

END:
            return(ret);
        }
        bool _checkSerialNumber(Dut.IPCamera <U> camera, string vnpt_product_number, string vnpt_mac_code, out string serial_number)
        {
            var    prop_logsystem = uploadInfo.GetType().GetProperty("logSystem");
            string log_value      = (string)prop_logsystem.GetValue(uploadInfo);

            bool ret   = false;
            int  count = 0;

RE:
            count++;

            //đọc serial number
            serial_number = camera.getSerialNumber();
            serial_number = serial_number.Replace("[", "")
                            .Replace("]", "")
                            .Replace("\n", "")
                            .Replace("\r", "")
                            .Replace("~ #", "")
                            .Trim();

            log_value += string.Format("...đọc serial number: {0}\n", serial_number);
            prop_logsystem.SetValue(uploadInfo, log_value);

            //check header
            ret        = serial_number.ToLower().Substring(0, vnpt_product_number.Length).Contains(vnpt_product_number.ToLower());
            log_value += string.Format("...check header: {0}\n", ret);
            prop_logsystem.SetValue(uploadInfo, log_value);
            if (!ret)
            {
                if (count < 3)
                {
                    goto RE;
                }
                else
                {
                    goto END;
                }
            }

            //check trùng khớp với mac
            string mac = camera.getMacEthernet();

            ret        = mac.ToLower().Substring(6, 6).Equals(serial_number.ToLower().Substring(9, 6));
            log_value += string.Format("...check trùng khớp với mac {0}: {1}\n", mac, ret);
            prop_logsystem.SetValue(uploadInfo, log_value);
            if (!ret)
            {
                if (count < 3)
                {
                    goto RE;
                }
                else
                {
                    goto END;
                }
            }

            //check mac code
            ret        = Parse.IsMatchingMacCode(serial_number, mac, vnpt_mac_code);
            log_value += string.Format("...check trùng khớp với mac header {0}: {1}\n", mac, ret);
            prop_logsystem.SetValue(uploadInfo, log_value);
            if (!ret)
            {
                if (count < 3)
                {
                    goto RE;
                }
                else
                {
                    goto END;
                }
            }

END:
            return(ret);
        }