private string GenerateEntityImplement(string name) { var pattern = @"// {EntityName}.cs // // Generated by Kuicker.Tools.EntityGenerator. // {Today} using System; using System.ComponentModel; using System.Runtime.Serialization; using System.Collections.Generic; using Kuicker; using Kuicker.Data; namespace {Namespace} { /// <summary> /// {Comments} /// </summary> [Description(""{Comments}"")] [DataContract, Table] public partial class {EntityName} : Entity<{EntityName}> { #region constructor public {EntityName}() : base() { } #endregion #region IEntity #endregion #region static #endregion #region instance #endregion #region private #endregion #region event handler #endregion } }"; var now = DateTime.Now.yyyy_MM_dd_HH_mm_ss_fff(); var nameSpace = txtNamespace.Text; var tableName = name; var entityName = tableName .TrimStart(txtTableTrimPrefix.Text); entityName = NamingFilter(entityName) .AppendSuffix(txtTableAppendSuffix.Text); if (entityName.IsNullOrEmpty()) { entityName = tableName; } var tableSchema = TableSchemas.FirstOrDefault(x => x.TableName == tableName ); var sb = new StringBuilder(); sb.Append(pattern); sb .Replace( "{Comments}", tableSchema.Comments.AirBag(tableSchema.TableName) ) .Replace("{Today}", now) .Replace("{Namespace}", nameSpace) .Replace("{EntityName}", entityName) .Replace("{TableName}", tableName); return(sb.ToString()); }
private string GenerateEntitySchema(string name) { var pattern = @"// {EntityName}.cs // // Generated by Kuicker.Tools.EntityGenerator. // {Today} using System; using System.ComponentModel; using System.Runtime.Serialization; using System.Collections.Generic; using Kuicker; using Kuicker.Data; namespace {Namespace} { public partial class {EntityName} : Entity<{EntityName}> { public override string __TableName { get { return ""{TableName}""; } } {Properties} } }"; var now = DateTime.Now.yyyy_MM_dd_HH_mm_ss_fff(); var nameSpace = txtNamespace.Text; var tableName = name; var entityName = tableName .TrimStart(txtTableTrimPrefix.Text); entityName = NamingFilter(entityName) .AppendSuffix(txtTableAppendSuffix.Text); if (entityName.IsNullOrEmpty()) { entityName = tableName; } var tableSchema = TableSchemas.FirstOrDefault(x => x.TableName == tableName ); var ef = EnumCache.Get <DataFormat>(); var sbProperties = new StringBuilder(); foreach (var column in tableSchema.Columns) { var propertyName = column.ColumnName .TrimStart(txtColumnTrimPrefix.Text); propertyName = NamingFilter(propertyName) .AppendSuffix(txtColumnAppendSuffix.Text); if (propertyName.IsNullOrEmpty()) { propertyName = column.ColumnName; } var columnSchema = tableSchema.Columns.FirstOrDefault(x => x.ColumnName == column.ColumnName ); if (columnSchema == null) { continue; } if (sbProperties.Length > 0) { sbProperties.AppendLine(); } sbProperties.AppendFormat(@" /// <summary> /// {0} /// </summary> [Description(""{0}"")] [DataMember, Column(""{1}""){2}{3}] public {4} {5} {{ get; set; }}" , column.Comments.AirBag(column.ColumnName), column.ColumnName, tableSchema .IsPrimaryKey(column.ColumnName) .If(", PrimaryKey"), column .Nullable .If(", AllowDBNull"), columnSchema.ToTypeName(Formater), propertyName ); } var sb = new StringBuilder(); sb.Append(pattern); sb .Replace( "{Comments}", tableSchema.Comments.AirBag(tableSchema.TableName) ) .Replace("{Today}", now) .Replace("{Namespace}", nameSpace) .Replace("{EntityName}", entityName) .Replace("{TableName}", tableName) .Replace("{Properties}", sbProperties.ToString()); return(sb.ToString()); }
private void lbxTables_SelectedIndexChanged( object sender, EventArgs e) { ListBox lbx = sender as ListBox; if (null == lbx) { return; } clbColumns.Items.Clear(); txtCode.Text = string.Empty; string name = lbx.SelectedItem.ToString(); if (name.IsNullOrEmpty()) { return; } var obj = TableSchemas.FirstOrDefault(x => x.TableName == name ); if (null == obj) { return; } string columnPrefix = string.Empty; bool columnPrefixDone = false; foreach (var column in obj.Columns) { clbColumns.Items.Add(column.ColumnName, true); if (!columnPrefixDone) { string[] parts = column.ColumnName.Split('_'); if (columnPrefix.IsNullOrEmpty()) { if (parts.Length > 1) { columnPrefix = parts[0]; } else { columnPrefixDone = true; } } else { if (columnPrefix != parts[0]) { columnPrefix = string.Empty; } else { columnPrefix += "_"; } columnPrefixDone = true; } } } RefreshTable(name); }