Beispiel #1
0
            public ConstructorModel(ModelTemplateModel model)
            {
                // TODO: this could just be the "required" parameters instead of required and all the optional ones
                // with defaults if we wanted a bit cleaner constructors
                IEnumerable <InheritedPropertyInfo> allProperties =
                    model.AllPropertyTemplateModels.OrderBy(p => !p.Property.IsRequired).ThenBy(p => p.Depth);

                Parameters = allProperties.Select(p => new ConstructorParameterModel(p.Property));
                Signature  = CreateSignature(Parameters);
                BaseCall   = CreateBaseCall(model);
            }
Beispiel #2
0
        public ModelTemplateModel(CompositeType source)
        {
            this.LoadFrom(source);
            PropertyTemplateModels = new List <PropertyTemplateModel>();
            source.Properties.ForEach(p => PropertyTemplateModels.Add(new PropertyTemplateModel(p)));
            if (source.BaseModelType != null)
            {
                this._baseModel = new ModelTemplateModel(source.BaseModelType);
            }

            this._constructorModel = new ConstructorModel(this);
        }
        public ModelTemplateModel(CompositeType source)
        {
            this.LoadFrom(source);
            PropertyTemplateModels = new List<PropertyTemplateModel>();
            source.Properties.ForEach(p => PropertyTemplateModels.Add(new PropertyTemplateModel(p)));
            if (source.BaseModelType != null)
            {
                this._baseModel = new ModelTemplateModel(source.BaseModelType);
            }

            this._constructorModel = new ConstructorModel(this);
        }
Beispiel #4
0
            private static string CreateBaseCall(ModelTemplateModel model)
            {
                if (model._baseModel != null)
                {
                    IEnumerable <ConstructorParameterModel> parameters = model._baseModel._constructorModel.Parameters;
                    if (parameters.Any())
                    {
                        return(string.Format(
                                   CultureInfo.InvariantCulture,
                                   ": base({0})",
                                   string.Join(", ", parameters.Select(p => p.Name))));
                    }
                }

                return(string.Empty);
            }
            private static string CreateBaseCall(ModelTemplateModel model)
            {
                if (model._baseModel != null)
                {
                    IEnumerable<ConstructorParameterModel> parameters = model._baseModel._constructorModel.Parameters;
                    if (parameters.Any())
                    {
                        return string.Format(
                            CultureInfo.InvariantCulture, 
                            ": base({0})", 
                            string.Join(", ", parameters.Select(p => p.Name)));
                    }
                }

                return string.Empty;
            }
            public ConstructorModel(ModelTemplateModel model)
            {
                // TODO: this could just be the "required" parameters instead of required and all the optional ones
                // with defaults if we wanted a bit cleaner constructors
                IEnumerable<InheritedPropertyInfo> allProperties =
                   model.AllPropertyTemplateModels.OrderBy(p => !p.Property.IsRequired).ThenBy(p => p.Depth);

                Parameters = allProperties.Select(p => new ConstructorParameterModel(p.Property));
                Signature = CreateSignature(Parameters);
                BaseCall = CreateBaseCall(model);
            }