Esempio n. 1
0
        private string ExtractLanProperties(LanguageEnum lan, JProperty jsonObj)
        {
            var _type = _parser.GetFreindlyTypeName(lan, jsonObj);

            string prop = string.Empty;

            if (jsonObj.Value.Type == JTokenType.Array)
            {
                var propChildren = jsonObj.Children().ToList();
                foreach (JToken jTokenItem in propChildren)
                {
                    string arrayType = string.Empty;
                    switch (lan)
                    {
                    case LanguageEnum.CSharp:
                        arrayType = "List";
                        break;

                    case LanguageEnum.PHP:
                        arrayType = "array";
                        break;

                    case LanguageEnum.Java:
                        arrayType = "ArrayList";
                        break;
                    }

                    if (lan != LanguageEnum.PHP)
                    {
                        if (jTokenItem.Any(a => a.Type == JTokenType.String))
                        {
                            prop = arrayType + "<string>";
                            break;
                        }
                        else
                        {
                            prop = arrayType + "<" + FirstCharToUpper(jsonObj.Name) + ">";
                            break;
                        }
                    }
                    else if (lan == LanguageEnum.PHP)
                    {
                        prop = arrayType;
                        break;
                    }
                }
            }
            else if (jsonObj.Value.Type == JTokenType.Object)
            {
                prop = FirstCharToUpper(jsonObj.Name);
            }
            else
            {
                prop = _type;
            }

            return(prop);
        }