BusinessMgr

This commit is contained in:
Andy Howard
2024-11-26 11:35:04 +00:00
parent 804a3bd853
commit 48348d64b5
19 changed files with 247 additions and 261 deletions
@@ -21,19 +21,19 @@ namespace Sarand.Net.Standard.Dbas.ReferenceData
// L a n g u a g e s
//*******************************************************************
// Create Language.
public override SaLanguage CreateLanguage ()
public override SaLanguage CreateLanguage()
{
ClearErrorState();
return new SaLanguage_Dbas(null, 0);
}
private SaLanguage_Dbas CreateLanguage (Language_Db dbLanguage)
private SaLanguage_Dbas CreateLanguage(Language_Db dbLanguage)
{
ClearErrorState();
SaLanguage_Dbas language = new SaLanguage_Dbas(new SysId(dbLanguage._Id), 0);
PopulateFrom(dbLanguage, language);
return language;
}
private SaLanguage CreateLanguage (DbDataReader dataReader)
private SaLanguage CreateLanguage(DbDataReader dataReader)
{
Language_Db dbLanguage = new Language_Db(DbInfo);
dbLanguage.PopulateFrom(dataReader);
@@ -42,13 +42,13 @@ namespace Sarand.Net.Standard.Dbas.ReferenceData
//-------------------------------------------------------------------
// Language exists.
public override bool LanguageExistsById (SysId id)
public override bool LanguageExistsById(SysId id)
{
ClearErrorState();
if (!SysId.IsValid(id)) return false;
return GetLanguageCount(SaReferenceDataDbDfn.GetColumnNameQual(SaReferenceDataDbDfn.ColumnIdx.Language_Id, aliasLanguage) + "=" + SysId.ToString(id)) == 1;
}
public override bool LanguageExistsByCode (string code)
public override bool LanguageExistsByCode(string code)
{
ClearErrorState();
if (StringUtil.IsEmpty(code)) return false;
@@ -57,11 +57,11 @@ namespace Sarand.Net.Standard.Dbas.ReferenceData
//-------------------------------------------------------------------
// Get Language.
public override SaLanguage GetLanguage (SaLanguage.Params prm)
public override SaLanguage GetLanguage(SaLanguage.Params prm)
{
return GetLanguage(GetLanguageQueryFilter(prm).Concat(" AND ", "(", ")"));
}
private SaLanguage GetLanguage (String filter)
private SaLanguage GetLanguage(String filter)
{
ClearErrorState();
long count = GetLanguageCount(filter);
@@ -91,13 +91,13 @@ namespace Sarand.Net.Standard.Dbas.ReferenceData
}
return language;
}
public override SaLanguage GetLanguageById (SysId id)
public override SaLanguage GetLanguageById(SysId id)
{
ClearErrorState();
if (!SysId.IsValid(id)) return null;
return GetLanguage("Id=" + SysId.ToString(id));
}
public override SaLanguage GetLanguageByCode (string code)
public override SaLanguage GetLanguageByCode(string code)
{
ClearErrorState();
if (StringUtil.IsEmpty(code)) return null;
@@ -106,7 +106,7 @@ namespace Sarand.Net.Standard.Dbas.ReferenceData
//-------------------------------------------------------------------
// Validate item.
public override bool IsValidLanguageData (SaLanguage.Data data, SaLanguage.ErrField errField)
public override bool IsValidLanguageData(SaLanguage.Data data, SaLanguage.ErrField errField)
{
ClearErrorState();
if (!base.IsValidLanguageData(data, errField)) return false;
@@ -115,7 +115,7 @@ namespace Sarand.Net.Standard.Dbas.ReferenceData
//-------------------------------------------------------------------
// Insert item.
public override bool InsertLanguage (SaLanguage language, DbUpdateInfo dbUpdateInfo)
public override bool InsertLanguage(SaLanguage language, DbUpdateInfo dbUpdateInfo)
{
ClearErrorState();
if (!IsValidLanguage(language)) return false;
@@ -143,7 +143,7 @@ namespace Sarand.Net.Standard.Dbas.ReferenceData
//-------------------------------------------------------------------
// Update item.
public override bool UpdateLanguage (SaLanguage language, DbUpdateInfo dbUpdateInfo)
public override bool UpdateLanguage(SaLanguage language, DbUpdateInfo dbUpdateInfo)
{
ClearErrorState();
if (!IsValidLanguage(language)) return false;
@@ -172,13 +172,13 @@ namespace Sarand.Net.Standard.Dbas.ReferenceData
//-------------------------------------------------------------------
// Delete item.
public override bool LanguageCanBeDeleted (SaLanguage language)
public override bool LanguageCanBeDeleted(SaLanguage language)
{
ClearErrorState();
if (!base.LanguageCanBeDeleted(language)) return false;
return true;
}
public override bool DeleteLanguage (SaLanguage language, DbUpdateInfo dbUpdateInfo)
public override bool DeleteLanguage(SaLanguage language, DbUpdateInfo dbUpdateInfo)
{
ClearErrorState();
if (!LanguageCanBeDeleted(language)) return false;
@@ -203,7 +203,7 @@ namespace Sarand.Net.Standard.Dbas.ReferenceData
//-------------------------------------------------------------------
// Copy data properties to and from database.
private void PopulateTo (Language_Db dbLanguage, SaLanguage language, DbUpdateInfo dbUpdateInfo)
private void PopulateTo(Language_Db dbLanguage, SaLanguage language, DbUpdateInfo dbUpdateInfo)
{
dbLanguage._Id = language.Id.ToInt();
dbLanguage._Code = language.Code;
@@ -226,7 +226,7 @@ namespace Sarand.Net.Standard.Dbas.ReferenceData
dbLanguage._UpdateBy = dbUpdateInfo.UserId.ToInt();
dbLanguage._UpdateHost = dbUpdateInfo.Host;
}
private void PopulateFrom (Language_Db dbLanguage, SaLanguage language)
private void PopulateFrom(Language_Db dbLanguage, SaLanguage language)
{
//language.Id = new SysId(dbLanguage._Id);
//language.Code = dbLanguage._Code;
@@ -245,7 +245,7 @@ namespace Sarand.Net.Standard.Dbas.ReferenceData
//-------------------------------------------------------------------
// Language column definitions.
private static readonly String aliasLanguage = "aLng";
private static readonly String aliasLanguage = "aLng";
private void SetLanguageColDfn
(ColumnDfn col, String caption, int width, SaReferenceDataDbDfn.ColumnIdx dbCol,
ColumnAlignment align = ColumnAlignment.Default, DataValue.DataType dataType = DataValue.DataType.String,
@@ -259,7 +259,7 @@ namespace Sarand.Net.Standard.Dbas.ReferenceData
}
//-------------------------------------------------------------------
// Getting language column definition.
public override ColumnDfn GetLanguageColumnDfn (SaLanguage.Column columnId, string caption = "", int width = 0)
public override ColumnDfn GetLanguageColumnDfn(SaLanguage.Column columnId, string caption = "", int width = 0)
{
ColumnDfn columnDfn = new ColumnDfn((int)columnId, caption, width);
switch (columnId)
@@ -352,39 +352,40 @@ namespace Sarand.Net.Standard.Dbas.ReferenceData
//-------------------------------------------------------------------
// Language query filter.
public override List<string> GetLanguageQueryFilter (SaLanguage.Params prm)
public override List<string> GetLanguageQueryFilter(SaLanguage.Params prm)
{
List<String> filter = new List<String>();
// Language Id.
String includedIds = prm.IncludedIds.Concat(",");
if (!includedIds.IsEmpty())
filter.Add(SaReferenceDataDbDfn.GetColumnNameQual(SaReferenceDataDbDfn.ColumnIdx.Language_Id, aliasLanguage) + " IN (" + includedIds + ")");
String excludedIds = prm.ExcludedIds.Concat(",");
if (!excludedIds.IsEmpty())
filter.Add(SaReferenceDataDbDfn.GetColumnNameQual(SaReferenceDataDbDfn.ColumnIdx.Language_Id, aliasLanguage) + " NOT IN (" + excludedIds + ")");
String colId = SaReferenceDataDbDfn.GetColumnNameQual(SaReferenceDataDbDfn.ColumnIdx.Language_Id, aliasLanguage);
if (prm.IdsIncluded.HasValidIds())
filter.Add($"{colId} IN ({prm.IdsIncluded.Concat(",")})");
if (prm.IdsExcluded.HasValidIds())
filter.Add($"{colId} NOT IN ({prm.IdsExcluded.Concat(",")})");
// Code.
if (!StringUtil.IsEmpty(prm.Code))
filter.Add(SaReferenceDataDbDfn.GetColumnNameQual(SaReferenceDataDbDfn.ColumnIdx.Language_Code, aliasLanguage) + " = '" + DbQuery.FormatForCondition(prm.Code) + "'");
if (!StringUtil.IsEmpty(prm.CodePartial))
filter.Add(SaReferenceDataDbDfn.GetColumnNameQual(SaReferenceDataDbDfn.ColumnIdx.Language_Code, aliasLanguage) + " LIKE '%" + DbQuery.FormatForLike(prm.CodePartial) + "%'");
String colCode = SaReferenceDataDbDfn.GetColumnNameQual(SaReferenceDataDbDfn.ColumnIdx.Language_Code, aliasLanguage);
if (!StringUtil.IsBlank(prm.Code))
filter.Add($"{colCode}='{DbQuery.FormatForCondition(prm.Code)}'");
else if (!StringUtil.IsBlank(prm.CodePartial))
filter.Add($"{colCode} LIKE '%{DbQuery.FormatForLike(prm.CodePartial)}%'");
// Name.
if (!StringUtil.IsEmpty(prm.Name))
filter.Add(SaReferenceDataDbDfn.GetColumnNameQual(SaReferenceDataDbDfn.ColumnIdx.Language_Name, aliasLanguage) + " = '" + DbQuery.FormatForCondition(prm.Name) + "'");
if (!StringUtil.IsEmpty(prm.NamePartial))
filter.Add(SaReferenceDataDbDfn.GetColumnNameQual(SaReferenceDataDbDfn.ColumnIdx.Language_Name, aliasLanguage) + " LIKE '%" + DbQuery.FormatForLike(prm.NamePartial) + "%'");
String colName = SaReferenceDataDbDfn.GetColumnNameQual(SaReferenceDataDbDfn.ColumnIdx.Language_Name, aliasLanguage);
if (!StringUtil.IsBlank(prm.Name))
filter.Add($"{colName}='{DbQuery.FormatForCondition(prm.Name)}'");
else if (!StringUtil.IsBlank(prm.NamePartial))
filter.Add($"{colName} LIKE '%{DbQuery.FormatForLike(prm.NamePartial)}%'");
// Lang Primary Id.
if (SysId.IsValid(prm.LanguageIdPrimary))
filter.Add(SaReferenceDataDbDfn.GetColumnNameQual(SaReferenceDataDbDfn.ColumnIdx.Language_Primary, aliasCurrency) + " = " + SysId.ToString(prm.LanguageIdPrimary,"0"));
filter.Add($"{SaReferenceDataDbDfn.GetColumnNameQual(SaReferenceDataDbDfn.ColumnIdx.Language_Primary, aliasLanguage)}={SysId.ToLong(prm.LanguageIdPrimary)}");
if (filter.Count < 1 && prm.IncludeDefaultFilter) filter.Add("1=1");
return filter;
}
// Language sort columns.
public List<String> GetLanguageSortColumns (SaLanguage.Params prm)
public List<String> GetLanguageSortColumns(SaLanguage.Params prm)
{
// Sort sequence:
List<String> sortColumnNames = new List<String>();
@@ -419,12 +420,12 @@ namespace Sarand.Net.Standard.Dbas.ReferenceData
//-------------------------------------------------------------------
// Language count.
private long GetLanguageCount (String filter)
private long GetLanguageCount(String filter)
{
ClearErrorState();
return Database.GetRowCount(ReferenceDataConsole.TableName_Language + " As " + aliasLanguage, filter);
}
public override long GetLanguageCount (SaLanguage.Params prm)
public override long GetLanguageCount(SaLanguage.Params prm)
{
ClearErrorState();
return GetLanguageCount(GetLanguageQueryFilter(prm).Concat(" AND ", "(", ")"));
@@ -432,7 +433,7 @@ namespace Sarand.Net.Standard.Dbas.ReferenceData
//-------------------------------------------------------------------
// Language list.
public override List<SaLanguage> GetLanguageList (SaLanguage.Params prm)
public override List<SaLanguage> GetLanguageList(SaLanguage.Params prm)
{
ClearErrorState();
List<SaLanguage> languages = new List<SaLanguage>();
@@ -467,7 +468,7 @@ namespace Sarand.Net.Standard.Dbas.ReferenceData
//-------------------------------------------------------------------
// Language query execution.
public override DbResultSet ExecuteLanguageQuery (List<ColumnDfn> columns, SaLanguage.Params prm)
public override DbResultSet ExecuteLanguageQuery(List<ColumnDfn> columns, SaLanguage.Params prm)
{
ClearErrorState();
@@ -506,7 +507,7 @@ namespace Sarand.Net.Standard.Dbas.ReferenceData
// Populate filter.
query.Filters.AddRange(GetLanguageQueryFilter(prm));
if (prm.IncludedIds.Count != 1)
if (prm.IdsIncluded.Count != 1)
{
// Configure sort sequence.
foreach (String sortColumn in GetLanguageSortColumns(prm))