Hapikit.Templates.VarSpec.ToString C# (CSharp) Method

ToString() public method

public ToString ( ) : string
return string
        public override string ToString()
        {
            return (First ? _operatorInfo.First : "") +
                   VarName.ToString()
                   + (Explode ? "*" : "")
                   + (PrefixLength > 0 ? ":" + PrefixLength : "");

        }
    }

Usage Example

Exemplo n.º 1
0
            private bool ProcessVariable(VarSpec varSpec, bool multiVariableExpression = false)
            {
                var varname = varSpec.VarName.ToString();
                if (_ParameterNames != null) _ParameterNames.Add(varname);

                if (!_Parameters.ContainsKey(varname)
                    || _Parameters[varname] == null
                    || (_Parameters[varname] is IList && ((IList) _Parameters[varname]).Count == 0)
                    || (_Parameters[varname] is IDictionary && ((IDictionary) _Parameters[varname]).Count == 0))
                {
                    if (_resolvePartially == true)
                    {
                        if (multiVariableExpression)
                        {
                            if (varSpec.First)
                            {
                                _Result.Append("{");
                            }

                            _Result.Append(varSpec.ToString());
                        }
                        else
                        {
                            _Result.Append("{");
                            _Result.Append(varSpec.ToString());
                            _Result.Append("}");
                        }
                        return false;
                    }
                    return false;
                }

                if (varSpec.First)
                {
                    _Result.Append(varSpec.OperatorInfo.First);
                }
                else
                {
                    _Result.Append(varSpec.OperatorInfo.Seperator);
                }

                object value = _Parameters[varname];

                // Handle Strings
                if (value is string)
                {
                    var stringValue = (string)value;
                    if (varSpec.OperatorInfo.Named)
                    {
                        _Result.AppendName(varname, varSpec.OperatorInfo, string.IsNullOrEmpty(stringValue));
                    }
                    _Result.AppendValue(stringValue, varSpec.PrefixLength, varSpec.OperatorInfo.AllowReserved);
                }
                else
                {
                    // Handle Lists
                    var list = value as IList;
                    if (list == null && value is IEnumerable<string>)
                    {
                        list = ((IEnumerable<string>)value).ToList<string>();
                    } ;
                    if (list != null)
                    {
                        if (varSpec.OperatorInfo.Named && !varSpec.Explode)  // exploding will prefix with list name
                        {
                            _Result.AppendName(varname, varSpec.OperatorInfo, list.Count == 0);
                        }

                        _Result.AppendList(varSpec.OperatorInfo, varSpec.Explode, varname, list);
                    }
                    else
                    {

                        // Handle associative arrays
                        var dictionary = value as IDictionary<string, string>;
                        if (dictionary != null)
                        {
                            if (varSpec.OperatorInfo.Named && !varSpec.Explode)  // exploding will prefix with list name
                            {
                                _Result.AppendName(varname, varSpec.OperatorInfo, dictionary.Count() == 0);
                            }
                            _Result.AppendDictionary(varSpec.OperatorInfo, varSpec.Explode, dictionary);
                        }
                        else
                        {
                            // If above all fails, convert the object to string using the default object.ToString() implementation
                            var stringValue = value.ToString();
                            if (varSpec.OperatorInfo.Named)
                            {
                                _Result.AppendName(varname, varSpec.OperatorInfo, string.IsNullOrEmpty(stringValue));
                            }
                            _Result.AppendValue(stringValue, varSpec.PrefixLength, varSpec.OperatorInfo.AllowReserved);
                        }

                    }

                }
                return true;
            }
All Usage Examples Of Hapikit.Templates.VarSpec::ToString