Esempio n. 1
0
        internal WSParam Clone()
        {
            WSParam param = new WSParam(CODE, NAME, DataType, func);

            param.DISPLAY_NAME     = DISPLAY_NAME;
            param.READ_ACCESS_MODE = READ_ACCESS_MODE != null?READ_ACCESS_MODE.Clone() : new WSAccessMode(WSConstants.ACCESS_LEVEL.READ);

            param.WRITE_ACCESS_MODE = WRITE_ACCESS_MODE != null?WRITE_ACCESS_MODE.Clone() : new WSAccessMode(WSConstants.ACCESS_LEVEL.UPDATE);

            param.SkipEmpty      = SkipEmpty;
            param.ALLOWED_VALUES = (ALLOWED_VALUES != null && ALLOWED_VALUES.Any()) ? ALLOWED_VALUES.Select(x => x.Clone()).ToList() : new List <WSValue>();
            param.ALIACES        = (ALIACES != null && ALIACES.Any()) ? ALIACES.Select(x => x).ToList() : new List <string>();
            param.DESCRIPTION    = DESCRIPTION;

            return(param);
        }
Esempio n. 2
0
        public new void WriteXmlContent(System.Xml.XmlWriter writer, int tabIndex = 0)
        {
            base.WriteXmlContent(writer);

            #region READ_ACCESS_MODE
            writer.WriteStartElement("readAccessMode");
            if (READ_ACCESS_MODE != null)
            {
                READ_ACCESS_MODE.WriteXml(writer);
            }
            writer.WriteEndElement();
            #endregion

            #region WRITE_ACCESS_MODE
            writer.WriteStartElement("writeAccessMode");
            if (WRITE_ACCESS_MODE != null)
            {
                WRITE_ACCESS_MODE.WriteXml(writer);
            }
            writer.WriteEndElement();
            #endregion

            #region ALLOWED_VALUES
            writer.WriteStartElement("allowedValues");
            if (ALLOWED_VALUES != null)
            {
                foreach (WSValue val in ALLOWED_VALUES)
                {
                    if (val != null)
                    {
                        writer.WriteStartElement("allowedValue");
                        val.WriteXml(writer);
                        writer.WriteEndElement();
                    }
                }
            }
            writer.WriteEndElement();
            #endregion
        }
Esempio n. 3
0
        internal void Merge(WSParam param)
        {
            try
            {
                base.Merge(param);

                if (param.isValid)
                {
                    NAME         = string.IsNullOrEmpty(param.NAME) ? NAME : param.NAME;
                    DISPLAY_NAME = string.IsNullOrEmpty(param.DISPLAY_NAME) ? DISPLAY_NAME : param.DISPLAY_NAME;
                    DESCRIPTION  = string.IsNullOrEmpty(param.DESCRIPTION) ? DESCRIPTION : param.DESCRIPTION;
                    SkipEmpty    = param.SkipEmpty;

                    READ_ACCESS_MODE.Merge(param.READ_ACCESS_MODE);
                    WRITE_ACCESS_MODE.Merge(param.WRITE_ACCESS_MODE);
                    if (param.ALLOWED_VALUES != null && param.ALLOWED_VALUES.Any(v => v.isValid))
                    {
                        ALLOWED_VALUES = param.ALLOWED_VALUES.Where(v => v.isValid).ToList();
                    }
                }
            }
            catch (Exception) { }
        }
Esempio n. 4
0
        public new void ReadXmlContent(System.Xml.XmlReader reader)
        {
            base.ReadXmlContent(reader);

            bool done = false;

            while (reader.MoveToContent() == XmlNodeType.Element)
            {
                switch (reader.Name)
                {
                case "readAccessMode":
                    READ_ACCESS_MODE.ReadXml(reader);
                    break;

                case "writeAccessMode":
                    WRITE_ACCESS_MODE.ReadXml(reader);
                    break;

                case "allowedValues":
                    if (reader.ReadToDescendant("allowedValue"))
                    {
                        List <WSValue> values = new List <WSValue>();
                        while (reader.MoveToContent() == XmlNodeType.Element)
                        {
                            if (!reader.IsEmptyElement)
                            {
                                string aName = reader.GetAttribute("name");
                                if (string.IsNullOrEmpty(aName))
                                {
                                    reader.Skip();
                                }
                                else
                                {
                                    WSValue value = new WSValue(aName);
                                    value.ReadXml(reader);
                                    values.Add(value);
                                }
                            }
                            reader.MoveToContent();
                            if (!reader.Read())
                            {
                                break;
                            }
                        }
                        ALLOWED_VALUES = values;
                    }
                    break;

                default:
                {
                    reader.Skip();
                    done = true;
                    break;
                }
                }
                reader.MoveToContent();
                if (done || !reader.Read())
                {
                    break;
                }
            }
        }