chore: update errors

This commit is contained in:
Wendell Muntslag 2024-06-20 09:48:12 +02:00
parent fc06dd83a9
commit 08c46f55a9
6 changed files with 119 additions and 137 deletions

View File

@ -20,8 +20,9 @@
</RadzenColumn> </RadzenColumn>
<RadzenColumn SizeMD="9"> <RadzenColumn SizeMD="9">
<RadzenAutoComplete Data="@Properties" @bind-Value="@coreRuleCriterion.Property" <RadzenAutoComplete Data="@Properties" @bind-Value="@coreRuleCriterion.Property"
Placeholder="Choose property or type your own" style="display: block; width: 100%" Name="Property" Placeholder="Choose property or type your own" style="display: block; width: 100%" Name="Property"
/> />
<RadzenTextBox style="display: block; width: 100%" @bind-Value="@coreRuleCriterion.Property" Name="Value" class="rz-pa-1" />
</RadzenColumn> </RadzenColumn>
</RadzenRow> </RadzenRow>
<RadzenRow style="margin-bottom: 1rem"> <RadzenRow style="margin-bottom: 1rem">

View File

@ -4,146 +4,135 @@
<RadzenStack> <RadzenStack>
<RadzenRow AlignItems="AlignItems.Center"> <RadzenRow AlignItems="AlignItems.Center">
<RadzenColumn Size="12" SizeMD="6"> <RadzenColumn Size="12" SizeMD="6">
<RadzenText Text="CoreRules" TextStyle="TextStyle.H3" TagName="TagName.H1" style="margin: 0" /> <RadzenText Text="CoreRules" TextStyle="TextStyle.H3" TagName="TagName.H1" style="margin: 0"/>
</RadzenColumn> </RadzenColumn>
<RadzenColumn Size="12" SizeMD="6"> <RadzenColumn Size="12" SizeMD="6">
<RadzenStack Orientation="Orientation.Horizontal" AlignItems="AlignItems.Center" JustifyContent="JustifyContent.End" Gap="0.5rem"> <RadzenStack Orientation="Orientation.Horizontal" AlignItems="AlignItems.Center" JustifyContent="JustifyContent.End" Gap="0.5rem">
<RadzenButton Icon="build" Text="Generate" Click="@GenerateButtonClick" Variant="Variant.Flat" /> <RadzenButton Icon="build" Text="Generate" Click="@GenerateButtonClick" Variant="Variant.Flat"/>
<RadzenButton Icon="add_circle_outline" Text="Add" Click="@AddButtonClick" Variant="Variant.Flat"/> <RadzenButton Icon="add_circle_outline" Text="Add" Click="@AddButtonClick" Variant="Variant.Flat"/>
</RadzenStack> </RadzenStack>
</RadzenColumn> </RadzenColumn>
</RadzenRow> </RadzenRow>
<RadzenRow> <RadzenRow>
<RadzenColumn SizeMD=12> <RadzenColumn SizeMD="12">
<RadzenDataGrid @ref="grid0" ColumnWidth="200px" ExpandMode=DataGridExpandMode.Single AllowFiltering="true" FilterMode="FilterMode.Advanced" AllowPaging="true" AllowSorting="true" ShowPagingSummary="true" PageSizeOptions=@(new int[]{5, 10, 20, 30}) <RadzenDataGrid @ref="grid0" ColumnWidth="200px" ExpandMode="DataGridExpandMode.Single" AllowFiltering="true" FilterMode="FilterMode.Advanced" AllowPaging="true" AllowSorting="true" ShowPagingSummary="true" PageSizeOptions="@(new[] { 5, 10, 20, 30 })"
Data="@coreRules" TItem="ILoan.Rules.Web.Models.Rules.CoreRule" RowSelect="@EditRow" RowExpand="@GetChildData"> Data="@coreRules" TItem="CoreRule" RowSelect="@EditRow" RowExpand="@GetChildData">
<Columns> <Columns>
<RadzenDataGridColumn TItem="ILoan.Rules.Web.Models.Rules.CoreRule" Property="ID" Title="ID"> <RadzenDataGridColumn TItem="CoreRule" Property="ID" Title="ID">
</RadzenDataGridColumn> </RadzenDataGridColumn>
<RadzenDataGridColumn TItem="ILoan.Rules.Web.Models.Rules.CoreRule" Property="RuleName" Title="Rule Name"> <RadzenDataGridColumn TItem="CoreRule" Property="RuleName" Title="Rule Name">
</RadzenDataGridColumn> </RadzenDataGridColumn>
<RadzenDataGridColumn TItem="ILoan.Rules.Web.Models.Rules.CoreRule" Property="Source" Title="Source"> <RadzenDataGridColumn TItem="CoreRule" Property="Source" Title="Source">
</RadzenDataGridColumn> </RadzenDataGridColumn>
<RadzenDataGridColumn TItem="ILoan.Rules.Web.Models.Rules.CoreRule" Property="DefaultThreshold" Title="Default Threshold"> <RadzenDataGridColumn TItem="CoreRule" Property="DefaultThreshold" Title="Default Threshold">
</RadzenDataGridColumn> </RadzenDataGridColumn>
<RadzenDataGridColumn TItem="ILoan.Rules.Web.Models.Rules.CoreRule" Property="Blocked" Title="Blocked"> <RadzenDataGridColumn TItem="CoreRule" Property="Blocked" Title="Blocked">
</RadzenDataGridColumn> </RadzenDataGridColumn>
<RadzenDataGridColumn TItem="ILoan.Rules.Web.Models.Rules.CoreRule" Property="TriggersManualReview" Title="Triggers Manual Review"> <RadzenDataGridColumn TItem="CoreRule" Property="TriggersManualReview" Title="Triggers Manual Review">
</RadzenDataGridColumn> </RadzenDataGridColumn>
<RadzenDataGridColumn TItem="ILoan.Rules.Web.Models.Rules.CoreRule" Property="SuggestedResolution" Title="Suggested Resolution"> <RadzenDataGridColumn TItem="CoreRule" Property="SuggestedResolution" Title="Suggested Resolution">
</RadzenDataGridColumn> </RadzenDataGridColumn>
<RadzenDataGridColumn TItem="ILoan.Rules.Web.Models.Rules.CoreRule" Property="TriggerReason" Title="Trigger Reason"> <RadzenDataGridColumn TItem="CoreRule" Property="TriggerReason" Title="Trigger Reason">
</RadzenDataGridColumn> </RadzenDataGridColumn>
<RadzenDataGridColumn TItem="ILoan.Rules.Web.Models.Rules.CoreRule" Property="UseLastRecord" Title="Use Last Record"> <RadzenDataGridColumn TItem="CoreRule" Property="UseLastRecord" Title="Use Last Record">
</RadzenDataGridColumn> </RadzenDataGridColumn>
<RadzenDataGridColumn TItem="ILoan.Rules.Web.Models.Rules.CoreRule" Property="ApplicantType" Title="Applicant Type"> <RadzenDataGridColumn TItem="CoreRule" Property="ApplicantType" Title="Applicant Type">
</RadzenDataGridColumn> </RadzenDataGridColumn>
<RadzenDataGridColumn TItem="ILoan.Rules.Web.Models.Rules.CoreRule" Property="FilterOnClickthrough" Title="Filter On Clickthrough"> <RadzenDataGridColumn TItem="CoreRule" Property="FilterOnClickthrough" Title="Filter On Clickthrough">
</RadzenDataGridColumn> </RadzenDataGridColumn>
<RadzenDataGridColumn TItem="ILoan.Rules.Web.Models.Rules.CoreRule" Property="RunBeforeStatus" Title="Run Before Status"> <RadzenDataGridColumn TItem="CoreRule" Property="RunBeforeStatus" Title="Run Before Status">
</RadzenDataGridColumn> </RadzenDataGridColumn>
<RadzenDataGridColumn TItem="ILoan.Rules.Web.Models.Rules.CoreRule" Property="DisplaySection" Title="Display Section"> <RadzenDataGridColumn TItem="CoreRule" Property="DisplaySection" Title="Display Section">
</RadzenDataGridColumn> </RadzenDataGridColumn>
<RadzenDataGridColumn TItem="ILoan.Rules.Web.Models.Rules.CoreRule" Property="WarningField" Title="Warning Field"> <RadzenDataGridColumn TItem="CoreRule" Property="WarningField" Title="Warning Field">
</RadzenDataGridColumn> </RadzenDataGridColumn>
<RadzenDataGridColumn TItem="ILoan.Rules.Web.Models.Rules.CoreRule" Property="DutchRuleName" Title="Dutch Rule Name"> <RadzenDataGridColumn TItem="CoreRule" Property="DutchRuleName" Title="Dutch Rule Name">
</RadzenDataGridColumn> </RadzenDataGridColumn>
<RadzenDataGridColumn TItem="ILoan.Rules.Web.Models.Rules.CoreRule" Property="DutchTriggerReason" Title="Dutch Trigger Reason"> <RadzenDataGridColumn TItem="CoreRule" Property="DutchTriggerReason" Title="Dutch Trigger Reason">
</RadzenDataGridColumn> </RadzenDataGridColumn>
<RadzenDataGridColumn TItem="ILoan.Rules.Web.Models.Rules.CoreRule" Property="DutchSuggestedResolution" Title="Dutch Suggested Resolution"> <RadzenDataGridColumn TItem="CoreRule" Property="DutchSuggestedResolution" Title="Dutch Suggested Resolution">
</RadzenDataGridColumn> </RadzenDataGridColumn>
<RadzenDataGridColumn TItem="ILoan.Rules.Web.Models.Rules.CoreRule" Property="DutchFilterOnClickthrough" Title="Dutch Filter On Clickthrough"> <RadzenDataGridColumn TItem="CoreRule" Property="DutchFilterOnClickthrough" Title="Dutch Filter On Clickthrough">
</RadzenDataGridColumn> </RadzenDataGridColumn>
<RadzenDataGridColumn TItem="ILoan.Rules.Web.Models.Rules.CoreRule" Property="RuleExplanation" Title="Rule Explanation"> <RadzenDataGridColumn TItem="CoreRule" Property="RuleExplanation" Title="Rule Explanation">
</RadzenDataGridColumn> </RadzenDataGridColumn>
<RadzenDataGridColumn TItem="ILoan.Rules.Web.Models.Rules.CoreRule" Property="DutchRuleExplanation" Title="Dutch Rule Explanation"> <RadzenDataGridColumn TItem="CoreRule" Property="DutchRuleExplanation" Title="Dutch Rule Explanation">
</RadzenDataGridColumn> </RadzenDataGridColumn>
<RadzenDataGridColumn TItem="ILoan.Rules.Web.Models.Rules.CoreRule" Property="WorkItemId" Title="Work Item Id"> <RadzenDataGridColumn TItem="CoreRule" Property="WorkItemId" Title="Work Item Id">
</RadzenDataGridColumn> </RadzenDataGridColumn>
<RadzenDataGridColumn TItem="ILoan.Rules.Web.Models.Rules.CoreRule" Property="Title" Title="Title"> <RadzenDataGridColumn TItem="CoreRule" Property="Title" Title="Title">
</RadzenDataGridColumn> </RadzenDataGridColumn>
<RadzenDataGridColumn TItem="ILoan.Rules.Web.Models.Rules.CoreRule" Property="update" Title="update"> <RadzenDataGridColumn TItem="CoreRule" Property="update" Title="update">
</RadzenDataGridColumn> </RadzenDataGridColumn>
<RadzenDataGridColumn TItem="ILoan.Rules.Web.Models.Rules.CoreRule" Filterable="false" Sortable="false" Width="70px" TextAlign="TextAlign.Center"> <RadzenDataGridColumn TItem="CoreRule" Filterable="false" Sortable="false" Width="70px" TextAlign="TextAlign.Center">
<Template Context="coreRule"> <Template Context="coreRule">
<RadzenButton ButtonStyle="ButtonStyle.Danger" Icon="delete" Size="ButtonSize.Medium" <RadzenButton ButtonStyle="ButtonStyle.Danger" Icon="delete" Size="ButtonSize.Medium"
Shade="Shade.Lighter" Variant="Variant.Flat" Shade="Shade.Lighter" Variant="Variant.Flat"
Click=@(args => GridDeleteButtonClick(args, coreRule)) @onclick:stopPropagation="true" /> Click="@(args => GridDeleteButtonClick(args, coreRule))"@onclick:stopPropagation="true"/>
</Template> </Template>
</RadzenDataGridColumn> </RadzenDataGridColumn>
</Columns> </Columns>
<Template Context="coreRule"> <Template Context="coreRule">
<RadzenStack Class="rz-my-8"> <RadzenStack Class="rz-my-8">
<RadzenRow Gap="0" AlignItems="AlignItems.Center"> <RadzenRow Gap="0" AlignItems="AlignItems.Center">
<RadzenColumn Size="12" SizeMD="6"> <RadzenColumn Size="12" SizeMD="6">
<RadzenText Visible="@(coreRuleChild != null)" Text="CoreRuleCriteria" TextStyle="TextStyle.H4" TagName="TagName.H2" style="margin: 0" /> <RadzenText Visible="@(coreRuleChild != null)" Text="CoreRuleCriteria" TextStyle="TextStyle.H4" TagName="TagName.H2" style="margin: 0"/>
<RadzenStack Orientation="Orientation.Horizontal" AlignItems="AlignItems.Center" JustifyContent="JustifyContent.Start" Gap="0.5rem"> <RadzenStack Orientation="Orientation.Horizontal" AlignItems="AlignItems.Center" JustifyContent="JustifyContent.Start" Gap="0.5rem">
<RadzenButton Visible="true" Icon="add_circle_outline" Text="Add" Click=@(args => CoreRuleCriteriaAddButtonClick(args, coreRuleChild))/> <RadzenButton Visible="true" Icon="add_circle_outline" Text="Add" Click="@(args => CoreRuleCriteriaAddButtonClick(args, coreRuleChild))"/>
</RadzenStack> </RadzenStack>
</RadzenColumn> </RadzenColumn>
</RadzenRow> </RadzenRow>
<RadzenDataGrid ColumnWidth="200px" Visible="@(coreRuleChild != null)" @ref=CoreRuleCriteriaDataGrid AllowFiltering="true" FilterMode="Radzen.FilterMode.Advanced" AllowPaging="true" AllowSorting="true" ShowPagingSummary="true" PageSizeOptions=@(new int[]{5, 10, 20, 30}) <RadzenDataGrid ColumnWidth="50px" Visible="@(coreRuleChild != null)" @ref="CoreRuleCriteriaDataGrid" AllowFiltering="true" FilterMode="FilterMode.Advanced" AllowPaging="true" AllowSorting="true" ShowPagingSummary="true" PageSizeOptions="@(new[] { 5, 10, 20, 30 })"
Data="@coreRuleChild?.CoreRuleCriteria" TItem="ILoan.Rules.Web.Models.Rules.CoreRuleCriterion" RowSelect="@(args => CoreRuleCriteriaRowSelect(args, coreRuleChild))"> Data="@coreRuleChild?.CoreRuleCriteria" TItem="CoreRuleCriterion" RowSelect="@(args => CoreRuleCriteriaRowSelect(args, coreRuleChild))">
<Columns> <Columns>
<RadzenDataGridColumn TItem="ILoan.Rules.Web.Models.Rules.CoreRuleCriterion" Property="ID" Title="ID"> <RadzenDataGridColumn TItem="CoreRuleCriterion" Property="ID" Title="ID" Width="15px" />
</RadzenDataGridColumn> <RadzenDataGridColumn TItem="CoreRuleCriterion" Title="Description">
<RadzenDataGridColumn TItem="ILoan.Rules.Web.Models.Rules.CoreRuleCriterion" Property="CoreRule.RuleName" Title="Core Rule"> <Template Context="coreRuleCriterionChild">
</RadzenDataGridColumn> @(coreRuleCriterionChild.Property + " " + coreRuleCriterionChild.Comparison + " " + coreRuleCriterionChild.Value)
<RadzenDataGridColumn TItem="ILoan.Rules.Web.Models.Rules.CoreRuleCriterion" Property="Property" Title="Property"> </Template>
</RadzenDataGridColumn> </RadzenDataGridColumn>
<RadzenDataGridColumn TItem="ILoan.Rules.Web.Models.Rules.CoreRuleCriterion" Property="Comparison" Title="Comparison"> <RadzenDataGridColumn TItem="CoreRuleCriterion" Property="ValueIsProperty" Title="Value Is Property" Width="10px" />
</RadzenDataGridColumn> <RadzenDataGridColumn TItem="CoreRuleCriterion" Property="ReturnCount" Title="Return Count" Width="10px" />
<RadzenDataGridColumn TItem="ILoan.Rules.Web.Models.Rules.CoreRuleCriterion" Property="Value" Title="Value"> <RadzenDataGridColumn TItem="CoreRuleCriterion" Property="IsThresholdCriterium" Title="Is Threshold Criterium" Width="10px" />
</RadzenDataGridColumn> <RadzenDataGridColumn TItem="CoreRuleCriterion" Property="CoreRule.RuleName" Title="Core Rule" />
<RadzenDataGridColumn TItem="ILoan.Rules.Web.Models.Rules.CoreRuleCriterion" Property="ValueIsProperty" Title="Value Is Property"> <RadzenDataGridColumn TItem="CoreRuleCriterion" Filterable="false" Sortable="false" Width="70px" TextAlign="TextAlign.Center">
</RadzenDataGridColumn> <Template Context="coreRuleCriterionChild">
<RadzenDataGridColumn TItem="ILoan.Rules.Web.Models.Rules.CoreRuleCriterion" Property="ReturnCount" Title="Return Count"> <RadzenButton ButtonStyle="ButtonStyle.Danger" Icon="delete" Size="ButtonSize.Medium" Shade="Shade.Lighter" Variant="Variant.Flat"
</RadzenDataGridColumn> Click="@(args => CoreRuleCriteriaDeleteButtonClick(args, coreRuleCriterionChild))"@onclick:stopPropagation="true"/>
<RadzenDataGridColumn TItem="ILoan.Rules.Web.Models.Rules.CoreRuleCriterion" Property="IsThresholdCriterium" Title="Is Threshold Criterium"> </Template>
</RadzenDataGridColumn> </RadzenDataGridColumn>
<RadzenDataGridColumn TItem="ILoan.Rules.Web.Models.Rules.CoreRuleCriterion" Filterable="false" Sortable="false" Width="70px" TextAlign="TextAlign.Center"> </Columns>
<Template Context="coreRuleCriterionChild">
<RadzenButton ButtonStyle="ButtonStyle.Danger" Icon="delete" Size="ButtonSize.Medium" Shade="Shade.Lighter" Variant="Variant.Flat"
Click=@(args => CoreRuleCriteriaDeleteButtonClick(args, coreRuleCriterionChild)) @onclick:stopPropagation="true" />
</Template>
</RadzenDataGridColumn>
</Columns>
</RadzenDataGrid> </RadzenDataGrid>
</RadzenStack> </RadzenStack>
<RadzenStack Class="rz-my-8"> <RadzenStack Class="rz-my-8">
<RadzenRow Gap="0" AlignItems="AlignItems.Center"> <RadzenRow Gap="0" AlignItems="AlignItems.Center">
<RadzenColumn Size="12" SizeMD="6"> <RadzenColumn Size="12" SizeMD="6">
<RadzenText Visible="@(coreRuleChild != null)" Text="CoreRuleCriteriaOperators" TextStyle="TextStyle.H4" TagName="TagName.H2" style="margin: 0" /> <RadzenText Visible="@(coreRuleChild != null)" Text="CoreRuleCriteriaOperators" TextStyle="TextStyle.H4" TagName="TagName.H2" style="margin: 0"/>
<RadzenStack Orientation="Orientation.Horizontal" AlignItems="AlignItems.Center" JustifyContent="JustifyContent.Start" Gap="0.5rem"> <RadzenStack Orientation="Orientation.Horizontal" AlignItems="AlignItems.Center" JustifyContent="JustifyContent.Start" Gap="0.5rem">
<RadzenButton Visible="true" Icon="add_circle_outline" Text="Add" Click=@(args => CoreRuleCriteriaOperatorsAddButtonClick(args,coreRuleChild)) /> <RadzenButton Visible="true" Icon="add_circle_outline" Text="Add" Click="@(args => CoreRuleCriteriaOperatorsAddButtonClick(args, coreRuleChild))"/>
</RadzenStack> </RadzenStack>
</RadzenColumn> </RadzenColumn>
</RadzenRow> </RadzenRow>
<RadzenDataGrid ColumnWidth="200px" Visible="@(coreRuleChild != null)" @ref=CoreRuleCriteriaOperatorsDataGrid AllowFiltering="true" FilterMode="Radzen.FilterMode.Advanced" AllowPaging="true" AllowSorting="true" ShowPagingSummary="true" PageSizeOptions=@(new int[]{5, 10, 20, 30}) <RadzenDataGrid ColumnWidth="200px" Visible="@(coreRuleChild != null)" @ref="CoreRuleCriteriaOperatorsDataGrid" AllowFiltering="true" FilterMode="FilterMode.Advanced" AllowPaging="true" AllowSorting="true" ShowPagingSummary="true" PageSizeOptions="@(new[] { 5, 10, 20, 30 })"
Data="@coreRuleChild?.CoreRuleCriteriaOperators" TItem="ILoan.Rules.Web.Models.Rules.CoreRuleCriteriaOperator" RowSelect="@(args => CoreRuleCriteriaOperatorsRowSelect(args, coreRuleChild))"> Data="@coreRuleChild?.CoreRuleCriteriaOperators" TItem="CoreRuleCriteriaOperator" RowSelect="@(args => CoreRuleCriteriaOperatorsRowSelect(args, coreRuleChild))">
<Columns> <Columns>
<RadzenDataGridColumn TItem="ILoan.Rules.Web.Models.Rules.CoreRuleCriteriaOperator" Property="ID" Title="ID"> <RadzenDataGridColumn TItem="CoreRuleCriteriaOperator" Property="ID" Title="ID" Width="15px" />
</RadzenDataGridColumn> <RadzenDataGridColumn TItem="CoreRuleCriteriaOperator" Property="Operator1" Title="Operator1" Width="15px" />
<RadzenDataGridColumn TItem="ILoan.Rules.Web.Models.Rules.CoreRuleCriteriaOperator" Property="CoreRule.RuleName" Title="Core Rule"> <RadzenDataGridColumn TItem="CoreRuleCriteriaOperator" Property="CoreRule.RuleName" Title="Core Rule" />
</RadzenDataGridColumn> <RadzenDataGridColumn TItem="CoreRuleCriteriaOperator" Filterable="false" Sortable="false" Width="70px" TextAlign="TextAlign.Center">
<RadzenDataGridColumn TItem="ILoan.Rules.Web.Models.Rules.CoreRuleCriteriaOperator" Property="Operator1" Title="Operator1"> <Template Context="coreRuleCriteriaOperatorChild">
</RadzenDataGridColumn> <RadzenButton ButtonStyle="ButtonStyle.Danger" Icon="delete" Size="ButtonSize.Medium" Shade="Shade.Lighter" Variant="Variant.Flat"
<RadzenDataGridColumn TItem="ILoan.Rules.Web.Models.Rules.CoreRuleCriteriaOperator" Filterable="false" Sortable="false" Width="70px" TextAlign="TextAlign.Center"> Click="@(args => CoreRuleCriteriaOperatorsDeleteButtonClick(args, coreRuleCriteriaOperatorChild))"@onclick:stopPropagation="true"/>
<Template Context="coreRuleCriteriaOperatorChild"> </Template>
</RadzenDataGridColumn>
<RadzenButton ButtonStyle="ButtonStyle.Danger" Icon="delete" Size="ButtonSize.Medium" Shade="Shade.Lighter" Variant="Variant.Flat" </Columns>
Click=@(args => CoreRuleCriteriaOperatorsDeleteButtonClick(args, coreRuleCriteriaOperatorChild)) @onclick:stopPropagation="true" />
</Template>
</RadzenDataGridColumn>
</Columns>
</RadzenDataGrid> </RadzenDataGrid>
</RadzenStack> </RadzenStack>
</Template> </Template>
</RadzenDataGrid> </RadzenDataGrid>
</RadzenColumn> </RadzenColumn>
</RadzenRow> </RadzenRow>
</RadzenStack> </RadzenStack>

