Portal signin via Control Instance

This commit is contained in:
Andy Howard
2024-10-29 08:40:47 +00:00
parent bf6bb966bc
commit c5ee285e27
467 changed files with 25771 additions and 3347 deletions
@@ -13,6 +13,7 @@ using System;
using System.Collections.Generic;
using System.Data.Common;
using System.Linq;
using System.Text.RegularExpressions;
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
{
@@ -362,13 +363,12 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
}
//-------------------------------------------------------------------
// VehicleClass column definitions.
// Column definitions.
private static readonly String aliasVehicleClass = "aVehCla";
private static readonly String prefixVehicleClass = "VehCla_";
// VehilceCount DataName.
private static readonly String dataNameVehicleCount = "VehCount";
// Vehicle column definitions.
// Column definition population.
private void SetVehicleClassColDfn
(ColumnDfn col, String caption, int width, SbmDbDfn.ColumnIdx dbCol,
ColumnAlignment align = ColumnAlignment.Default, DataValue.DataType dataType = DataValue.DataType.String,
@@ -380,6 +380,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
if (dataType == DataValue.DataType.String && dbCol != SbmDbDfn.ColumnIdx.Unknown)
col.MaxLength = (int)SbmDbDfn.GetColTextLen(dbCol);
}
//-------------------------------------------------------------------
// Getting prm column definition.
public override ColumnDfn GetVehicleClassColumnDfn(SbmVehicleClass.Column columnId, string caption = "", int width = 0)
@@ -394,7 +395,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
columnDfn.Resizable = false;
break;
case SbmVehicleClass.Column.Id:
SetVehicleClassColDfn(columnDfn, "Id", 60, SbmDbDfn.ColumnIdx.SaVehicleClass_Id, ColumnAlignment.Right, DataValue.DataType.Long, aliasVehicleClass, prefixVehicleClass);
SetVehicleClassColDfn(columnDfn, "Id", 60, SbmDbDfn.ColumnIdx.SaVehicleClass_Id, ColumnAlignment.Right, DataValue.DataType.Long);
columnDfn.ReadOnly = true;
break;
@@ -506,69 +507,76 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
}
//-------------------------------------------------------------------
// VehicleClass query filter.
// Item query filter.
public override List<string> GetVehicleClassQueryFilter(SbmVehicleClass.Params prm)
{
List<String> filter = new List<String>();
// Vehicle Class Id.
String includedIds = prm.IncludedIds.Concat(",");
String colVehicleClass_Id = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleClass_Id, aliasVehicleClass);
if (!StringUtil.IsEmpty(includedIds))
filter.Add(colVehicleClass_Id + " IN (" + includedIds + ")");
String excludedIds = prm.ExcludedIds.Concat(",");
if (!StringUtil.IsEmpty(excludedIds))
filter.Add(colVehicleClass_Id + " NOT IN (" + excludedIds + ")");
String colId = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleClass_Id, aliasVehicleClass);
if (prm.IdsIncluded.HasValidIds())
filter.Add($"{colId} IN ({prm.IdsIncluded.Concat(",")})");
if (prm.IdsExcluded.HasValidIds())
filter.Add($"{colId} NOT IN ({prm.IdsExcluded.Concat(",")})");
// Generic search.
String colMakeCode = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleClass_MakeCode, aliasVehicleClass);
String colModel = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleClass_Model, aliasVehicleClass);
String colDerivative = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleClass_Derivative, aliasVehicleClass);
String colDescBrief = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleClass_DescBrief, aliasVehicleClass);
if (!StringUtil.IsBlank(prm.Search))
{
foreach (String search in Regex.Split(prm.Search, "[\\s,;\\-+]+"))
{
if (StringUtil.IsBlank(search)) continue;
String searchForLike = DbQuery.FormatForLike(search, true);
List<String> searchFilter = new List<string>();
searchFilter.Add($"{colModel} LIKE '%{searchForLike}%'");
searchFilter.Add($"{colDerivative} LIKE '%{searchForLike}%'");
searchFilter.Add($"{colDescBrief} LIKE '%{searchForLike}%'");
filter.Add(searchFilter.Concat(" OR ", "(", ")"));
}
}
// Make code.
String makeCode = DbQuery.FormatForCondition(prm.MakeCode);
String colVehicleClass_MakeCode = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleClass_MakeCode, aliasVehicleClass);
if (!StringUtil.IsEmpty(makeCode))
filter.Add(colVehicleClass_MakeCode + "='" + makeCode + "'");
if (!StringUtil.IsBlank(prm.MakeCode))
filter.Add($"{colMakeCode}='{DbQuery.FormatForCondition(prm.MakeCode)}'");
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// Model & ModelPartial.
String model = DbQuery.FormatForCondition(prm.Model);
String modelPartial = DbQuery.FormatForCondition(prm.ModelPartial);
String colVehicleClass_Model = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleClass_Model, aliasVehicleClass);
if (!StringUtil.IsEmpty(model))
filter.Add(colVehicleClass_Model + "='" + model + "'");
else if (!modelPartial.IsEmpty())
filter.Add(DbQuery.FormatFn_Left(colVehicleClass_Model, prm.ModelPartial.Length) + "='" + modelPartial + "'");
// Model.
if (!StringUtil.IsBlank(prm.Model))
filter.Add($"{colModel}='{DbQuery.FormatForCondition(prm.Model)}'");
else if (!prm.ModelPartial.IsEmpty())
filter.Add($"{colModel} Like '{DbQuery.FormatForLike(prm.ModelPartial)}'");
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// DescBrief & DescBrief Partial.
// Description.
String descBrief = DbQuery.FormatForCondition(prm.DescBrief);
String descBriefPartial = DbQuery.FormatForCondition(prm.DescBriefPartial);
String colVehicleClass_DescBrief = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleClass_DescBrief, aliasVehicleClass);
if (!StringUtil.IsEmpty(descBrief))
filter.Add(colVehicleClass_DescBrief + "='" + descBrief + "'");
else if (!StringUtil.IsEmpty(descBriefPartial))
filter.Add(DbQuery.FormatFn_Left(colVehicleClass_DescBrief, prm.DescBriefPartial.Length) + "='" + descBriefPartial + "'");
if (!StringUtil.IsBlank(descBrief))
filter.Add(colDescBrief + "='" + descBrief + "'");
else if (!StringUtil.IsBlank(descBriefPartial))
filter.Add(DbQuery.FormatFn_Left(colDescBrief, prm.DescBriefPartial.Length) + "='" + descBriefPartial + "'");
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// Vehicle Category code.
String colVehicleClass_VehicleCategoryCode = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleClass_VehicleCategoryCode, aliasVehicleClass);
if (!StringUtil.IsEmpty(prm.VehicleCategoryCode))
if (!StringUtil.IsBlank(prm.VehicleCategoryCode))
filter.Add(DbQuery.FormatFn_Left(colVehicleClass_VehicleCategoryCode, prm.VehicleCategoryCode.Length) + "='" + DbQuery.FormatForCondition(prm.VehicleCategoryCode) + "'");
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// Restrict to active.
// Status.
String colVehicleClass_Status = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleClass_Status, aliasVehicleClass);
if (prm.RestrictToActive)
filter.Add(colVehicleClass_Status + "='" + SacsSystem.GetStatusDesc(SaStatus.Active) + "'");
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// Status Active&Canelled Only.
if (prm.StatusCat == SbmVehicleClass.StatusCat.ActiveOnly)
filter.Add(colVehicleClass_Status + "='" + SacsSystem.GetStatusDesc(SaStatus.Active) + "'");
else if (prm.StatusCat == SbmVehicleClass.StatusCat.CancelledOnly)
filter.Add(colVehicleClass_Status + "='" + SacsSystem.GetStatusDesc(SaStatus.Cancelled) + "'");
else if (prm.StatusCat == SbmVehicleClass.StatusCat.InactiveOnly)
filter.Add(colVehicleClass_Status + "='" + SacsSystem.GetStatusDesc(SaStatus.Inactive) + "'");
else if (prm.StatusCat == SbmVehicleClass.StatusCat.NotDeleted)
filter.Add(colVehicleClass_Status + "!='" + SacsSystem.GetStatusDesc(SaStatus.Deleted) + "'");
else if (prm.StatusCat == SbmVehicleClass.StatusCat.DeletedOnly)
filter.Add(colVehicleClass_Status + "='" + SacsSystem.GetStatusDesc(SaStatus.Deleted) + "'");
if (filter.Count < 1 && prm.IncludeDefaultFilter) filter.Add("1=1");
return filter;
}
// VehicleClass sort columns.
// Item sort columns.
public List<String> GetVehicleClassSortColumns(SbmVehicleClass.Params prm)
{
// Sort sequence:
@@ -597,13 +605,14 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
if (sortColumnCodes.IsEmpty())
{
// Default sort columns:
sortColumnCodes.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleClass_VehicleType, aliasVehicleClass) + " ASC");
sortColumnCodes.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleClass_MakeCode, aliasVehicleClass) + " ASC");
sortColumnCodes.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleClass_Model, aliasVehicleClass) + " ASC");
}
return sortColumnCodes;
}
//-------------------------------------------------------------------
// VehicleClass count.
// Item count.
private long GetVehicleClassCount(String filter)
{
ClearErrorState();
@@ -616,7 +625,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
}
//-------------------------------------------------------------------
// VehicleClass list.
// Item list.
public override List<SbmVehicleClass> GetVehicleClassList(SbmVehicleClass.Params prm)
{
ClearErrorState();
@@ -716,7 +725,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
// Populate filter.
query.Filters.AddRange(GetVehicleClassQueryFilter(prm));
if (prm.IncludedIds.Count != 1)
if (prm.IdsIncluded.Count != 1)
{
// Configure sort sequence.
foreach (String sortColumn in GetVehicleClassSortColumns(prm))