Skip to content

Commit

Permalink
Merge pull request #92 from tfreitasleal/master
Browse files Browse the repository at this point in the history
Fix #89 and #58
  • Loading branch information
tfreitasleal committed Mar 27, 2018
2 parents 5e896f2 + 5fecf53 commit 76f503f
Show file tree
Hide file tree
Showing 31 changed files with 190 additions and 135 deletions.
21 changes: 15 additions & 6 deletions trunk/Solutions/CslaGenFork/CodeGen/CslaTemplateHelperCS.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5357,13 +5357,22 @@ public bool IsCriteriaObjectNeeded(CslaObjectInfo info)
select FactoryOrDataPortal(crit)).FirstOrDefault();
}

public bool IsCriteriaExtendedClassNeeded(CslaObjectInfo info)
public static bool IsCriteriaExtendedClassNeeded(CslaObjectInfo info)
{
return (from crit in info.CriteriaObjects
where crit.Properties.Count > 1 &&
crit.CriteriaClassMode != CriteriaMode.BusinessBase &&
crit.CriteriaClassMode != CriteriaMode.CustomCriteriaClass
select FactoryOrDataPortal(crit)).FirstOrDefault();
foreach (var criteria in info.CriteriaObjects)
{
if (IsCriteriaPartial(criteria))
return true;
}

return false;
}

public static bool IsCriteriaPartial(Criteria crit)
{
return crit.Properties.Count > 1 && FactoryOrDataPortal(crit) &&
(crit.CriteriaClassMode == CriteriaMode.BusinessBase ||
crit.CriteriaClassMode == CriteriaMode.CriteriaBase && !crit.NestedClass);
}

private static bool FactoryOrDataPortal(Criteria crit)
Expand Down
21 changes: 15 additions & 6 deletions trunk/Solutions/CslaGenFork/CodeGen/CslaTemplateHelperVB.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5373,13 +5373,22 @@ public bool IsCriteriaObjectNeeded(CslaObjectInfo info)
select FactoryOrDataPortal(crit)).FirstOrDefault();
}

public bool IsCriteriaExtendedClassNeeded(CslaObjectInfo info)
public static bool IsCriteriaExtendedClassNeeded(CslaObjectInfo info)
{
return (from crit in info.CriteriaObjects
where crit.Properties.Count > 1 &&
crit.CriteriaClassMode != CriteriaMode.BusinessBase &&
crit.CriteriaClassMode != CriteriaMode.CustomCriteriaClass
select FactoryOrDataPortal(crit)).FirstOrDefault();
foreach (var criteria in info.CriteriaObjects)
{
if (IsCriteriaPartial(criteria))
return true;
}

return false;
}

public static bool IsCriteriaPartial(Criteria crit)
{
return crit.Properties.Count > 1 && FactoryOrDataPortal(crit) &&
(crit.CriteriaClassMode == CriteriaMode.BusinessBase ||
crit.CriteriaClassMode == CriteriaMode.CriteriaBase && !crit.NestedClass);
}

private static bool FactoryOrDataPortal(Criteria crit)
Expand Down
3 changes: 3 additions & 0 deletions trunk/Solutions/CslaGenFork/Metadata/CslaObjectInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -1794,6 +1794,9 @@ internal string GetCslaBaseClassName(bool isBindingList)
return "ReadOnlyBase";
}

if (this.IsCriteriaClass())
return "CriteriaBase";

if (this.IsBaseClass())
return CslaBaseClass.NonGenericBaseClass();

Expand Down
1 change: 0 additions & 1 deletion trunk/Templates/CSLA40/CSharp/BaseClass.cst
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

<%@ CodeTemplate Inherits="CslaTemplateHelperCS" Language="CSharp" TargetLanguage="CSharp" Description="Generates a CSLA Editable Root Object." %>
<%@ Property Name="Info" Type="CslaObjectInfo" Optional="false" Category="Business Object" Description="Definition of the EditableRoot Object to create." %>
<%@ Property Name="Errors" Type="System.Text.StringBuilder" Optional="false" Category="Options" Description="Allows the template to return errors to master.cst" %>
Expand Down
5 changes: 2 additions & 3 deletions trunk/Templates/CSLA40/CSharp/BaseClassDeclaration.asp
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@