View File

@ -22,6 +22,7 @@
<RadzenColumn SizeMD="9"> <RadzenColumn SizeMD="9">
<RadzenDropDown TValue="string" Data="@Properties" @bind-Value="@coreRuleCriterion.Property" AllowClear=true <RadzenDropDown TValue="string" Data="@Properties" @bind-Value="@coreRuleCriterion.Property" AllowClear=true
Placeholder="Choose property" style="display: block; width: 100%" Name="Property" /> Placeholder="Choose property" style="display: block; width: 100%" Name="Property" />
<RadzenTextBox style="display: block; width: 100%" @bind-Value="@coreRuleCriterion.Property" Name="Value" class="rz-pa-1" />
</RadzenColumn> </RadzenColumn>
</RadzenRow> </RadzenRow>
<RadzenRow style="margin-bottom: 1rem"> <RadzenRow style="margin-bottom: 1rem">

View File

@ -2,20 +2,11 @@
namespace ILoan.Rules.Web.Services; namespace ILoan.Rules.Web.Services;
public class RuleFileGeneratorService public class RuleFileGeneratorService(RulesContext context, IConfiguration configuration)
{ {
private readonly RulesContext _context; private readonly int _startRuleId = configuration.GetValue<int>("Parameters:StartRuleId");
private readonly int _startRuleId; private int _startSeq = configuration.GetValue<int>("Parameters:StartSeqNo");
private int _startSeq; private readonly string _root = configuration.GetValue<string>("Parameters:GeneratorRoot");
private readonly string _root;
public RuleFileGeneratorService(RulesContext context, IConfiguration configuration)
{
_context = context;
_startRuleId = configuration.GetValue<int>("Parameters:StartRuleId");
_startSeq = configuration.GetValue<int>("Parameters:StartSeqNo");
_root = configuration.GetValue<string>("Parameters:GeneratorRoot");
}
public async Task GenerateRuleFilesAsync() public async Task GenerateRuleFilesAsync()
{ {
@ -25,13 +16,13 @@ public class RuleFileGeneratorService
if (!Directory.Exists(_root)) Directory.CreateDirectory(_root); if (!Directory.Exists(_root)) Directory.CreateDirectory(_root);
} }
var rules = await _context.CoreRules var rules = await context.CoreRules
.Include(r => r.CoreRuleCriteria) .Include(r => r.CoreRuleCriteria)
.Include(r => r.CoreRuleCriteriaOperators) .Include(r => r.CoreRuleCriteriaOperators)
.Where(rule => rule.ID >= _startRuleId) .Where(rule => rule.ID >= _startRuleId)
.ToListAsync(); .ToListAsync();
foreach (var rule in rules.OrderBy(x => x.ID)) foreach (var rule in rules.Where(r => r.ID is >= 511 and <= 513).OrderBy(x => x.ID))
{ {
var fileName = $"V2.{_startSeq:000}__{rule.WorkItemId}_Rules_{rule.ID}_{rule.Title}.sql"; var fileName = $"V2.{_startSeq:000}__{rule.WorkItemId}_Rules_{rule.ID}_{rule.Title}.sql";
@ -90,7 +81,7 @@ INSERT INTO core.""Core_RuleCriteria"" (
sqlBuilder.AppendLine($@" sqlBuilder.AppendLine($@"
INSERT INTO core.""Core_RuleCriteriaOperator"" ( INSERT INTO core.""Core_RuleCriteriaOperator"" (
""ID"", ""RuleID"", ""Operator"" ""ID"", ""RuleID"", ""Operator""
) OVERRIDING SYSTEM VALUE ( ) OVERRIDING SYSTEM VALUE VALUES (
{coreRuleCriteriaOperator.ID}, {coreRuleCriteriaOperator.RuleID}, '{EscapeSingleQuote(coreRuleCriteriaOperator.Operator1)}' {coreRuleCriteriaOperator.ID}, {coreRuleCriteriaOperator.RuleID}, '{EscapeSingleQuote(coreRuleCriteriaOperator.Operator1)}'
); );
"); ");

View File

@ -193,7 +193,7 @@ public partial class RulesService(IDbContextFactory<RulesContext> factory, Navig
public async Task<IQueryable<CoreRule>> GetCoreRules(Query query = null) public async Task<IQueryable<CoreRule>> GetCoreRules(Query query = null)
{ {
var context = await factory.CreateDbContextAsync(); var context = await factory.CreateDbContextAsync();
var items = context.CoreRules.AsQueryable(); var items = context.CoreRules.OrderBy(r=>r.ID).AsQueryable();
if (query != null) if (query != null)

View File

@ -18,7 +18,7 @@
}, },
"Parameters": { "Parameters": {
"GeneratorRoot": "C:\\iloan\\iloan-base-dev\\migrations", "GeneratorRoot": "C:\\iloan\\iloan-base-dev\\migrations",
"StartSeqNo": 117, "StartSeqNo": 137,
"StartRuleId": 480 "StartRuleId": 480
} }
} }