using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;
using System.IO;
using Arista.CodeGenerate.Parse;
using Arista.Util;
using Arista.Data;

namespace Arista.CodeGenerate
{
  public partial class Class1 : CSharpSourlet
  {
    public override void Generate(SourletRequest request, SourletResponse response)
    {
        if(request == null)
        {
            throw new NullReferenceException();
        }
        if(response == null)
        {
            throw new NullReferenceException();
        }
        this._request = request;
        this._response = response;
        this.BeginGenerate();
        Response.Output.WriteLine("using System;");
        Response.Output.WriteLine("using System.Collections.Generic;");
        Response.Output.WriteLine("using System.Text;");
        Response.Output.WriteLine("using System.Data;");
        Response.Output.WriteLine("using System.ComponentModel;");
        Response.Output.WriteLine("");
        Response.Output.WriteLine("namespace Befri.Goldhoo.Models");
        Response.Output.WriteLine("{");
        Response.Output.Write("    /// ");
        Response.Output.WriteLine("<summary>");
        Response.Output.Write("    /// ");
        Response.Output.Write( Table.Text );
        Response.Output.WriteLine("数据实体类");
        Response.Output.Write("    /// 生成日期: ");
        Response.Output.Write( DateTime.Today.ToLongDateString() );
        Response.Output.Write(" ");
        Response.Output.Write( DateTime.Now.ToShortTimeString() );
        Response.Output.WriteLine("");
        Response.Output.Write("    ///");
        Response.Output.WriteLine("</summary>");
        Response.Output.Write("    /// ");
        Response.Output.WriteLine("<remarks>");
        Response.Output.WriteLine("    /// 该文件是由代码生成器自动生成的, 请不要随意修改, 你的修改将在代码重新生成时会被覆盖,");
        Response.Output.Write("    /// 如果要对该类进行修改, 请直接修改该分部类的");
        Response.Output.Write( Table.AliasName );
        Response.Output.WriteLine("文件(文件名不含.designer)");
        Response.Output.Write("	/// ");
        Response.Output.WriteLine("</remarks>");
        Response.Output.Write("    public partial class ");
        Response.Output.Write( Table.AliasName );
        Response.Output.WriteLine("");
        Response.Output.Write("    { ");
 foreach (ColumnSchema column in Table.Columns) {         Response.Output.WriteLine("");
        Response.Output.Write("		/// ");
        Response.Output.WriteLine("<summary>");
        Response.Output.Write("		///  获取或设置");
        Response.Output.Write( column.Text );
        Response.Output.WriteLine("");
        Response.Output.Write("		/// ");
        Response.Output.WriteLine("</summary>");
        Response.Output.Write("		public ");
        Response.Output.Write( column.CSDataType );
        Response.Output.Write(" ");
        Response.Output.Write( column.AliasName );
        Response.Output.WriteLine(" { get; set; }");
        Response.Output.Write("		");
 }         Response.Output.WriteLine("");
        Response.Output.WriteLine("	}");
        Response.Output.Write("}");
        this.EndGenerate();


     }
  }
}