<%
String[] clauses = GetGenericWhereClause(Info);
if (Info.InheritedType.FinalName != string.Empty)
{
%><%= GetBaseClassDeclarationInheritedType(Info) %>
%><%= GetBaseClassDeclarationInheritedType(Info) + GetInterfaceDeclaration(Info) %>
<%
if (clauses.Length > 0)
{
Expand All @@ -20,7 +19,7 @@
}
else
{
%><%= GetBaseClassDeclaration(Info) %>
%><%= GetBaseClassDeclaration(Info) + GetInterfaceDeclaration(Info) %>
<%
if (clauses.Length > 0)
{
Expand Down
1 change: 0 additions & 1 deletion trunk/Templates/CSLA40/CSharp/Constructor.asp
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

<%
if (Info.GenerateConstructor)
{
Expand Down
9 changes: 4 additions & 5 deletions trunk/Templates/CSLA40/CSharp/Criteria.asp
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

<%
if (Info.CriteriaObjects.Count > 0)
{
Expand All @@ -12,14 +11,14 @@ if (Info.CriteriaObjects.Count > 0)
IndentLevel += 3;
%>

#region Criteria
#region Nested Criteria
<%
foreach (Criteria crit in Info.CriteriaObjects)
{
string strParams = string.Empty;
string strFieldAssignments = string.Empty;
string strComment = string.Empty;
if (crit.Properties.Count > 1)
if (crit.Properties.Count > 1 && crit.NestedClass)
{
%>

Expand Down Expand Up @@ -58,7 +57,7 @@ if (Info.CriteriaObjects.Count > 0)
else
{
%>
public <%= crit.CriteriaClassMode == CriteriaMode.BusinessBase ? "partial " : "" %>class <%= crit.Name %> : <%= crit.CriteriaClassMode != CriteriaMode.BusinessBase ? "CriteriaBase" : "BusinessBase" %><<%= crit.Name %>>
public <%= IsCriteriaPartial(crit) ? "partial " : "" %>class <%= crit.Name %> : <%= crit.CriteriaClassMode != CriteriaMode.BusinessBase ? "CriteriaBase" : "BusinessBase" %><<%= crit.Name %>>
<%
}
}
Expand All @@ -79,7 +78,7 @@ if (Info.CriteriaObjects.Count > 0)
else
{
%>
protected <%= crit.CriteriaClassMode == CriteriaMode.BusinessBase ? "partial " : "" %>class <%= crit.Name %> : <%= crit.CriteriaClassMode != CriteriaMode.BusinessBase ? "CriteriaBase" : "BusinessBase" %><<%= crit.Name %>>
protected <%= IsCriteriaPartial(crit) ? "partial " : "" %>class <%= crit.Name %> : <%= crit.CriteriaClassMode != CriteriaMode.BusinessBase ? "CriteriaBase" : "BusinessBase" %><<%= crit.Name %>>
<%
}
}
Expand Down
5 changes: 2 additions & 3 deletions trunk/Templates/CSLA40/CSharp/CriteriaObject.asp
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

<%
if (Info.CriteriaObjects.Count > 0)
{
Expand All @@ -18,7 +17,7 @@ if (Info.CriteriaObjects.Count > 0)
string strParams = string.Empty;
string strFieldAssignments = string.Empty;
string strComment = string.Empty;
if (crit.Properties.Count > 1)
if (crit.Properties.Count > 1 && !crit.NestedClass)
{
%>

Expand Down Expand Up @@ -46,7 +45,7 @@ if (Info.CriteriaObjects.Count > 0)
else
{
%>
public <%= crit.CriteriaClassMode == CriteriaMode.BusinessBase ? "partial " : "" %>class <%= crit.Name %> : <%= crit.CriteriaClassMode != CriteriaMode.BusinessBase ? "CriteriaBase" : "BusinessBase" %><<%= crit.Name %>>
public <%= IsCriteriaPartial(crit) ? "partial " : "" %>class <%= crit.Name %> : <%= crit.CriteriaClassMode != CriteriaMode.BusinessBase ? "CriteriaBase" : "BusinessBase" %><<%= crit.Name %>>
<%
}
%>
Expand Down
3 changes: 1 addition & 2 deletions trunk/Templates/CSLA40/CSharp/ExtendedFile.cst
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

<%@ CodeTemplate Inherits="CslaTemplateHelperCS" Language="CSharp" TargetLanguage="CSharp" Description="Generates a CSLA Inherited Object." %>
<%@ Property Name="Info" Type="CslaObjectInfo" Optional="false" Category="Business Object" Description="Definition of the CSLA Object to inherit from." %>
<%@ Property Name="Errors" Type="System.Text.StringBuilder" Optional="false" Category="Options" Description="Allows the template to return errors to master.cst" %>
Expand Down Expand Up @@ -374,7 +373,7 @@ if (IsCriteriaExtendedClassNeeded(Info))
<%
foreach (Criteria crit in Info.CriteriaObjects)
{
if (crit.Properties.Count > 1)
if (crit.Properties.Count > 1 && !crit.NestedClass)
{
%>

Expand Down
1 change: 0 additions & 1 deletion trunk/Templates/CSLA40/CSharp/XmlComment.asp
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

<%
string classType = "business object";
if (Info.ObjectType == CslaObjectType.BaseClass)
Expand Down
8 changes: 4 additions & 4 deletions trunk/Templates/CSLA40/VB/Criteria.asp
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,14 @@ if (Info.CriteriaObjects.Count > 0)
IndentLevel += 3;
%>

#Region " Criteria "
#Region " Nested Criteria "
<%
foreach (Criteria crit in Info.CriteriaObjects)
{
string strParams = string.Empty;
string strFieldAssignments = string.Empty;
string strComment = string.Empty;
if (crit.Properties.Count > 1)
if (crit.Properties.Count > 1 && crit.NestedClass)
{
%>

Expand Down Expand Up @@ -57,7 +57,7 @@ if (Info.CriteriaObjects.Count > 0)
else
{
%>
Public <%= crit.CriteriaClassMode == CriteriaMode.BusinessBase ? "Partial " : "" %>Class <%= crit.Name %>
Public <%= IsCriteriaPartial(crit) ? "Partial " : "" %>Class <%= crit.Name %>
Inherits <%= crit.CriteriaClassMode != CriteriaMode.BusinessBase ? "CriteriaBase" : "BusinessBase" %>(Of <%= crit.Name %>)
<%
}
Expand All @@ -79,7 +79,7 @@ if (Info.CriteriaObjects.Count > 0)
else
{
%>
Protected <%= crit.CriteriaClassMode == CriteriaMode.BusinessBase ? "Partial " : "" %>Class <%= crit.Name %>
Protected <%= IsCriteriaPartial(crit) ? "Partial " : "" %>Class <%= crit.Name %>
Inherits <%= crit.CriteriaClassMode != CriteriaMode.BusinessBase ? "CriteriaBase" : "BusinessBase" %>(Of <%= crit.Name %>)
<%
}
Expand Down
4 changes: 2 additions & 2 deletions trunk/Templates/CSLA40/VB/CriteriaObject.asp
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ if (Info.CriteriaObjects.Count > 0)
string strParams = string.Empty;
string strFieldAssignments = string.Empty;
string strComment = string.Empty;
if (crit.Properties.Count > 1)
if (crit.Properties.Count > 1 && !crit.NestedClass)
{
%>

Expand Down Expand Up @@ -45,7 +45,7 @@ if (Info.CriteriaObjects.Count > 0)
else
{
%>
Public <%= crit.CriteriaClassMode == CriteriaMode.BusinessBase ? "Partial " : "" %>Class <%= crit.Name %>
Public <%= IsCriteriaPartial(crit) ? "Partial " : "" %>Class <%= crit.Name %>
Inherits <%= crit.CriteriaClassMode != CriteriaMode.BusinessBase ? "CriteriaBase" : "BusinessBase" %>(Of <%= crit.Name %>)
<%
}
Expand Down
2 changes: 1 addition & 1 deletion trunk/Templates/CSLA40/VB/ExtendedFile.cst
Original file line number Diff line number Diff line change
Expand Up @@ -333,7 +333,7 @@ if (IsCriteriaExtendedClassNeeded(Info))
<%
foreach (Criteria crit in Info.CriteriaObjects)
{
if (crit.Properties.Count > 1)
if (crit.Properties.Count > 1 && !crit.NestedClass)
{
%>

Expand Down
39 changes: 1 addition & 38 deletions trunk/Templates/CSLA40DAL/CSharp/BaseClass.cst
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

<%@ CodeTemplate Inherits="CslaTemplateHelperCS" Language="CSharp" TargetLanguage="CSharp" Description="Generates a CSLA Editable Root Object." %>
<%@ Property Name="Info" Type="CslaObjectInfo" Optional="false" Category="Business Object" Description="Definition of the EditableRoot Object to create." %>
<%@ Property Name="Errors" Type="System.Text.StringBuilder" Optional="false" Category="Options" Description="Allows the template to return errors to master.cst" %>
Expand Down Expand Up @@ -56,43 +55,7 @@ namespace <%= GetContextObjectNamespace(Info, CurrentUnit, GenerationStep.Busine
}
%>
[Serializable]
<%
String[] clauses = GetGenericWhereClause(Info);
if (Info.InheritedType.FinalName != string.Empty)
{
%><%= GetBaseClassDeclarationInheritedType(Info) + GetInterfaceDeclaration(Info) %>
<%
if (clauses.Length > 0)
{
%>
<%= clauses[0] %>
<%
}
if (clauses.Length > 1)
{
%>
<%= clauses[1] %>
<%
}
}
else
{
%><%= GetBaseClassDeclaration(Info) + GetInterfaceDeclaration(Info) %>
<%
if (clauses.Length > 0)
{
%>
<%= clauses[0] %>
<%
}
if (clauses.Length > 1)
{
%>
<%= clauses[1] %>
<%
}
}
%>
<!-- #include file="BaseClassDeclaration.asp" -->
{
<%
if (CslaBaseClassesExtensions.IsNotListBaseClass(Info.CslaBaseClass))
Expand Down
37 changes: 37 additions & 0 deletions trunk/Templates/CSLA40DAL/CSharp/BaseClassDeclaration.asp
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
<%
String[] clauses = GetGenericWhereClause(Info);
if (Info.InheritedType.FinalName != string.Empty)
{
%><%= GetBaseClassDeclarationInheritedType(Info) + GetInterfaceDeclaration(Info) %>
<%
if (clauses.Length > 0)
{
%>
<%= clauses[0] %>
<%
}
if (clauses.Length > 1)
{
%>
<%= clauses[1] %>
<%
}
}
else
{
%><%= GetBaseClassDeclaration(Info) + GetInterfaceDeclaration(Info) %>
<%
if (clauses.Length > 0)
{
%>
<%= clauses[0] %>
<%
}
if (clauses.Length > 1)
{
%>
<%= clauses[1] %>
<%
}
}
%>
2 changes: 1 addition & 1 deletion trunk/Templates/CSLA40DAL/CSharp/Constructor.asp
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ if (Info.GenerateConstructor)
#region Constructor

/// <summary>
/// Initializes a new instance of the <see cref="<%= Info.ObjectName %>"/> class.
/// Initializes a new instance of the <see cref="<%= Info.GenericNameXml %>"/> class.
/// </summary>
/// <remarks> Do not use to create a <%= Info.IsUnitOfWork() ? "Unit of Work" : "Csla object" %>. Use factory methods instead.</remarks>
<%
Expand Down
8 changes: 4 additions & 4 deletions trunk/Templates/CSLA40DAL/CSharp/Criteria.asp
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,14 @@ if (Info.CriteriaObjects.Count > 0)
IndentLevel += 3;
%>

#region Criteria
#region Nested Criteria
<%
foreach (Criteria crit in Info.CriteriaObjects)
{
string strParams = string.Empty;
string strFieldAssignments = string.Empty;
string strComment = string.Empty;
if (crit.Properties.Count > 1)
if (crit.Properties.Count > 1 && crit.NestedClass)
{
%>

Expand Down Expand Up @@ -57,7 +57,7 @@ if (Info.CriteriaObjects.Count > 0)
else
{
%>
public <%= crit.CriteriaClassMode == CriteriaMode.BusinessBase ? "partial " : "" %>class <%= crit.Name %> : <%= crit.CriteriaClassMode != CriteriaMode.BusinessBase ? "CriteriaBase" : "BusinessBase" %><<%= crit.Name %>>
public <%= IsCriteriaPartial(crit) ? "partial " : "" %>class <%= crit.Name %> : <%= crit.CriteriaClassMode != CriteriaMode.BusinessBase ? "CriteriaBase" : "BusinessBase" %><<%= crit.Name %>>
<%
}
}
Expand All @@ -78,7 +78,7 @@ if (Info.CriteriaObjects.Count > 0)
else
{
%>
protected <%= crit.CriteriaClassMode == CriteriaMode.BusinessBase ? "partial " : "" %>class <%= crit.Name %> : <%= crit.CriteriaClassMode != CriteriaMode.BusinessBase ? "CriteriaBase" : "BusinessBase" %><<%= crit.Name %>>
protected <%= IsCriteriaPartial(crit) ? "partial " : "" %>class <%= crit.Name %> : <%= crit.CriteriaClassMode != CriteriaMode.BusinessBase ? "CriteriaBase" : "BusinessBase" %><<%= crit.Name %>>
<%
}
}
Expand Down
4 changes: 2 additions & 2 deletions trunk/Templates/CSLA40DAL/CSharp/CriteriaObject.asp
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ if (Info.CriteriaObjects.Count > 0)
string strParams = string.Empty;
string strFieldAssignments = string.Empty;
string strComment = string.Empty;
if (crit.Properties.Count > 1)
if (crit.Properties.Count > 1 && !crit.NestedClass)
{
%>

Expand Down Expand Up @@ -45,7 +45,7 @@ if (Info.CriteriaObjects.Count > 0)
else
{
%>
public <%= crit.CriteriaClassMode == CriteriaMode.BusinessBase ? "partial " : "" %>class <%= crit.Name %> : <%= crit.CriteriaClassMode != CriteriaMode.BusinessBase ? "CriteriaBase" : "BusinessBase" %><<%= crit.Name %>>
public <%= IsCriteriaPartial(crit) ? "partial " : "" %>class <%= crit.Name %> : <%= crit.CriteriaClassMode != CriteriaMode.BusinessBase ? "CriteriaBase" : "BusinessBase" %><<%= crit.Name %>>
<%
}
%>
Expand Down
Loading

0 comments on commit 76f503f

Please sign in to comment.