private string ReplaceTokens(CodeMetaData codeMetaData, string dataModelText)
        {
            var result = dataModelText.Replace("<DataModelName />", codeMetaData.ModelName)
                         .Replace("<Parameters />", codeMetaData.FormatListToString(codeMetaData.Parameters, ""))
                         .Replace("<Sql />", codeMetaData.AllSql)
                         .Replace("<Properties />", codeMetaData.FormatListToString(codeMetaData.Properties, ""))
                         .Replace("<WhereClause />", codeMetaData.FormatListToString(codeMetaData.WhereClause, ""))
                         .Replace("<TableList />", codeMetaData.FormatListToString(codeMetaData.TableList, ""));

            return(result);
        }
 private void GenerateCodeForModel(string dataModel, IEnumerable <MetaData.DataModelDetailsRow> modelDetails, TextBox textBox = null)
 {
     {
         // build code metadata
         CodeMetaData codeMetaData = new CodeMetaData()
         {
             ModelName   = dataModel,
             Parameters  = GenerateCodeByTypeSql("xfnParamCreator", modelDetails),
             Sql         = GenerateCodeByType("Sql", modelDetails),
             Properties  = GenerateCodeByTypeSql("xfnModelCreator", modelDetails),
             WhereClause = GenerateCodeByTypeSql("xfnIIFCreator", modelDetails),
             TableList   = GenerateCodeByType("TableList", modelDetails),
         };
         // replace templates
         CreateFiles(codeMetaData, textBox);
     }
 }
        private void CreateFiles(CodeMetaData codeMetaData, TextBox textBox = null)
        {
            string modelName         = codeMetaData.ModelName;
            string dataModelText     = LoadTemplate("datamodel.txt");
            string dataModelBaseText = LoadTemplate("datamodelbase.txt");
            string sql          = LoadTemplate("sql.txt");
            string sprocWrapper = LoadTemplate("sprocwrapper.txt");

            sql = ReplaceTokens(codeMetaData, sql);
            codeMetaData.AllSql = sql;
            dataModelText       = ReplaceTokens(codeMetaData, dataModelText);
            dataModelBaseText   = ReplaceTokens(codeMetaData, dataModelBaseText);

            sprocWrapper = ReplaceTokens(codeMetaData, sprocWrapper);

            string serviceDirectory = Helpers.GetRestServiceDirectory();

            GenerateFiles(dataModelText, modelName + ".cs", serviceDirectory + @"Models\", textBox);
            GenerateFiles(dataModelBaseText, modelName + ".cs", serviceDirectory + @"Models\Base\", textBox);
            GenerateFiles(sprocWrapper, modelName + ".sql", serviceDirectory + @"Sql\", textBox);
        }