Example #1
0
        /// <summary>
        /// Create a PsObject from Dictionary of string, object pairs.
        /// </summary>
        /// <param name="dict">Key-value pairs of data.</param>
        /// <returns>PsObject containing values from Dictionary.</returns>
        public static PsObject Create(Dictionary <string, object> dict)
        {
            PsObject psobj = new PsObject();

            foreach (KeyValuePair <string, object> item in dict)
            {
                string key = item.Key;
                Dictionary <string, object> value = (Dictionary <string, object>)item.Value;

                int type = (int)value["t"];

                switch (type)
                {
                case (int)Constants.PsType.Boolean:
                    psobj.SetBoolean(key, Convert.ToBoolean(value["v"]));
                    break;

                case (int)Constants.PsType.String:
                    psobj.SetString(key, Convert.ToString(value["v"]));
                    break;

                case (int)Constants.PsType.Integer:
                    psobj.SetInt(key, Convert.ToInt32(value["v"]));
                    break;

                case (int)Constants.PsType.Long:
                    psobj.SetLong(key, Convert.ToInt64(value["v"]));
                    break;

                case (int)Constants.PsType.Float:
                    psobj.SetFloat(key, Convert.ToSingle(value["v"]));
                    break;

                case (int)Constants.PsType.PSObject:
                    psobj.SetPsObject(key, PsObject.Create((Dictionary <string, object>)value["v"]));
                    break;

                case (int)Constants.PsType.PSArray:
                    psobj.SetPsArray(key, PsArray.Create((object[])value["v"]));
                    break;

                case (int)Constants.PsType.Number:
                    psobj.SetFloat(key, Convert.ToSingle(value["v"]));
                    break;
                }
            }

            return(psobj);
        }
Example #2
0
        /// <summary>
        /// Create an PsArray from an array of objects.
        /// </summary>
        /// <param name="obj">Array of objects.</param>
        /// <returns></returns>
        public static PsArray Create(object[] obj)
        {
            PsArray psa = new PsArray();

            foreach (object o in obj)
            {
                Dictionary <string, object> dict = (Dictionary <string, object>)o;

                int type = (int)dict["t"];

                switch (type)
                {
                case (int)Constants.PsType.Boolean:
                    psa.AddBoolean(Convert.ToBoolean(dict["v"]));
                    break;

                case (int)Constants.PsType.String:
                    psa.AddString(Convert.ToString(dict["v"]));
                    break;

                case (int)Constants.PsType.Integer:
                    psa.AddInt(Convert.ToInt32(dict["v"]));
                    break;

                case (int)Constants.PsType.Long:
                    psa.AddLong(Convert.ToInt64(dict["v"]));
                    break;

                case (int)Constants.PsType.Float:
                    psa.AddFloat(Convert.ToSingle(dict["v"]));
                    break;

                case (int)Constants.PsType.PSObject:
                    psa.AddPsObject(PsObject.Create((Dictionary <string, object>)dict["v"]));
                    break;

                case (int)Constants.PsType.PSArray:
                    psa.AddPsArray(PsArray.Create((object[])dict["v"]));
                    break;

                case (int)Constants.PsType.Number:
                    psa.AddNumber(Convert.ToSingle(dict["v"]));
                    break;
                }
            }

            return(psa);
        }