public SerialInterface(string siName, List <KeyValuePair <string, string> > siData)
        {
            string strRoutineName = "SerialInterface";

            try
            {
                SetSupportedBaudRates();
                SetSupportedDataBits();
                SetSupportedStopBits();
                SetSupportedFlowControls();
                SetSupportedParities();

                //First set the root element value...
                try
                {
                    sType = (serialType)Enum.Parse(typeof(serialType), siName);
                }
                catch (System.ArgumentException)
                {
                    Utils.WriteLine(VerboseLevel.WARNING, "Enum argument {0} not supported!!!", siName);
                }

                //Parse n store values...
                if (siData != null && siData.Count > 0)
                {
                    foreach (KeyValuePair <string, string> sikp in siData)
                    {
                        Utils.Write(VerboseLevel.DEBUG, "{0} {1} ", sikp.Key, sikp.Value);
                        try
                        {
                            if (this.GetType().GetProperty(sikp.Key) != null) //Ajay: 10/08/2018
                            {
                                this.GetType().GetProperty(sikp.Key).SetValue(this, sikp.Value);
                            }
                        }
                        catch (System.NullReferenceException)
                        {
                            Utils.WriteLine(VerboseLevel.WARNING, "Field doesn't exist. XML and class fields mismatch!!! key: {0} value: {1}", sikp.Key, sikp.Value);
                        }
                    }
                    Utils.Write(VerboseLevel.DEBUG, "\n");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(strRoutineName + ": " + "Error: " + ex.Message.ToString(), Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Beispiel #2
0
        /// <summary>
        /// To Serial Type
        /// </summary>
        /// <param name="pSerialType"></param>
        /// <returns></returns>
        internal static serialType ToSerialType(this String pSerialType)
        {
            serialType _serialType = serialType.NONE;

            if (pSerialType.IsValidString())
            {
                string _compareValue = pSerialType.ToLower();

                switch (_compareValue)
                {
                case "sim":
                {
                    _serialType = serialType.SIM;
                }
                break;

                case "cash":
                {
                    _serialType = serialType.CASH;
                }
                break;

                case "imei":
                {
                    _serialType = serialType.IMEI;
                }
                break;

                case "rand":
                {
                    _serialType = serialType.RAND;
                }
                break;

                case "cons":
                {
                    _serialType = serialType.CONS;
                }
                break;

                case "7812":
                case "item7812":
                {
                    _serialType = serialType.Item7812;
                }
                break;

                case "ean13":
                {
                    _serialType = serialType.EAN13;
                }
                break;

                case "none":
                default:
                {
                    _serialType = serialType.NONE;
                }
                break;
                }
            }

            return(_serialType);
        }
        public SerialInterface(XmlNode siNode)
        {
            string strRoutineName = "SerialInterface";

            try
            {
                SetSupportedBaudRates();
                SetSupportedDataBits();
                SetSupportedStopBits();
                SetSupportedFlowControls();
                SetSupportedParities();

                //Parse n store values...
                Utils.WriteLine(VerboseLevel.DEBUG, "siNode name: '{0}'", siNode.Name);
                if (siNode.Attributes != null)
                {
                    //First set the root element value...
                    try
                    {
                        sType = (serialType)Enum.Parse(typeof(serialType), siNode.Name);
                    }
                    catch (System.ArgumentException)
                    {
                        Utils.WriteLine(VerboseLevel.WARNING, "Enum argument {0} not supported!!!", siNode.Name);
                    }
                    #region Sujit's Code Commented
                    //foreach (XmlAttribute item in siNode.Attributes)
                    //{
                    //    Utils.Write(VerboseLevel.DEBUG, "{0} {1} ", item.Name, item.Value);
                    //    try
                    //    {
                    //        this.GetType().GetProperty(item.Name).SetValue(this, item.Value);
                    //    } catch (System.NullReferenceException) {
                    //        Utils.WriteLine(VerboseLevel.WARNING, "Field doesn't exist. XML and class fields mismatch!!! key: {0} value: {1}", item.Name, item.Value);
                    //    }
                    //}
                    #endregion Sujit's Code Commented

                    //Namrata: 24/02/2018
                    //It TimeZone attaribute not present in XML
                    XmlDocument xmlDoc = new XmlDocument();
                    xmlDoc.Load(Utils.XMLFileName);
                    XmlAttribute attrName = xmlDoc.CreateAttribute("Enable");
                    attrName.Value = "NO";
                    bool IsExist = false;

                    arrAttributes.OfType <string>().ToList().ForEach(item =>
                    {
                        if (!siNode.Attributes.OfType <XmlNode>().ToList().Select(x => x.Name).ToList().Contains(item))
                        {
                            IsExist = true;
                        }
                    });
                    if (IsExist)
                    {
                        siNode.Attributes.SetNamedItem(attrName);
                    }
                    siNode.Attributes.OfType <XmlNode>().ToList().ForEach(x =>
                    {
                        if (this.GetType().GetProperty(x.Name) != null) //Ajay: 10/08/2018
                        {
                            this.GetType().GetProperty(x.Name).SetValue(this, x.Value);
                        }
                    });
                }
                else if (siNode.NodeType == XmlNodeType.Comment)
                {
                    isNodeComment = true;
                    comment       = siNode.Value;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(strRoutineName + ": " + "Error: " + ex.Message.ToString(), Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }