Portal signin via Control Instance
This commit is contained in:
@@ -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))
|
||||
|
||||
Reference in New Issue
Block a user