コード例 #1
0
        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);
            }
        }