private static void GenerateModel() { TextInfo textInfo = new CultureInfo("en-US", false).TextInfo; DataTable tables = Islemler.GetTables(); foreach (DataRow item in tables.Rows) { string Content = string.Empty; string TableName = item["TABLE_NAME"].ToString(); string FolderName = item["FOLDER_NAME"].ToString(); string Columns = string.Empty; TableName = textInfo.ToTitleCase(textInfo.ToLower(TableName)).Replace("_", ""); Content = @"using bilisimHR.DataLayer.Core.Entities." + FolderName + @"; using bilisimHR.DataLayer.Core.Repositories." + FolderName + @"; using NHibernate; namespace " + Namespace + FolderName + @" { public class " + TableName + @"Repository : RepositoryBase<" + TableName + @", int>, I" + TableName + @"Repository { public " + TableName + @"Repository(ISessionFactory sessionFactory) : base(sessionFactory) { //... } } } "; CreateFiles(TableName + @"Repository", FolderName, Content); } }
private static void GenerateModel() { TextInfo textInfo = new CultureInfo("en-US", false).TextInfo; DataTable tables = Islemler.GetTables(); foreach (DataRow item in tables.Rows) { string Content = string.Empty; string TableName = item["TABLE_NAME"].ToString(); string FolderName = item["FOLDER_NAME"].ToString(); string Columns = string.Empty; TableName = textInfo.ToTitleCase(textInfo.ToLower(TableName)).Replace("_", ""); Content = @"using bilisimHR.Common.Core; using bilisimHR.DataLayer.Core.Entities." + FolderName + @"; using System; using System.Collections.Generic; namespace " + Namespace + FolderName + @" { public interface I" + TableName + @"Repository : IRepository<" + TableName + @", int> { //... } }"; CreateFiles("I" + TableName + @"Repository", FolderName, Content); } }
private static void GenerateModel() { TextInfo textInfo = new CultureInfo("en-US", false).TextInfo; DataTable tables = Islemler.GetTables(); foreach (DataRow item in tables.Rows) { string Content = string.Empty; string TableName = item["TABLE_NAME"].ToString(); string FolderName = item["FOLDER_NAME"].ToString(); string Columns = string.Empty; TableName = textInfo.ToTitleCase(textInfo.ToLower(TableName)).Replace("_", ""); string ServiceName = TableName.Substring(0, 1).ToLower() + TableName.Substring(1, TableName.Length - 1); Content = @"using bilisimHR.Business.Model." + FolderName + @"; using bilisimHR.Common.Core; using System.Collections.Generic; using System.Threading.Tasks; namespace " + Namespace + FolderName + @".Interfaces { public interface I" + TableName + @"Service : IService { Task<object> InsertAsync(" + TableName + @"Model model); Task UpdateAsync(" + TableName + @"Model model); Task DeleteAsync(int id); Task<IList<" + TableName + @"Model>> GetAllAsync(); Task<" + TableName + @"Model> GetAsync(int id); } } "; CreateFiles("I" + TableName + @"Service", FolderName, Content); } }
private static void GenerateEntities() { TextInfo textInfo = new CultureInfo("en-US", false).TextInfo; DataTable tables = Islemler.GetTables(); foreach (DataRow item in tables.Rows) { string Content = string.Empty; string TableName = item["TABLE_NAME"].ToString(); string FolderName = item["FOLDER_NAME"].ToString(); string Columns = string.Empty; DataTable columns = Islemler.GetColumnsNotInPK(TableName); DataTable ForeingKeys = Islemler.GetFK(TableName); DataTable Referances = Islemler.GetRef(TableName); TableName = textInfo.ToTitleCase(textInfo.ToLower(TableName)).Replace("_", ""); foreach (DataRow Col in columns.Rows) { string ColumnName = textInfo.ToTitleCase(textInfo.ToLower(Col["COLUMN_NAME"].ToString())).Replace("_", ""); string DbType = Col["DATA_TYPE"].ToString(); string DataType = string.Empty; switch (DbType) { case "NUMBER": if (string.IsNullOrEmpty(Col["DATA_SCALE"].ToString()) || Col["DATA_SCALE"].ToString() == "0") { DataType = "int"; } else { DataType = "decimal"; } break; case "CHAR": DataType = "string"; break; case "VARCHAR2": DataType = "string"; break; case "DATE": DataType = "DateTime"; break; case "LONG": DataType = "string"; break; case "LONG RAW": DataType = "string"; break; case "BLOB": DataType = "string"; break; case "CLOB": DataType = "string"; break; default: DataType = "string"; break; } Columns += @" public virtual " + DataType + " " + ColumnName + " { get; set; }"; } string FKs = string.Empty; foreach (DataRow fk in ForeingKeys.Rows) { FKs += Environment.NewLine + Environment.NewLine + "\t\tpublic virtual " + textInfo.ToTitleCase(textInfo.ToLower(fk["R_TABLE_NAME"].ToString())).Replace("_", "") + " " + textInfo.ToTitleCase(textInfo.ToLower(fk["R_TABLE_NAME"].ToString())).Replace("_", "") + " { get; set; }"; } string Refs = string.Empty; foreach (DataRow r in Referances.Rows) { Refs += Environment.NewLine + Environment.NewLine + "\t\tpublic virtual IList<" + textInfo.ToTitleCase(textInfo.ToLower(r["TABLE_NAME"].ToString())).Replace("_", "") + "> " + textInfo.ToTitleCase(textInfo.ToLower(r["TABLE_NAME"].ToString())).Replace("_", "") + " { get; set; }"; } Content = @"using System; using bilisimHR.Common.Core.Entity; using System.Collections.Generic; namespace " + Namespace + FolderName + @" { public class " + TableName + @" : Entity<int> {" + Columns + FKs + Refs + @" } } "; CreateFiles(TableName, FolderName, Content); } }
private static void GenerateModel() { TextInfo textInfo = new CultureInfo("en-US", false).TextInfo; DataTable tables = Islemler.GetTables(); foreach (DataRow item in tables.Rows) { string Content = string.Empty; string TableName = item["TABLE_NAME"].ToString(); string FolderName = item["FOLDER_NAME"].ToString(); string Columns = string.Empty; DataTable ForeingKeys = Islemler.GetFK(TableName); TableName = textInfo.ToTitleCase(textInfo.ToLower(TableName)).Replace("_", ""); string ServiceName = TableName.Substring(0, 1).ToLower() + TableName.Substring(1, TableName.Length - 1); string x = "private readonly I" + TableName + @"Repository _" + ServiceName + @"Repository;"; string y = "I" + TableName + @"Repository " + ServiceName + @"Repository"; string z = "_" + ServiceName + @"Repository = " + ServiceName + @"Repository;"; string a = string.Empty; int row = 0; foreach (DataRow fk in ForeingKeys.Rows) { row++; string FkTableName = fk["R_TABLE_NAME"].ToString(); FkTableName = textInfo.ToTitleCase(textInfo.ToLower(FkTableName)).Replace("_", ""); string FkServiceName = FkTableName.Substring(0, 1).ToLower() + FkTableName.Substring(1, FkTableName.Length - 1); string FkColumnName = textInfo.ToTitleCase(textInfo.ToLower(fk["COLUMN_NAME"].ToString())).Replace("_", ""); x += @" private readonly I" + FkTableName + @"Repository _" + FkServiceName + @"Repository;"; y += ", I" + FkTableName + @"Repository " + FkServiceName + @"Repository"; z += @" _" + FkServiceName + @"Repository = " + FkServiceName + @"Repository;"; a += FkTableName + @" pk" + row + @" = _" + FkServiceName + @"Repository.Get((int)model." + FkColumnName + @"); dto." + FkTableName + @" = pk" + row + @"; if (pk" + row + @" == null) throw new ArgumentNullException(""" + FkColumnName + @" ArgumentNullException Insert Async""); "; } Content = @"using bilisimHR.DataLayer.Core.Repositories." + FolderName + @"; using bilisimHR.Services." + FolderName + @".Interfaces; using System; using System.Collections.Generic; using System.Threading.Tasks; using bilisimHR.Business.Model." + FolderName + @"; using bilisimHR.DataLayer.Core.Entities." + FolderName + @"; using bilisimHR.Common.Core.AutoMapping; namespace bilisimHR.Services." + FolderName + @".Classes { public class " + TableName + @"Service : I" + TableName + @"Service { " + x + @" public " + TableName + @"Service(" + y + @") { " + z + @" } public Task DeleteAsync(int id) { _" + ServiceName + @"Repository.Delete(id); return Task.FromResult<object>(null); } public Task<IList<" + TableName + @"Model>> GetAllAsync() { var dal = _" + ServiceName + @"Repository.GetAll(); if (dal == null) return Task.FromResult<IList<" + TableName + @"Model>>(null); else { IList<" + TableName + @"Model> modelList = new List<" + TableName + @"Model>(); foreach (var user in dal) modelList.Add(AutoMapperGenericHelper<" + TableName + @", " + TableName + @"Model>.Convert(user)); return Task.FromResult<IList<" + TableName + @"Model>>(modelList); //IQueryable<" + TableName + @"Model> modelList = AutoMapperGenericHelper<" + TableName + @", " + TableName + @"Model>.ConvertAsQueryable(dal); //return Task.FromResult<IList<" + TableName + @"Model>>(modelList.ToList()); } } public Task<" + TableName + @"Model> GetAsync(int id) { var dal = _" + ServiceName + @"Repository.Get(id); if (dal == null) return Task.FromResult<" + TableName + @"Model>(null); else { " + TableName + @"Model model = AutoMapperGenericHelper<" + TableName + @", " + TableName + @"Model>.Convert(dal); return Task.FromResult(model); } } public Task<object> InsertAsync(" + TableName + @"Model model) { if (model == null) throw new ArgumentNullException(""" + TableName + @"Model ArgumentNullException Insert Async""); " + TableName + @" dto = AutoMapperGenericHelper<" + TableName + @"Model, " + TableName + @">.Convert(model); " + a + @" var id = _" + ServiceName + @"Repository.Insert(dto); return Task.FromResult<object>(id); } public Task UpdateAsync(" + TableName + @"Model model) { if (model == null) throw new ArgumentNullException(""" + TableName + @"Model ArgumentNullException Insert Async""); " + TableName + @" dto = AutoMapperGenericHelper<" + TableName + @"Model, " + TableName + @">.Convert(model); " + a + @" _" + ServiceName + @"Repository.Update(dto); return Task.FromResult<object>(null); } } } "; CreateFiles(TableName + @"Service", FolderName, Content); } }
private static void GenerateModel() { TextInfo textInfo = new CultureInfo("en-US", false).TextInfo; DataTable tables = Islemler.GetTables(); foreach (DataRow item in tables.Rows) { string Content = string.Empty; string TableName = item["TABLE_NAME"].ToString(); string FolderName = item["FOLDER_NAME"].ToString(); string Columns = string.Empty; DataTable columns = Islemler.GetColumnsNotInPK(TableName); DataTable ForeingKeys = Islemler.GetFK(TableName); DataTable Referances = Islemler.GetRef(TableName); TableName = textInfo.ToTitleCase(textInfo.ToLower(TableName)).Replace("_", ""); foreach (DataRow Col in columns.Rows) { string ColumnName = textInfo.ToTitleCase(textInfo.ToLower(Col["COLUMN_NAME"].ToString())).Replace("_", ""); string DbType = Col["DATA_TYPE"].ToString(); string DataType = string.Empty; switch (DbType) { case "NUMBER": DataType = "decimal"; break; case "CHAR": DataType = "string"; break; case "VARCHAR2": DataType = "string"; break; case "DATE": DataType = "DateTime"; break; case "LONG": DataType = "string"; break; case "LONG RAW": DataType = "string"; break; case "BLOB": DataType = "string"; break; case "CLOB": DataType = "string"; break; default: DataType = "string"; break; } Columns += @" Map(x => x." + ColumnName + @").Column(""" + Col["COLUMN_NAME"].ToString() + @""")" + (Col["NULLABLE"].ToString() == "N" ? ".Not" : string.Empty) + @".Nullable();"; } string FKs = string.Empty; foreach (DataRow fk in ForeingKeys.Rows) { FKs += Environment.NewLine + "\t\t\tReferences(x => x." + textInfo.ToTitleCase(textInfo.ToLower(fk["R_TABLE_NAME"].ToString())).Replace("_", "") + @").Column(""" + fk["COLUMN_NAME"].ToString() + @""");"; } string Refs = string.Empty; foreach (DataRow r in Referances.Rows) { Refs += Environment.NewLine + Environment.NewLine + @"\t\t\tHasMany(x => x." + textInfo.ToTitleCase(textInfo.ToLower(r["TABLE_NAME"].ToString())).Replace("_", "") + @").KeyColumn(""" + r["COLUMN_NAME"].ToString() + @""").Inverse().Cascade.None().ForeignKeyConstraintName(""" + r["CONSTRAINT_NAME"].ToString() + @""");"; } Content = @"using bilisimHR.Common.Helper; using bilisimHR.DataLayer.Core.Entities." + FolderName + @"; namespace " + Namespace + FolderName + @" { public class " + TableName + @"Map: EntityBaseMap<" + TableName + @"> { public " + TableName + @"Map() { Table(""" + item["TABLE_NAME"].ToString() + @"""); LazyLoad(); " + Columns + FKs + Refs + @" } } } "; CreateFiles(TableName + "Map", FolderName, Content); } }
private static void GenerateModel() { TextInfo textInfo = new CultureInfo("en-US", false).TextInfo; DataTable tables = Islemler.GetTables(); foreach (DataRow item in tables.Rows) { string Content = string.Empty; string TableName = item["TABLE_NAME"].ToString(); string FolderName = item["FOLDER_NAME"].ToString().ToLower(); string Columns = string.Empty; DataTable columns = Islemler.GetColumnsFull(TableName); //DataTable ForeingKeys = Islemler.GetFK(TableName); //DataTable Referances = Islemler.GetRef(TableName); TableName = textInfo.ToTitleCase(textInfo.ToLower(TableName)).Replace("_", ""); foreach (DataRow Col in columns.Rows) { string ColumnName = textInfo.ToTitleCase(textInfo.ToLower(Col["COLUMN_NAME"].ToString())).Replace("_", ""); string DbType = Col["DATA_TYPE"].ToString(); string DataType = string.Empty; switch (DbType) { case "NUMBER": DataType = "number"; break; case "CHAR": DataType = "string"; break; case "VARCHAR2": DataType = "string"; break; case "DATE": DataType = "Date"; break; case "LONG": DataType = "string"; break; case "LONG RAW": DataType = "string"; break; case "BLOB": DataType = "string"; break; case "CLOB": DataType = "string"; break; default: DataType = "string"; break; } Columns += @" " + ColumnName + ": " + DataType + ";"; } //string FKs = string.Empty; //foreach (DataRow fk in ForeingKeys.Rows) //{ // FKs += Environment.NewLine + Environment.NewLine + "\t\tpublic " + textInfo.ToTitleCase(textInfo.ToLower(fk["R_TABLE_NAME"].ToString())).Replace("_", "") + "Model " + textInfo.ToTitleCase(textInfo.ToLower(fk["R_TABLE_NAME"].ToString())).Replace("_", "") + " { get; }"; //} //string Refs = string.Empty; //foreach (DataRow r in Referances.Rows) //{ // Refs += Environment.NewLine + Environment.NewLine + "\t\tpublic virtual IList<" + textInfo.ToTitleCase(textInfo.ToLower(r["TABLE_NAME"].ToString())).Replace("_", "") + "Model> " + textInfo.ToTitleCase(textInfo.ToLower(r["TABLE_NAME"].ToString())).Replace("_", "") + " { get; set; }"; //} Content = @"export class " + TableName + @" {" + Columns + @" }"; CreateFiles(TableName, FolderName, Content); } }
private static void GenerateModel() { TextInfo textInfo = new CultureInfo("en-US", false).TextInfo; DataTable tables = Islemler.GetTables(); foreach (DataRow item in tables.Rows) { string Content = string.Empty; string TableName = item["TABLE_NAME"].ToString(); string FolderName = item["FOLDER_NAME"].ToString(); string Columns = string.Empty; TableName = textInfo.ToTitleCase(textInfo.ToLower(TableName)).Replace("_", ""); string ServiceName = TableName.Substring(0, 1).ToLower() + TableName.Substring(1, TableName.Length - 1); Content = @"using bilisimHR.Business.Model." + FolderName + @"; using bilisimHR.Common.Core; using bilisimHR.Services." + FolderName + @".Interfaces; using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Web; using System.Web.Http; namespace " + Namespace + FolderName + @".Controllers { [RoutePrefix(""api/" + TableName + @""")] public class " + TableName + @"Controller : ApiController { #region -Initiating- private ICoreLogger _logger; private I" + TableName + @"Service _" + ServiceName + @"Service; /// <summary> /// " + TableName + @"Controller Constructor /// </summary> /// <param name=""logger""></param> /// <param name=""" + ServiceName + @"Service""></param> public " + TableName + @"Controller(ICoreLogger logger, I" + TableName + @"Service " + ServiceName + @"Service) { _logger = logger; _" + ServiceName + @"Service = " + ServiceName + @"Service; } #endregion // GET: api/" + TableName + @" /// <summary> /// Get All " + TableName + @" /// </summary> /// <returns></returns> [HttpGet] [Route("""")] [Description(""Get All " + TableName + @""")] public IHttpActionResult GetAll() { try { return Ok(_" + ServiceName + @"Service.GetAllAsync().Result); } catch (Exception ex) { return InternalServerError(ex); } return Ok(); } /// <summary> /// Get " + TableName + @" By ID /// </summary> /// <param name=""id""></param> /// <returns></returns> [HttpGet] [Route(""{id:int}"")] [Description(""Get " + TableName + @" By ID"")] public IHttpActionResult Get(int id) { try { return Ok(_" + ServiceName + @"Service.GetAsync(id).Result); } catch (Exception ex) { return InternalServerError(ex); } return Ok(); } // POST: api/" + TableName + @" /// <summary> /// Create New " + TableName + @" /// </summary> /// <param name=""model""></param> /// <returns></returns> [HttpPost] [AllowAnonymous] [Route(""Post"")] [Description(""Create New " + TableName + @""")] public IHttpActionResult Post(" + TableName + @"Model model) { try { if (!ModelState.IsValid) return BadRequest(ModelState); _" + ServiceName + @"Service.InsertAsync(model); return Ok(); } catch (Exception ex) { return InternalServerError(ex); } } // PUT: api/" + TableName + @"/5 /// <summary> /// Update " + TableName + @" /// </summary> /// <param name=""model""></param> /// <returns></returns> [HttpPut] [Route(""Put"")] [Description(""Update " + TableName + @""")] public IHttpActionResult Put(" + TableName + @"Model model) { try { if (!ModelState.IsValid) return BadRequest(ModelState); _" + ServiceName + @"Service.UpdateAsync(model); return Ok(); } catch (Exception ex) { return InternalServerError(ex); } } // DELETE: api/" + TableName + @"/5 /// <summary> /// Delete " + TableName + @" By ID /// </summary> /// <param name=""id""></param> /// <returns></returns> [HttpDelete] [Route(""Delete/{id}"")] [Description(""Delete Employee By ID"")] public IHttpActionResult Delete(int id) { try { _" + ServiceName + @"Service.DeleteAsync(id); return Ok(); } catch (Exception ex) { return InternalServerError(ex); } } } } "; CreateFiles(TableName + @"Controller", FolderName, Content); } }
private static void GenerateModel() { TextInfo textInfo = new CultureInfo("en-US", false).TextInfo; DataTable tables = Islemler.GetTables(); foreach (DataRow item in tables.Rows) { string Content = string.Empty; string TableName = item["TABLE_NAME"].ToString(); string FolderName = item["FOLDER_NAME"].ToString(); string Columns = string.Empty; DataTable columns = Islemler.GetColumns(TableName); DataTable ForeingKeys = Islemler.GetFK(TableName); DataTable Referances = Islemler.GetRef(TableName); TableName = textInfo.ToTitleCase(textInfo.ToLower(TableName)).Replace("_", ""); foreach (DataRow Col in columns.Rows) { string ColumnName = textInfo.ToTitleCase(textInfo.ToLower(Col["COLUMN_NAME"].ToString())).Replace("_", ""); string DbType = Col["DATA_TYPE"].ToString(); string DataType = string.Empty; switch (DbType) { case "NUMBER": DataType = "decimal"; break; case "CHAR": DataType = "string"; break; case "VARCHAR2": DataType = "string"; break; case "DATE": DataType = "DateTime"; break; case "LONG": DataType = "string"; break; case "LONG RAW": DataType = "string"; break; case "BLOB": DataType = "string"; break; case "CLOB": DataType = "string"; break; default: DataType = "string"; break; } Columns += @" " + (Col["NULLABLE"].ToString() == "N" ? Environment.NewLine + "\t\t[Required]" : string.Empty) + @" public " + DataType + " " + ColumnName + " { get; set; }"; } string FKs = string.Empty; foreach (DataRow fk in ForeingKeys.Rows) { FKs += Environment.NewLine + Environment.NewLine + "\t\tpublic " + textInfo.ToTitleCase(textInfo.ToLower(fk["R_TABLE_NAME"].ToString())).Replace("_", "") + "Model " + textInfo.ToTitleCase(textInfo.ToLower(fk["R_TABLE_NAME"].ToString())).Replace("_", "") + " { get; }"; } string Refs = string.Empty; foreach (DataRow r in Referances.Rows) { Refs += Environment.NewLine + Environment.NewLine + "\t\tpublic virtual IList<" + textInfo.ToTitleCase(textInfo.ToLower(r["TABLE_NAME"].ToString())).Replace("_", "") + "Model> " + textInfo.ToTitleCase(textInfo.ToLower(r["TABLE_NAME"].ToString())).Replace("_", "") + " { get; set; }"; } Content = @"using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; namespace " + Namespace + FolderName + @" { public class " + TableName + @"Model : BaseModel<uint> {" + Columns + FKs + Refs + @" } } "; CreateFiles(TableName + "Model", FolderName, Content); } }