public void Interface(MyMeta.ITable table) { string tableName = table.Name; string args = ""; GenTable genTable = new GenTable(table, _context); string str = ""; str += _util.BuildModelClassWithNameSpace(tableName) + " GetById("; for (int i = 0; i < genTable.GetPrimaryKeyNames.Length; i++) { // type + " " + key name args += genTable.GetPrimaryKeyTypes[i] + " "; args += StringFormatter.CamelCasing(genTable.GetPrimaryKeyNames[i]) + ", "; } // trim the trailing ", " args = args.Substring(0, (args.Length - 2)); str += args; str += ");"; _output.tabLevel++; _output.tabLevel++; _output.autoTabLn(str); _output.tabLevel--; _output.tabLevel--; str = ""; str += "List<" + _util.BuildModelClassWithNameSpace(tableName) + "> GetAll(string sortExpression, int startRowIndex, int maximumRows);"; _output.tabLevel++; _output.tabLevel++; _output.autoTabLn(str); _output.tabLevel--; _output.tabLevel--; }
private void RenderConcreteClass(ITable table) { _hdrUtil.WriteClassHeader(_output); try { GenTable genTable = new GenTable(table, _context); string sortColumn = genTable.GetFirstStringColumnName(); _output.autoTabLn("using System;"); _output.autoTabLn("using System.Collections.Generic;"); _output.autoTabLn("using System.Linq;"); _output.autoTabLn("using System.Text;"); _output.autoTabLn(""); _output.autoTabLn("using " + _script.Settings.BusinessObjects.BusinessObjectsNamespace + ";"); _output.autoTabLn("using " + _script.Settings.ServiceLayer.ServiceNamespace + ".Interfaces;"); _output.autoTabLn("using " + _script.Settings.DataOptions.DataObjectsNamespace + ";"); _output.autoTabLn("using " + _script.Settings.DataOptions.DataObjectsNamespace + ".Interfaces;"); _output.autoTabLn(""); _output.autoTabLn("namespace " + _script.Settings.ServiceLayer.ServiceNamespace); _output.autoTabLn("{"); _output.autoTabLn(" public class " + StringFormatter.CleanUpClassName(table.Name) + "Service : " + StringFormatter.CleanUpClassName(table.Name) + "ServiceBase, I" + StringFormatter.CleanUpClassName(table.Name) + "Service"); _output.autoTabLn(" {"); _output.autoTabLn(""); _output.tabLevel++; _output.autoTabLn("#region Dependency Injection"); _output.tabLevel++; _output.autoTabLn(""); _output.tabLevel--; _output.autoTabLn("public " + StringFormatter.CleanUpClassName(table.Name) + "Service(I" + StringFormatter.CleanUpClassName(table.Name) + _script.Settings.DataOptions.ClassSuffix.Name + " " + StringFormatter.CleanUpClassName(table.Name) + _script.Settings.DataOptions.ClassSuffix.Name + "):base(" + StringFormatter.CleanUpClassName(table.Name) + _script.Settings.DataOptions.ClassSuffix.Name + ")"); _output.autoTabLn("{"); _output.autoTabLn("}"); _output.autoTabLn(""); _output.autoTabLn("#endregion"); _output.tabLevel--; _output.autoTabLn(""); _output.tabLevel++; _output.autoTabLn("#region I" + StringFormatter.CleanUpClassName(table.Name) + "Service Members"); _output.tabLevel--; _output.autoTabLn(""); _output.tabLevel++; _output.autoTabLn("public List<" + _context.Utility.BuildModelClassWithNameSpace(StringFormatter.CleanUpClassName(table.Name)) + "> GetAll(string sortExpression, int startRowIndex, int maximumRows)"); _output.autoTabLn("{"); _output.tabLevel++; _output.autoTabLn("if (string.IsNullOrEmpty(sortExpression))"); _output.tabLevel++; _output.autoTabLn("sortExpression = \"" + sortColumn + "\";"); _output.tabLevel--; _output.tabLevel--; _output.autoTabLn(""); _output.tabLevel++; _output.autoTabLn("return " + StringFormatter.CamelCasing(StringFormatter.CleanUpClassName(table.Name)) + _script.Settings.DataOptions.ClassSuffix.Name + ".GetAll(sortExpression, startRowIndex, maximumRows);"); _output.tabLevel--; _output.autoTabLn("}"); _output.tabLevel--; _output.autoTabLn(""); _output.tabLevel++; _output.autoTabLn("public int GetCount()"); _output.autoTabLn("{"); _output.tabLevel++; _output.autoTabLn("return " + StringFormatter.CamelCasing(StringFormatter.CleanUpClassName(table.Name)) + _script.Settings.DataOptions.ClassSuffix.Name + ".GetAll().Count;"); _output.tabLevel--; _output.autoTabLn("}"); _output.autoTabLn(""); _output.autoTabLn("public " + _context.Utility.BuildModelClassWithNameSpace(StringFormatter.CleanUpClassName(table.Name)) + " GetById(int Id)"); _output.autoTabLn("{"); _output.tabLevel++; _output.autoTabLn("return " + StringFormatter.CamelCasing(StringFormatter.CleanUpClassName(table.Name)) + _script.Settings.DataOptions.ClassSuffix.Name + ".GetById(Id);"); _output.tabLevel--; _output.autoTabLn("}"); _output.tabLevel--; _output.autoTabLn(""); _output.tabLevel++; _output.autoTabLn("#endregion"); _output.tabLevel--; _output.autoTabLn(" }"); _output.autoTabLn("}"); _context.FileList.Add(" " + StringFormatter.CleanUpClassName(table.Name) + "Service.cs"); SaveOutput(CreateFullPath(_script.Settings.ServiceLayer.ServiceNamespace, StringFormatter.CleanUpClassName(table.Name) + "Service.cs"), SaveActions.DontOverwrite); } catch (Exception ex) { throw new Exception("Error rendering ServiceLayer Concrete class - " + ex.Message); } }
public void GetById(MyMeta.ITable table) { string args = string.Empty; string keys = string.Empty; string tableName = table.Name; GenTable genTable = new GenTable(table, _context); _output.tabLevel++; _output.tabLevel++; _output.autoTabLn("/// <summary>"); _output.autoTabLn("/// GetById and map the fields to the Model."); _output.autoTabLn("/// </summary>"); for (int i = 0; i < genTable.GetPrimaryKeyNames.Length; i++) { _output.autoTabLn("/// <param name=\"" + StringFormatter.CamelCasing(genTable.GetPrimaryKeyNames[i]) + "\"></param>"); } _output.autoTabLn("/// <returns></returns>"); _output.autoTab("public " + _util.BuildModelClassWithNameSpace(StringFormatter.CleanUpClassName(tableName)) + " GetById("); for (int i = 0; i < genTable.GetPrimaryKeyNames.Length; i++) { // type + " " + key name args += genTable.GetPrimaryKeyTypes[i] + " "; args += StringFormatter.CamelCasing(genTable.GetPrimaryKeyNames[i]) + ", "; keys += StringFormatter.CamelCasing(genTable.GetPrimaryKeyNames[i]) + ", "; } // trim the trailing ", " args = args.Substring(0, (args.Length - 2)); keys = keys.Substring(0, (keys.Length - 2)); _output.write(args); _output.writeln(")"); _output.autoTabLn("{"); _output.tabLevel++; _output.autoTabLn("using (var context = DataContextFactory.CreateContext())"); _output.autoTabLn("{"); _output.tabLevel++; _output.autoTabLn("return " + StringFormatter.CleanUpClassName(tableName) + "Mapper.ToBusinessObject(context." + StringFormatter.MakePlural(StringFormatter.CleanUpClassName(tableName))); string[] keysSplit = keys.Split(','); foreach (string key in keysSplit) { _output.tabLevel++; _output.autoTabLn(".Where(o => o." + _util.CleanUpProperty(key) + " == " + key + ")"); } _output.autoTabLn(".SingleOrDefault());"); _output.tabLevel--; _output.tabLevel--; _output.autoTabLn("}"); _output.tabLevel--; _output.autoTabLn("}"); _output.tabLevel--; _output.tabLevel--; }