3.0.1.6 Addresses
This commit is contained in:
@@ -15,6 +15,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
|
||||
{
|
||||
@@ -53,10 +54,10 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
DbQuery qry = new DbQuery(Database.DbmsType);
|
||||
qry.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.Address));
|
||||
qry.Columns.Add(colAddress_Id);
|
||||
qry.Filters.Add(SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.Address_ItemType) + "=" + ((int)addressPrimary.ItemType).ToString());
|
||||
qry.Filters.Add(SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.Address_ItemId) + "=" + addressPrimary.ItemId.ToString());
|
||||
qry.Filters.Add(colAddress_Id + "<>" + addressPrimaryId.ToString());
|
||||
qry.Filters.Add(GetPrimaryAddressFilter(true, aliasAddress));
|
||||
qry.Filters.Add($"{SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.Address_ItemType)}={(int)addressPrimary.ItemType}");
|
||||
qry.Filters.Add($"{SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.Address_ItemId)}={SysId.ToLong(addressPrimary.ItemId)}");
|
||||
qry.Filters.Add($"{colAddress_Id}<>{SysId.ToLong(addressPrimaryId)}");
|
||||
qry.Filters.Add(GetPrimaryAddressFilter(true, ""));
|
||||
|
||||
using (DbResultSet dbResultSet = DbResultSet_DataReader.ExecuteQuery(Database, qry.BuildQuery()))
|
||||
{
|
||||
@@ -67,7 +68,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
if (address != null && address.Id != addressPrimaryId && address.IsPrimary)
|
||||
{
|
||||
address.IsPrimary = false;
|
||||
if (!UpdateAddress(address, dbUpdateInfo)) SetErrorState("failed to update adress - " + ErrorState);
|
||||
if (!UpdateAddress(address, dbUpdateInfo)) SetErrorState($"failed to update adress - {ErrorState}");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -426,6 +427,9 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
SetAddressColDfn(columnDfn, "Desc Brief", 120, SbmDbDfn.ColumnIdx.Address_DescBrief);
|
||||
break;
|
||||
/*------------------------------------*/
|
||||
case SbmAddress.Column.Caption:
|
||||
SetAddressColDfn(columnDfn, "Address", 240, SbmDbDfn.ColumnIdx.Unknown);
|
||||
break;
|
||||
case SbmAddress.Column.Summary:
|
||||
SetAddressColDfn(columnDfn, "Address", 240, SbmDbDfn.ColumnIdx.Unknown);
|
||||
break;
|
||||
@@ -481,6 +485,9 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
case SbmAddress.Column.Notes:
|
||||
SetAddressColDfn(columnDfn, "Notes", 200, SbmDbDfn.ColumnIdx.Address_Notes);
|
||||
break;
|
||||
case SbmAddress.Column.Flags:
|
||||
SetAddressColDfn(columnDfn, "Flags", 50, SbmDbDfn.ColumnIdx.Address_Flags, ColumnAlignment.Center, DataValue.DataType.Long);
|
||||
break;
|
||||
case SbmAddress.Column.Status:
|
||||
SetAddressColDfn(columnDfn, "Status", 50, SbmDbDfn.ColumnIdx.Address_Status, ColumnAlignment.Center);
|
||||
break;
|
||||
@@ -520,14 +527,36 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
if (prm.IdsExcluded.HasValidIds())
|
||||
filter.Add($"{colId} NOT IN ({prm.IdsExcluded.Concat(",")})");
|
||||
|
||||
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
//---------------------------------------------------------------
|
||||
String colRefExt = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_RefExt, aliasAddress);
|
||||
String colName = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_Name, aliasAddress);
|
||||
String colDescBrief = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_DescBrief, aliasAddress);
|
||||
String colLine1 = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_Line1, aliasAddress);
|
||||
String colLine2 = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_Line2, aliasAddress);
|
||||
String colLine3 = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_Line3, aliasAddress);
|
||||
String colCity = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_City, aliasAddress);
|
||||
String colProvince = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_Province, aliasAddress);
|
||||
String colPostcode = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_Postcode, aliasAddress);
|
||||
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>();
|
||||
foreach (String col in new String[] { colRefExt, colName, colDescBrief, colLine1, colLine2, colLine3, colCity, colProvince, colPostcode })
|
||||
searchFilter.Add($"{col} LIKE '%{searchForLike}%'");
|
||||
filter.Add(searchFilter.Concat(" OR ", "(", ")"));
|
||||
}
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------
|
||||
// Address Type.
|
||||
String colAddress_Type = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_Type, aliasAddress);
|
||||
if (prm.AddressType > 0)
|
||||
filter.Add(colAddress_Type + "='" + ((int)prm.AddressType).ToString());
|
||||
|
||||
//--------------------------------------------------------------- -
|
||||
// ItemType & ItemId.
|
||||
// Item Id.
|
||||
if (ItemId.IsValid(prm.ItemId))
|
||||
{
|
||||
List<String> filterItemTypes = new List<String>();
|
||||
@@ -547,11 +576,12 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------
|
||||
// AffIdOwner.
|
||||
// Affiliate Id Owner.
|
||||
String colAddress_AffIdOwner = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_AffIdOwner, aliasAddress);
|
||||
if (SysId.IsValid(prm.AffiliateIdOwner))
|
||||
filter.Add(colAddress_AffIdOwner + "=" + SysId.ToString(prm.AffiliateIdOwner));
|
||||
// AddIdRef.
|
||||
|
||||
// Address Id Ref.
|
||||
String colAddress_AddIdRef = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_AddIdRef, aliasAddress);
|
||||
if (SysId.IsValid(prm.AddressIdRef))
|
||||
filter.Add(colAddress_AddIdRef + "=" + SysId.ToString(prm.AddressIdRef));
|
||||
@@ -668,7 +698,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
public String GetPrimaryAddressFilter(bool match, String aliasTable)
|
||||
{
|
||||
DbQuery qry = new DbQuery(Database.DbmsType);
|
||||
return DbQuery.BuildBitMappedFilter(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_Flags, aliasAddress), SbmAddress.Flag_Primary, match);
|
||||
return DbQuery.BuildBitMappedFilter(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_Flags, aliasTable), SbmAddress.Flag_Primary, match);
|
||||
}
|
||||
|
||||
// Address sort columns.
|
||||
@@ -710,7 +740,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
private long GetAddressCount(String filter)
|
||||
{
|
||||
ClearErrorState();
|
||||
return Database.GetRowCount(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.Address) + " As " + aliasAddress, filter);
|
||||
return Database.GetRowCount($"{SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.Address)} As {aliasAddress}", filter);
|
||||
}
|
||||
public override long GetAddressCount(SbmAddress.Params prm)
|
||||
{
|
||||
@@ -759,7 +789,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Address query execution.
|
||||
public override DbResultSet AddressExecuteQuery(List<ColumnDfn> columns, SbmAddress.Params prm)
|
||||
public override DbResultSet ExecuteAddressQuery(List<ColumnDfn> columns, SbmAddress.Params prm)
|
||||
{
|
||||
ClearErrorState();
|
||||
|
||||
@@ -780,19 +810,19 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
if (columns.HasId(SbmAddress.Column.DescBrief))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_DescBrief, aliasAddress));
|
||||
|
||||
if (columns.HasId(SbmAddress.Column.Line1) || columns.HasId(SbmAddress.Column.Summary))
|
||||
if (columns.HasId(SbmAddress.Column.Line1) || columns.HasId(SbmAddress.Column.Caption) || columns.HasId(SbmAddress.Column.Summary))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_Line1, aliasAddress));
|
||||
if (columns.HasId(SbmAddress.Column.Line2) || columns.HasId(SbmAddress.Column.Summary))
|
||||
if (columns.HasId(SbmAddress.Column.Line2) || columns.HasId(SbmAddress.Column.Caption) || columns.HasId(SbmAddress.Column.Summary))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_Line2, aliasAddress));
|
||||
if (columns.HasId(SbmAddress.Column.Line3) || columns.HasId(SbmAddress.Column.Summary))
|
||||
if (columns.HasId(SbmAddress.Column.Line3) || columns.HasId(SbmAddress.Column.Caption) || columns.HasId(SbmAddress.Column.Summary))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_Line3, aliasAddress));
|
||||
if (columns.HasId(SbmAddress.Column.City) || columns.HasId(SbmAddress.Column.Summary))
|
||||
if (columns.HasId(SbmAddress.Column.City) || columns.HasId(SbmAddress.Column.Caption) || columns.HasId(SbmAddress.Column.Summary))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_City, aliasAddress));
|
||||
if (columns.HasId(SbmAddress.Column.Province) || columns.HasId(SbmAddress.Column.Summary))
|
||||
if (columns.HasId(SbmAddress.Column.Province) || columns.HasId(SbmAddress.Column.Caption) || columns.HasId(SbmAddress.Column.Summary))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_Province, aliasAddress));
|
||||
if (columns.HasId(SbmAddress.Column.Postcode) || columns.HasId(SbmAddress.Column.Summary))
|
||||
if (columns.HasId(SbmAddress.Column.Postcode) || columns.HasId(SbmAddress.Column.Caption) || columns.HasId(SbmAddress.Column.Summary))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_Postcode, aliasAddress));
|
||||
if (columns.HasId(SbmAddress.Column.Country) || columns.HasId(SbmAddress.Column.Summary))
|
||||
if (columns.HasId(SbmAddress.Column.Country) || columns.HasId(SbmAddress.Column.Caption) || columns.HasId(SbmAddress.Column.Summary))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_Country, aliasAddress));
|
||||
|
||||
if (columns.HasId(SbmAddress.Column.Contact))
|
||||
@@ -811,6 +841,8 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
// Common Properties
|
||||
if (columns.HasId(SbmAddress.Column.Notes))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_Notes, aliasAddress));
|
||||
if (columns.HasId(SbmAddress.Column.Flags))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_Flags, aliasAddress));
|
||||
if (columns.HasId(SbmAddress.Column.Status) || columns.HasId(SbmAddress.Column.Status_Desc) || columns.HasId(SbmAddress.Column.Status_Ind))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_Status, aliasAddress));
|
||||
if (columns.HasId(SbmAddress.Column.CreateOn_Date))
|
||||
|
||||
Reference in New Issue
Block a user