private StringBuilder CreateParameters(ClassDescription description)
        {
            if (description == null)
            {
                throw new ArgumentNullException(nameof(description));
            }

            var parameters = new StringBuilder();

            foreach (var parameterName in description.Builder.ColumnNames)
            {
                var parameterString = ParameterTemplate;

                switch (DescriptionTypes)
                {
                    case TemplateDescriptionTypes.Controller:
                        {
                            parameterString =
                                parameterString.Replace(MetadataParameters.ParameterName,
                                                        string.Concat(parameterName.Substring(0, 1).ToUpperInvariant(),
                                                                      parameterName.Substring(1,
                                                                                              parameterName.Length - 1).
                                                                          ToUpperInvariant()));
                            parameterString = parameterString.Replace(MetadataParameters.ClassName, description.Name);
                        }
                        break;
                    default:
                        parameterString = parameterString.Replace(MetadataParameters.ParameterName, parameterName);
                        break;
                }

                parameters.Append(parameterString);
            }

            return parameters;
        }
        private StringBuilder CreateProperties(ClassDescription description)
        {
            if (description == null)
            {
                throw new ArgumentNullException(nameof(description));
            }

            var properties = new StringBuilder();

            foreach (var propertyDescription in description.Properties)
            {
                var propertyString = PropertyTemplate;

                propertyString = propertyString.Replace(MetadataParameters.NameName, propertyDescription.Name);
                propertyString = propertyString.Replace(MetadataParameters.DescriptionName,
                                                        propertyDescription.Description);
                propertyString = propertyString.Replace(MetadataParameters.DataTypeName,
                                                        propertyDescription.DotNetDataType);

                properties.Append(propertyString);
            }

            return properties;
        }
        private StringBuilder CreateColumnNameParameters(ClassDescription description)
        {
            if (description == null)
            {
                throw new ArgumentNullException(nameof(description));
            }

            var parameters = new StringBuilder();

            foreach (var parameterName in description.Builder.ColumnNames)
            {
                var parameterString = SovitusParametriPohja;
                parameterString = GetParameterString(description, parameterString, parameterName);
                parameters.Append(parameterString);
            }

            return parameters;
        }