Example #1
0
    public static IEnumerable <ObjectDefinitionBase> GetServiceRelatedContracts(GenerationItemModel model, ObjectDefinitionBase definition)
    {
        var contracts       = new Dictionary <string, ObjectDefinitionBase>();
        var classDefinition = definition as StructDefinition;

        if (classDefinition == null)
        {
            return(contracts.Values);
        }

        foreach (var method in classDefinition.Methods)
        {
            var objectDefinition = GetDefinition(method.ReturnType, model);

            if (objectDefinition.IsArray)
            {
                objectDefinition = objectDefinition.InnerObject;
            }

            var translator = model.GetTranslator(objectDefinition);

            if (!contracts.ContainsKey(objectDefinition.Name) &&
                translator == null)
            {
                contracts.Add(objectDefinition.Name, objectDefinition);
            }

            foreach (var parameter in method.Parameters)
            {
                objectDefinition = GetDefinition(parameter.Type, model);

                if (objectDefinition.IsArray)
                {
                    objectDefinition = objectDefinition.InnerObject;
                }

                translator = model.GetTranslator(objectDefinition);

                if (!contracts.ContainsKey(objectDefinition.Name) &&
                    translator == null)
                {
                    contracts.Add(objectDefinition.Name, objectDefinition);
                }
            }
        }

        return(contracts.Values.ToList());
    }
Example #2
0
    public static string GetModelName(GenerationItemModel model, ObjectDefinitionBase objectDefinition, bool isInterface)
    {
        objectDefinition = GetDefinition(objectDefinition, model);

        if (objectDefinition is EnumDefinition)
        {
            isInterface = false;
        }

        var translator = model.GetTranslator(objectDefinition);

        if (translator == null)
        {
            if (objectDefinition.IsArray && objectDefinition.InnerObject != null)
            {
                return(string.Format("List<{0}>", GetModelName(model, objectDefinition.InnerObject, isInterface: isInterface)));
            }

            if (objectDefinition.IsInterface)
            {
                return(objectDefinition.Name.Substring(1, objectDefinition.Name.Length - 1).Replace("View", ""));
            }

            if (objectDefinition is EnumDefinition)
            {
                return(objectDefinition.FullName);
            }

            return(string.Format("{0}{1}", isInterface && !objectDefinition.IsInterface ?  "I" : "", objectDefinition.Name.Replace("View", "")));
        }

        return(translator.Translation);
    }
Example #3
0
    public static IEnumerable <ObjectDefinitionBase> GetModelRelatedContracts(GenerationItemModel model, ObjectDefinitionBase definition, List <PropertyDefinition> properties)
    {
        var contracts = new Dictionary <string, ObjectDefinitionBase>();

        foreach (var property in properties)
        {
            var objectDefinition = GetDefinition(property.Type, model);

            if (objectDefinition.IsArray)
            {
                objectDefinition = objectDefinition.InnerObject;
            }

            var translator = model.GetTranslator(objectDefinition);

            if (objectDefinition.Name != definition.Name &&
                !contracts.ContainsKey(objectDefinition.Name) &&
                translator == null)
            {
                contracts.Add(objectDefinition.Name, objectDefinition);
            }
        }

        return(contracts.Values.ToList());
    }
Example #4
0
    public static string GetModelName(GenerationItemModel model, ObjectDefinitionBase objectDefinition, bool isInterface = false)
    {
        if (objectDefinition is EnumDefinition)
        {
            isInterface = false;
        }

        var translator = model.GetTranslator(objectDefinition);

        if (translator == null)
        {
            return(objectDefinition.IsArray && objectDefinition.InnerObject != null
                    ? $"{(isInterface ? "IReadOnlyCollection" : "List")}<{GetModelName(model, objectDefinition.InnerObject, isInterface: isInterface)}>"
                    : $"{(isInterface ? "I" : "")}{(isInterface ? objectDefinition.Name.Replace("View", string.Empty) : objectDefinition.Name)}");
        }

        return(translator.Translation);
    }