public IEnumerable <Contracts.IGeneratedItem> CreateBusinessModels()
        {
            var result           = new List <Contracts.IGeneratedItem>();
            var contractsProject = ContractsProject.Create(SolutionProperties);

            foreach (var type in contractsProject.BusinessTypes)
            {
                if (CanCreate(type))
                {
                    result.Add(CreateModelFromContract(type, UnitType, Common.ItemType.BusinessModel));
                    if (ContractHelper.HasOneToMany(type))
                    {
                        var(one, _) = ContractHelper.GetOneToManyTypes(type);

                        result.Add(CreateDelegateProperties(type, one, StaticLiterals.OneModelName, UnitType, Common.ItemType.BusinessModel));
                    }
                    result.Add(CreateBusinessModel(type, UnitType));
                }
            }
            return(result);
        }
Exemple #2
0
        public static IEnumerable <RazorBuilder> CreateGridColumns(Type type)
        {
            var result  = new List <RazorBuilder>();
            var handled = false;

            BeginCreateGridColumns(type, result, ref handled);
            if (handled == false)
            {
                var createHelper = default(ContractHelper);

                if (ContractHelper.HasOneToMany(type))
                {
                    var(one, _) = ContractHelper.GetOneToManyTypes(type);

                    createHelper = new ContractHelper(one);
                }
                else
                {
                    createHelper = new ContractHelper(type);
                }

                foreach (var propertyInfo in createHelper.GetAllProperties()
                         .Where(e => IsPropertyCreatable(e))
                         .Select(e => new ContractPropertyHelper(e))
                         .OrderBy(e => e.Order)
                         .Select(e => e.Property))
                {
                    var item = CreateGridColumn(propertyInfo);

                    if (item != null)
                    {
                        result.Add(item);
                    }
                }
            }
            EndCreateGridColumns(type, result);
            return(result);
        }