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); } }