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
@@ -0,0 +1,47 @@
using Sarand.Net.Standard.Base.Bus;
using Sarand.Net.Standard.Base.Core;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Sarand.BusinessMgr.Net.Standard.Base.Bus.Control
{
//=======================================================================
public class SbmcHierarchyItem : SacsHierarchyItem
{
//-------------------------------------------------------------------
// Construction.
protected SbmcHierarchyItem() : base()
{
}
protected SbmcHierarchyItem(SysId id) : base(id)
{
}
//-------------------------------------------------------------------
// Item types.
public enum ItemType
{
Unknown = 0,
UserAccount = 2000,
Owner = 2010,
Repository = 2020,
ItemParam = 2120,
}
public static String getItemTypeCaption(ItemType itemType)
{
switch (itemType)
{
case ItemType.UserAccount: return "User account";
case ItemType.ItemParam: return "Item param";
}
return itemType.ToString();
}
//-------------------------------------------------------------------
}
//=======================================================================
}
@@ -0,0 +1,257 @@
using Sarand.Net.Standard.Base.Bus;
using Sarand.Net.Standard.Base.Core;
using Sarand.Net.Standard.Base.Utils;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using static Sarand.BusinessMgr.Net.Standard.Base.App.SbmSysParamCache;
namespace Sarand.BusinessMgr.Net.Standard.Base.Bus.Control
{
//=======================================================================
public class SbmcItemParam : SbmcHierarchyItem
{
//-------------------------------------------------------------------
// Columns.
public enum Column
{
Hidden,
Pos,
Id,
// Item.
ItemType,
ItemType_Caption,
ItemId,
Item_Caption,
// Param.
Context,
Name,
Value,
// Common.
Notes,
Flags,
Flag,
Status,
Status_Ind,
Status_Desc,
CreateOn_Date,
UpdateOn_Date,
}
//-------------------------------------------------------------------
/// <summary>Properties other than common.</summary>
public class DataProperties
{
public ItemId ItemId { get; set; } = new ItemId();
public String Context { get; set; } = "";
public String Name { get; set; } = "";
public String Value { get; set; } = "";
}
//-------------------------------------------------------------------
// Data.
public new class Data : SacsHierarchyItem.Data
{
// Data members.
private readonly DataProperties data = new DataProperties();
// Construction.
public Data()
{
Status = SbmcItemParam.DefaultStatus;
}
public ItemId ItemId
{
get { return data.ItemId; }
set { CheckChanged(data.ItemId, value); data.ItemId = value ?? new ItemId(); }
}
public String Context
{
get { return data.Context; }
set { CheckChanged(data.Context, value); data.Context = value; }
}
public String Name
{
get { return data.Name; }
set { CheckChanged(data.Name, value); data.Name = value; }
}
public String Value
{
get { return data.Value; }
set { CheckChanged(data.Value, value); data.Value = value; }
}
internal void PopulateFrom(Data data)
{
this.ItemId = data.ItemId;
Context = data.Context;
Name = data.Name;
Value = data.Value;
base.PopulateFrom(data);
}
public Data Clone()
{
Data data = new Data();
data.PopulateFrom(this);
return data;
}
}
public new class ErrField : SacsHierarchyItem.ErrField
{
// Identifies the field that has invalid data.
public ValidValue ItemId { get; set; } = ValidValue.Valid;
public ValidValue Name { get; set; } = ValidValue.Valid;
public ValidValue Context { get; set; } = ValidValue.Valid;
public ValidValue Value { get; set; } = ValidValue.Valid;
}
//-------------------------------------------------------------------
// Data members.
private readonly Data data = new Data();
public static readonly Byte Flag_Password = 0x01;
//-------------------------------------------------------------------
// Construction.
protected SbmcItemParam(SysId id, ItemId itemId) : base(id)
{
base.SetData(data);
ItemId = itemId;
}
//-------------------------------------------------------------------
// Item status.
private static readonly List<SaStatus> ownerStatuses = new List<SaStatus>()
{
SaStatus.Active,
SaStatus.Inactive,
SaStatus.Deleted,
};
public static SaStatus DefaultStatus { get { return SaStatus.Active; } }
public static List<SaStatus> ValidStatuses { get { return new List<SaStatus>(ownerStatuses); } }
public static DataValue.TriStateType GetStatusTriState(SaStatus status)
{
switch (status)
{
case SaStatus.Active:
return DataValue.TriStateType.Green;
case SaStatus.OnHold:
return DataValue.TriStateType.Amber;
case SaStatus.Inactive:
return DataValue.TriStateType.Red;
case SaStatus.Deleted:
return DataValue.TriStateType.Purple;
}
return DataValue.TriStateType.Unknown;
}
//-------------------------------------------------------------------
// Utilities.
public static List<SbmcHierarchyItem.ItemType> ValidItemTypes =>
new List<ItemType>()
{
ItemType.Owner,
ItemType.Repository
};
public static bool IsPasswordValue(String paramContext, String paramName, ushort flags)
{
if (GetFlag(flags, Flag_Password)) return true;
if (paramContext.ContainsCI("password") || paramName.ContainsCI("password")) return true;
if (paramContext.ContainsCI("pword") || paramName.ContainsCI("pword")) return true;
if (paramContext.ContainsCI("secret") || paramName.ContainsCI("secret")) return true;
return false;
}
public bool IsPasswordValue()
{
return IsPasswordValue(Context, Name, Flags);
}
//-------------------------------------------------------------------
// Properties.
public Data GetData() { return data.Clone(); }
public void SetData(Data data)
{
// Properties that cannot be changed if previously specified.
if (SysId.IsValid(Id) && SysId.ToInt(Id) != SysId.ToInt(data.Id))
throw new NotSupportedException($"{SysUtil.Fn} Id cannot be changed");
if (ItemId.IsValid(ItemId) && (ItemId.Type != data.ItemId.Type || SysId.ToInt(ItemId.Id) != SysId.ToInt(data.ItemId.Id)))
throw new NotSupportedException($"{SysUtil.Fn} Item Id cannot be changed");
// Populate individual properties to ensure that 'Changed' indicator is kept up to date.
this.data.PopulateFrom(data);
}
//-------------------------------------------------------------------
// Properties.
// ItemParam.
public ItemId ItemId
{
get { return data.ItemId; }
protected set { data.ItemId = value; }
}
public String Context
{
get { return data.Context; }
set { data.Context = value; }
}
public String Name
{
get { return data.Name; }
set { data.Name = value; }
}
public String Value
{
get { return data.Value; }
set { data.Value = value; }
}
//-------------------------------------------------------------------
// Flags.
public bool IsPrimary
{
get { return GetFlag(Flag_Password); }
set { SetFlag(Flag_Password, value); }
}
//-------------------------------------------------------------------
// Associated data.
//-------------------------------------------------------------------
// List parameters.
/// <summary> Status filter options.</summary>
public enum StatusCat
{
Any,
ActiveOnly,
InactiveOnly,
NotDeleted,
DeletedOnly,
}
/// <summary>Parameters - used to define the filters that should be applied to a list of items.</summary>
public new class Params : SacsHierarchyItem.Params
{
// List filtering.
public HashSet<SysId> IdsIncluded { get; } = new HashSet<SysId>();
public HashSet<SysId> IdsExcluded { get; } = new HashSet<SysId>();
public HashSet<ItemId> ItemIdsIncluded { get; } = new HashSet<ItemId>();
/// <summary>Generic search value - name, contact, email, phone etc.</summary>
public String Search { get; set; }
public String NotesPartial { get; set; }
/// <summary>Contact status.</summary>
public StatusCat StatusCat { get; set; } = StatusCat.NotDeleted;
// Table aliases.
public String Alias_Item_Owner { get; set; }
public String Alias_Item_Repository { get; set; }
}
}
//=======================================================================
// Item list.
public static class SbmcItemParamList
{
}
//=======================================================================
}
@@ -0,0 +1,237 @@
using Sarand.Net.Standard.Base.Bus;
using Sarand.Net.Standard.Base.Core;
using Sarand.Net.Standard.Base.Utils;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Sarand.BusinessMgr.Net.Standard.Base.Bus.Control
{
//=======================================================================
public class SbmcOwner : SbmcHierarchyItem
{
//-------------------------------------------------------------------
// Columns.
public enum Column
{
Hidden,
Pos,
// Owner.
Id,
Name,
ContactName,
ContactEmailAddress,
ContactPhoneMain,
ContactPhoneAlt,
// Repositories.
RepositoryCount,
// Common.
Notes,
Flag,
Status,
Status_Ind,
Status_Desc,
CreateOn_Date,
UpdateOn_Date,
}
//-------------------------------------------------------------------
/// <summary>Properties other than common.</summary>
public class DataProperties
{
public String Name { get; set; } = "";
public String ContactName { get; set; } = "";
public String ContactEmailAddress { get; set; } = "";
public String ContactPhoneMain { get; set; } = "";
public String ContactPhoneAlt { get; set; } = "";
}
//-------------------------------------------------------------------
// Data.
public new class Data : SacsHierarchyItem.Data
{
// Data members.
private readonly DataProperties data = new DataProperties();
// Construction.
public Data()
{
Status = SbmcOwner.DefaultStatus;
}
public String Name
{
get { return data.Name; }
set { CheckChanged(data.Name, value); data.Name = value; }
}
public String ContactName
{
get { return data.ContactName; }
set { CheckChanged(data.ContactName, value); data.ContactName = value; }
}
public String ContactEmailAddress
{
get { return data.ContactEmailAddress; }
set { CheckChanged(data.ContactEmailAddress, value); data.ContactEmailAddress = value; }
}
public String ContactPhoneMain
{
get { return data.ContactPhoneMain; }
set { CheckChanged(data.ContactPhoneMain, value); data.ContactPhoneMain = value; }
}
public String ContactPhoneAlt
{
get { return data.ContactPhoneAlt; }
set { CheckChanged(data.ContactPhoneAlt, value); data.ContactPhoneAlt = value; }
}
internal void PopulateFrom(Data data)
{
Name = data.Name;
ContactName = data.ContactName;
ContactEmailAddress = data.ContactEmailAddress;
ContactPhoneMain = data.ContactPhoneMain;
ContactPhoneAlt = data.ContactPhoneAlt;
base.PopulateFrom(data);
}
public Data Clone()
{
Data data = new Data();
data.PopulateFrom(this);
return data;
}
}
public new class ErrField : SacsHierarchyItem.ErrField
{
// Identifies the field that has invalid data.
public ValidValue Name { get; set; } = ValidValue.Valid;
public ValidValue ContactName { get; set; } = ValidValue.Valid;
public ValidValue ContactEmailAddress { get; set; } = ValidValue.Valid;
public ValidValue ContactPhoneMain { get; set; } = ValidValue.Valid;
public ValidValue ContactPhoneAlt { get; set; } = ValidValue.Valid;
}
//-------------------------------------------------------------------
// Data members.
private readonly Data data = new Data();
//-------------------------------------------------------------------
// Construction.
protected SbmcOwner(SysId id) : base(id)
{
base.SetData(data);
}
//-------------------------------------------------------------------
// Owner status.
private static readonly List<SaStatus> ownerStatuses = new List<SaStatus>()
{
SaStatus.Active,
SaStatus.OnHold,
SaStatus.Inactive,
SaStatus.Deleted,
};
public static SaStatus DefaultStatus { get { return SaStatus.Active; } }
public static List<SaStatus> ValidStatuses { get { return new List<SaStatus>(ownerStatuses); } }
public static DataValue.TriStateType GetStatusTriState(SaStatus status)
{
switch (status)
{
case SaStatus.Active:
return DataValue.TriStateType.Green;
case SaStatus.OnHold:
return DataValue.TriStateType.Amber;
case SaStatus.Inactive:
return DataValue.TriStateType.Red;
case SaStatus.Deleted:
return DataValue.TriStateType.Purple;
}
return DataValue.TriStateType.Unknown;
}
//-------------------------------------------------------------------
// Utilities.
//-------------------------------------------------------------------
// Properties.
public Data GetData() { return data.Clone(); }
public void SetData(Data data)
{
// Properties that cannot be changed if previously specified.
if (SysId.IsValid(Id) && SysId.ToInt(Id) != SysId.ToInt(data.Id))
throw new NotSupportedException($"{SysUtil.Fn} Id cannot be changed");
// Populate individual properties to ensure that 'Changed' indicator is kept up to date.
this.data.PopulateFrom(data);
}
//-------------------------------------------------------------------
// Properties.
// Owner.
public String Name
{
get { return data.Name; }
set { data.Name = value; }
}
public String ContactName
{
get { return data.ContactName; }
set { data.ContactName = value; }
}
public String ContactEmailAddress
{
get { return data.ContactEmailAddress; }
set { data.ContactEmailAddress = value; }
}
public String ContactPhoneMain
{
get { return data.ContactPhoneMain; }
set { data.ContactPhoneMain = value; }
}
public String ContactPhoneAlt
{
get { return data.ContactPhoneAlt; }
set { data.ContactPhoneAlt = value; }
}
//-------------------------------------------------------------------
// Flags.
//-------------------------------------------------------------------
// Associated data.
//-------------------------------------------------------------------
// List parameters.
/// <summary> Status filter options.</summary>
public enum StatusCat
{
Any,
ActiveOnly,
OnHoldOnly,
InactiveOnly,
NotDeleted,
DeletedOnly,
}
/// <summary>Parameters - used to define the filters that should be applied to a list of items.</summary>
public new class Params : SacsHierarchyItem.Params
{
// List filtering.
public HashSet<SysId> IdsIncluded { get; } = new HashSet<SysId>();
public HashSet<SysId> IdsExcluded { get; } = new HashSet<SysId>();
/// <summary>Generic search value - name, contact, email, phone etc.</summary>
public String Search { get; set; }
public String NotesPartial { get; set; }
/// <summary>Contact status.</summary>
public StatusCat StatusCat { get; set; } = StatusCat.NotDeleted;
}
}
//=======================================================================
// Item list.
public static class SbmcOwnerList
{
}
//=======================================================================
}
@@ -0,0 +1,280 @@
using Sarand.Net.Standard.Base.Bus;
using Sarand.Net.Standard.Base.Core;
using Sarand.Net.Standard.Base.Utils;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Sarand.BusinessMgr.Net.Standard.Base.Bus.Control
{
//=======================================================================
public class SbmcRepository : SbmcHierarchyItem
{
//-------------------------------------------------------------------
// Columns.
public enum Column
{
Hidden,
Pos,
// Repository.
Id,
Context,
ServerName,
InstanceName,
DatabaseName,
UserName,
// Owner.
OwnerId,
OwnerName,
ContactName,
ContactEmailAddress,
ContactPhoneMain,
ContactPhoneAlt,
// Common properties.
Notes,
Flag,
Status,
Status_Ind,
Status_Desc,
CreateOn_Date,
UpdateOn_Date,
}
//-------------------------------------------------------------------
/// <summary>Properties other than common.</summary>
public class DataProperties
{
public SysId OwnerId { get; set; }
public String Context { get; set; } = "";
public String ServerName { get; set; } = "";
public String InstanceName { get; set; } = "";
public String DatabaseName { get; set; }
public String UserName { get; set; } = "";
public String Password { get; set; } = "";
}
//-------------------------------------------------------------------
// Data.
public new class Data : SacsHierarchyItem.Data
{
// Data members.
private readonly DataProperties data = new DataProperties();
// Construction.
public Data()
{
Status = SbmcRepository.DefaultStatus;
}
public SysId OwnerId
{
get { return data.OwnerId; }
set { CheckChanged(data.OwnerId, value); data.OwnerId = value; }
}
public String Context
{
get { return data.Context; }
set { CheckChanged(data.Context, value); data.Context = value; }
}
public String ServerName
{
get { return data.ServerName; }
set { CheckChanged(data.ServerName, value); data.ServerName = value; }
}
public String InstanceName
{
get { return data.InstanceName; }
set { CheckChanged(data.InstanceName, value); data.InstanceName = value; }
}
public String DatabaseName
{
get { return data.DatabaseName; }
set { CheckChanged(data.DatabaseName, value); data.DatabaseName = value; }
}
public String UserName
{
get { return data.UserName; }
set { CheckChanged(data.UserName, value); data.UserName = value; }
}
public String Password
{
get { return data.Password; }
set { CheckChanged(data.Password, value); data.Password = value; }
}
internal void PopulateFrom(Data data)
{
OwnerId = data.OwnerId;
Context = data.Context;
ServerName = data.ServerName;
InstanceName = data.InstanceName;
DatabaseName = data.DatabaseName;
UserName = data.UserName;
Password = data.Password;
base.PopulateFrom(data);
}
public Data Clone()
{
Data data = new Data();
data.PopulateFrom(this);
return data;
}
}
public new class ErrField : SacsHierarchyItem.ErrField
{
// Identifies the field that has invalid data.
public ValidValue OwnerId { get; set; } = ValidValue.Valid;
public ValidValue Context { get; set; } = ValidValue.Valid;
public ValidValue ServerName { get; set; } = ValidValue.Valid;
public ValidValue InstanceName { get; set; } = ValidValue.Valid;
public ValidValue DatabaseName { get; set; } = ValidValue.Valid;
public ValidValue UserName { get; set; } = ValidValue.Valid;
public ValidValue Password { get; set; } = ValidValue.Valid;
}
//-------------------------------------------------------------------
// Data members.
private readonly Data data = new Data();
//-------------------------------------------------------------------
// Construction.
protected SbmcRepository(SysId id) : base(id)
{
base.SetData(data);
}
//-------------------------------------------------------------------
// Repository status.
private static readonly List<SaStatus> repositoryStatuses = new List<SaStatus>()
{
SaStatus.Active,
SaStatus.OnHold,
SaStatus.Inactive,
SaStatus.Deleted,
};
public static SaStatus DefaultStatus { get { return SaStatus.Active; } }
public static List<SaStatus> ValidStatuses { get { return new List<SaStatus>(repositoryStatuses); } }
public static DataValue.TriStateType GetStatusTriState(SaStatus status)
{
switch (status)
{
case SaStatus.Active:
return DataValue.TriStateType.Green;
case SaStatus.OnHold:
return DataValue.TriStateType.Amber;
case SaStatus.Inactive:
return DataValue.TriStateType.Red;
case SaStatus.Deleted:
return DataValue.TriStateType.Purple;
}
return DataValue.TriStateType.Unknown;
}
//-------------------------------------------------------------------
// Utilities.
//-------------------------------------------------------------------
// Properties.
public Data GetData() { return data.Clone(); }
public void SetData(Data data)
{
// Properties that cannot be changed if previously specified.
if (SysId.IsValid(Id) && SysId.ToInt(Id) != SysId.ToInt(data.Id))
throw new NotSupportedException($"{SysUtil.Fn} Id cannot be changed");
// Populate individual properties to ensure that 'Changed' indicator is kept up to date.
this.data.PopulateFrom(data);
}
//-------------------------------------------------------------------
// Properties.
// Owner.
public SysId OwnerId
{
get { return data.OwnerId; }
set { data.OwnerId = value; }
}
// Repository.
public String Context
{
get { return data.Context; }
set { data.Context = value; }
}
public String ServerName
{
get { return data.ServerName; }
set { data.ServerName = value; }
}
public String InstanceName
{
get { return data.InstanceName; }
set { data.InstanceName = value; }
}
public String DatabaseName
{
get { return data.DatabaseName; }
set { data.DatabaseName = value; }
}
// Credentials.
public String UserName
{
get { return data.UserName; }
set { data.UserName = value; }
}
public String Password
{
get { return data.Password; }
set { data.Password = value; }
}
//-------------------------------------------------------------------
// Flags.
//-------------------------------------------------------------------
// Associated data.
//-------------------------------------------------------------------
// List parameters.
/// <summary> Status filter options.</summary>
public enum StatusCat
{
Any,
ActiveOnly,
OnHoldOnly,
InactiveOnly,
NotDeleted,
DeletedOnly,
}
/// <summary>Parameters - used to define the filters that should be applied to a list of items.</summary>
public new class Params : SacsHierarchyItem.Params
{
// List filtering.
public HashSet<SysId> IdsIncluded { get; } = new HashSet<SysId>();
public HashSet<SysId> IdsExcluded { get; } = new HashSet<SysId>();
/// <summary>Repository owners.</summary>
public HashSet<SysId> OwnerIdsIncluded { get; } = new HashSet<SysId>();
/// <summary>Repository contexts.</summary>
public HashSet<String> ContextsIncluded { get; set; } = new HashSet<String>();
/// <summary>Generic search value - context, server, instance, database etc.</summary>
public String Search { get; set; }
public String NotesPartial { get; set; }
/// <summary>Contact status.</summary>
public StatusCat StatusCat { get; set; } = StatusCat.NotDeleted;
// Table alises.
public String Alias_Owner { get; set; }
}
}
//=======================================================================
// Item list.
public static class SbmcRepositoryList
{
}
//=======================================================================
}
@@ -0,0 +1,425 @@
using Sarand.BusinessMgr.Net.Standard.Base.App;
using Sarand.BusinessMgr.Net.Standard.Base.Core;
using Sarand.Net.Standard.Base.App;
using Sarand.Net.Standard.Base.Bus;
using Sarand.Net.Standard.Base.Core;
using Sarand.Net.Standard.Base.Utils;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Sarand.BusinessMgr.Net.Standard.Base.Bus.Control
{
//=======================================================================
public class SbmcUserAccount : SbmcHierarchyItem
{
//-------------------------------------------------------------------
// Columns.
public enum Column
{
Hidden,
Pos,
// User Account.
Id,
EmailAddress,
DisplayName,
Title,
FirstName,
LastName,
Initials,
PhoneMain,
PhoneMobile,
PhoneAlt,
// Security.
LastLoginOn,
LastLoginAt,
LastInvalidLoginOn,
LastInvalidLoginAt,
InvalidLoginCount,
// Common.
Notes,
Flag,
Status,
Status_Ind,
Status_Desc,
CreateOn_Date,
UpdateOn_Date,
}
//-------------------------------------------------------------------
/// <summary>Properties other than common.</summary>
public class DataProperties
{
public String EmailAddress { get; set; } = "";
public String Title { get; set; } = "";
public String FirstName { get; set; } = "";
public String Initials { get; set; } = "";
public String LastName { get; set; } = "";
public String PhoneMain { get; set; } = "";
public String PhoneMobile { get; set; } = "";
public String PhoneAlt { get; set; } = "";
public String PasswordToken { get; set; }
public String PasswordHashed { get; set; } = "";
public List<String> PasswordHistory { get; } = new List<string>();
public DateTime? PasswordChangedAt { get; set; }
public DateTime? LastLoginAt { get; set; }
public DateTime? LastInvalidLoginAt { get; set; }
public short InvalidLoginCount { get; set; }
}
//-------------------------------------------------------------------
// Data.
public new class Data : SacsHierarchyItem.Data
{
// Data members.
private readonly DataProperties data = new DataProperties();
// Construction.
public Data()
{
//Status = SbmAccountMgr.AffiliateStatusDefault;
}
public String EmailAddress
{
get { return data.EmailAddress; }
set { CheckChanged(data.EmailAddress, value); data.EmailAddress = value; }
}
public String Title
{
get { return data.Title; }
set { CheckChanged(data.Title, value); data.Title = value; }
}
public String FirstName
{
get { return data.FirstName; }
set { CheckChanged(data.FirstName, value); data.FirstName = value; }
}
public String Initials
{
get { return data.Initials; }
set { CheckChanged(data.Initials, value); data.Initials = value; }
}
public String LastName
{
get { return data.LastName; }
set { CheckChanged(data.LastName, value); data.LastName = value; }
}
public String PhoneMain
{
get { return data.PhoneMain; }
set { CheckChanged(data.PhoneMain, value); data.PhoneMain = value; }
}
public String PhoneMobile
{
get { return data.PhoneMobile; }
set { CheckChanged(data.PhoneMobile, value); data.PhoneMobile = value; }
}
public String PhoneAlt
{
get { return data.PhoneAlt; }
set { CheckChanged(data.PhoneAlt, value); data.PhoneAlt = value; }
}
public String PasswordToken
{
get { return data.PasswordToken; }
set { CheckChanged(data.PasswordToken, value); data.PasswordToken = value; }
}
public String PasswordHashed
{
get { return data.PasswordHashed; }
set { CheckChanged(data.PasswordHashed, value); data.PasswordHashed = value; }
}
public List<String> PasswordHistory
{
get { return data.PasswordHistory; }
set
{
CheckChanged(data.PasswordHistory, value);
data.PasswordHistory.Clear();
data.PasswordHistory.AddRange((value ?? new List<String>()).FindAll(item => !StringUtil.IsEmpty(StringUtil.TrimAll(item))));
}
}
public DateTime? PasswordChangedAt
{
get { return data.PasswordChangedAt; }
set { CheckChangedNullable(data.PasswordChangedAt, value); data.PasswordChangedAt = value; }
}
public DateTime? LastLoginAt
{
get { return data.LastLoginAt; }
set { CheckChangedNullable(data.LastLoginAt, value); data.LastLoginAt = value; }
}
public DateTime? LastInvalidLoginAt
{
get { return data.LastInvalidLoginAt; }
set { CheckChangedNullable(data.LastInvalidLoginAt, value); data.LastInvalidLoginAt = value; }
}
public short InvalidLoginCount
{
get { return data.InvalidLoginCount; }
set { CheckChanged(data.InvalidLoginCount, value); data.InvalidLoginCount = value; }
}
internal void PopulateFrom(Data data)
{
EmailAddress = data.EmailAddress;
Title = data.Title;
LastName = data.LastName;
Initials = data.Initials;
FirstName = data.FirstName;
PhoneMain = data.PhoneMain;
PhoneMobile = data.PhoneMobile;
PhoneAlt = data.PhoneAlt;
PasswordToken = data.PasswordToken;
PasswordHashed = data.PasswordHashed;
PasswordHistory = data.PasswordHistory;
PasswordChangedAt = data.PasswordChangedAt;
LastLoginAt = data.LastLoginAt;
LastInvalidLoginAt = data.LastInvalidLoginAt;
InvalidLoginCount = data.InvalidLoginCount;
base.PopulateFrom(data);
}
public Data Clone()
{
Data data = new Data();
data.PopulateFrom(this);
return data;
}
}
public new class ErrField : SacsHierarchyItem.ErrField
{
// Identifies the field that has invalid data.
public ValidValue EmailAddress { get; set; } = ValidValue.Valid;
public ValidValue Title { get; set; } = ValidValue.Valid;
public ValidValue FirstName { get; set; } = ValidValue.Valid;
public ValidValue Initials { get; set; } = ValidValue.Valid;
public ValidValue LastName { get; set; } = ValidValue.Valid;
public ValidValue PhoneMain { get; set; } = ValidValue.Valid;
public ValidValue PhoneMobile { get; set; } = ValidValue.Valid;
public ValidValue PhoneAlt { get; set; } = ValidValue.Valid;
public ValidValue PasswordToken { get; set; } = ValidValue.Valid;
public ValidValue PasswordHashed { get; set; } = ValidValue.Valid;
public ValidValue PasswordHistory { get; set; } = ValidValue.Valid;
public ValidValue PasswordChangedAt { get; set; } = ValidValue.Valid;
public ValidValue LastLoginAt { get; set; } = ValidValue.Valid;
public ValidValue LastInvalidLoginAt { get; set; } = ValidValue.Valid;
public ValidValue InvalidLoginCount { get; set; } = ValidValue.Valid;
}
//-------------------------------------------------------------------
// Data members.
private readonly Data data = new Data();
public static readonly String PasswordHistoryDelim = ",";
public static readonly Byte Flag_KeepLoggedIn = 0x01;
//-------------------------------------------------------------------
// Construction.
protected SbmcUserAccount(SysId id) : base(id)
{
base.SetData(data);
Status = DefaultStatus;
}
//-------------------------------------------------------------------
// Affiliate status.
private static readonly List<SaStatus> affiliateStatuses = new List<SaStatus>()
{
SaStatus.Active,
SaStatus.Inactive,
SaStatus.Deleted,
};
public static SaStatus DefaultStatus { get { return SaStatus.Active; } }
public static List<SaStatus> ValidStatuses { get { return new List<SaStatus>(affiliateStatuses); } }
public static DataValue.TriStateType GetStatusTriState(SaStatus status)
{
switch (status)
{
case SaStatus.Active:
return DataValue.TriStateType.Green;
case SaStatus.Inactive:
return DataValue.TriStateType.Red;
case SaStatus.Deleted:
return DataValue.TriStateType.Purple;
}
return DataValue.TriStateType.Unknown;
}
//-------------------------------------------------------------------
// Utilities.
//-------------------------------------------------------------------
// Properties.
public Data GetData() { return data.Clone(); }
public void SetData(Data data)
{
// Properties that cannot be changed if previously specified.
if (SysId.IsValid(Id) && SysId.ToInt(Id) != SysId.ToInt(data.Id))
throw new NotSupportedException($"{SysUtil.Fn} Id cannot be changed");
// Populate individual properties to ensure that 'Changed' indicator is kept up to date.
this.data.PopulateFrom(data);
}
//-------------------------------------------------------------------
// Properties.
public String EmailAddress
{
get { return data.EmailAddress; }
set { data.EmailAddress = value; }
}
// Name.
public String Title
{
get { return data.Title; }
set { data.Title = value; }
}
public String FirstName
{
get { return data.FirstName; }
set { data.FirstName = value; }
}
public String Initials
{
get { return data.Initials; }
set { data.Initials = value; }
}
public String LastName
{
get { return data.LastName; }
set { data.LastName = value; }
}
public String GetFullName(String title, String first, String last)
{
// <Title> <FirstName> <LastName>:
List<String> Names = new List<string>();
Names.Add(title);
Names.Add(first);
Names.Add(last);
return Names.Concat(" ", null, null, true, true);
}
public String GetFullName()
{
return GetFullName(Title, FirstName, LastName);
}
public static String GetDisplayName(String firstName, String lastName)
{
// <LastName>, <FirstName>.
List<String> Names = new List<string>();
Names.Add(lastName);
Names.Add(firstName);
Names.RemoveBlanks();
return Names.Concat(", ");
}
public String GetDisplayName()
{
return GetDisplayName(FirstName, LastName);
}
// Phone numbers.
public String PhoneMain
{
get { return data.PhoneMain; }
set { data.PhoneMain = value; }
}
public String PhoneMobile
{
get { return data.PhoneMobile; }
set { data.PhoneMobile = value; }
}
public String PhoneAlt
{
get { return data.PhoneAlt; }
set { data.PhoneAlt = value; }
}
// Security.
public String PasswordToken
{
get { return data.PasswordToken; }
set { data.PasswordToken = value; }
}
public String PasswordHashed
{
get { return data.PasswordHashed; }
set { data.PasswordHashed = value; }
}
public List<String> PasswordHistory
{
get { return data.PasswordHistory; }
set { data.PasswordHistory = value; }
}
public DateTime? PasswordChangedAt
{
get { return data.PasswordChangedAt; }
set { data.PasswordChangedAt = value; }
}
public DateTime? LastLoginAt
{
get { return data.LastLoginAt; }
set { data.LastLoginAt = value; }
}
public DateTime? LastInvalidLoginAt
{
get { return data.LastInvalidLoginAt; }
set { data.LastInvalidLoginAt = value; }
}
public short InvalidLoginCount
{
get { return data.InvalidLoginCount; }
set { data.InvalidLoginCount = value; }
}
//-------------------------------------------------------------------
// Flags.
public bool KeepLoggedIn
{
get { return GetFlag(Flag_KeepLoggedIn); }
set { SetFlag(Flag_KeepLoggedIn, value); }
}
//-------------------------------------------------------------------
// Associated data.
//-------------------------------------------------------------------
// List parameters.
/// <summary> Status filter options.</summary>
public enum StatusCat
{
Any,
ActiveOnly,
InactiveOnly,
NotDeleted,
DeletedOnly,
}
/// <summary>Parameters - used to define the filters that should be applied to a list of items.</summary>
public new class Params : SacsHierarchyItem.Params
{
// List filtering.
public HashSet<SysId> IdsIncluded { get; } = new HashSet<SysId>();
public HashSet<SysId> IdsExcluded { get; } = new HashSet<SysId>();
/// <summary>Generic search value - email, name, phone etc.</summary>
public String Search { get; set; }
public String Name { get; set; }
public String NamePartial { get; set; }
public String EmailAddress { get; set; }
public String EmailAddressPartial { get; set; }
public String NotesPartial { get; set; }
/// <summary>Contact status.</summary>
public StatusCat StatusCat { get; set; } = StatusCat.NotDeleted;
}
}
//=======================================================================
// Item list.
public static class SbmcUserAccountList
{
}
//=======================================================================
}
@@ -155,7 +155,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
}
private class QBooksParams
{
public QBooksParams(ISbmUserContext userContext)
public QBooksParams(ISbmUserContext_Core userContext)
{
}
// QuickBooks interface definitions.
@@ -175,7 +175,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
}
private class SageParams
{
public SageParams(ISbmUserContext userContext, SbmInternals internals)
public SageParams(ISbmUserContext_Core userContext, SbmInternals internals)
{
UserContext = userContext;
this.internals = internals;
@@ -249,7 +249,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
SalesOrderColumnSources.Add(SageDbDfn.GetColumnName(SageDbDfn.ColumnIdx.SalesOrder_Notes1), "Notes line 1");
}
//---------------------------------------------------------------
private ISbmUserContext UserContext { get; }
private ISbmUserContext_Core UserContext { get; }
private readonly SbmInternals internals;
// Sage interface definitions.
public SaInterface.Data dfnInt_Sage { get; set; } = new SaInterface.Data();
@@ -62,7 +62,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
//-------------------------------------------------------------------
// Construction.
public SbmAccountsDfn(ISbmUserContext userContext)
public SbmAccountsDfn(ISbmUserContext_Core userContext)
{
UserContext = userContext;
internals = new SbmInternals(userContext);
@@ -82,7 +82,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
//-------------------------------------------------------------------
// Properties.
public ISbmUserContext UserContext { get; }
public ISbmUserContext_Core UserContext { get; }
protected SaInterfaceConsole InterfaceConsole { get { return internals.InterfaceConsole; } }
protected SaItemOptionConsole ItemOptionConsole { get { return internals.ItemOptionConsole; } }
@@ -730,7 +730,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
{
// Retrieve accounts interfaces.
SaInterface.Params prmInterface_Accounts = new SaInterface.Params();
prmInterface_Accounts.Context = UserContext.Organisation.InterfaceContext;
prmInterface_Accounts.Context = UserContext.OrganisationInterfaceContext;
prmInterface_Accounts.InterfaceCategory = SaInterfaceCategory.Accounts;
prmInterface_Accounts.ActiveOnly = true;
prmInterface_Accounts.StatusCat = SaInterface.StatusCat.ActiveOnly;
+2 -2
View File
@@ -355,7 +355,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
//-------------------------------------------------------------------
// Construction.
protected SbmAddress(ISbmUserContext userContext, SysId id, Sbm.ItemType itemType, SysId itemId, Sbm.AddressType addressType) :
protected SbmAddress(ISbmUserContext_Core userContext, SysId id, Sbm.ItemType itemType, SysId itemId, Sbm.AddressType addressType) :
base(userContext, id)
{
base.SetData(data);
@@ -698,7 +698,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
public String DeliveryBookInCode { get; set; }
public bool PrimaryOnly { get; set; }
public StatusCat StatusCat { get; set; } = StatusCat.Any;
public StatusCat StatusCat { get; set; } = StatusCat.NotDeleted;
}
//-------------------------------------------------------------------
}
@@ -337,7 +337,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
//-------------------------------------------------------------------
// Construction.
protected SbmAffiliate(ISbmUserContext userContext, SysId id, Sbm.AffiliateType affiliateType) : base(userContext, id)
protected SbmAffiliate(ISbmUserContext_Core userContext, SysId id, Sbm.AffiliateType affiliateType) : base(userContext, id)
{
base.SetData(data);
AffiliateType = affiliateType;
@@ -779,7 +779,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
// Interfaces.
public SysId InterfaceIdExcludeSystemUsers { get; set; }
/// <summary>Contact status.</summary>
public StatusCat StatusCat { get; set; } = StatusCat.Any;
public StatusCat StatusCat { get; set; } = StatusCat.NotDeleted;
// Utilities.
public List<StringPair> GetDisplayValues()
{
+10 -10
View File
@@ -376,7 +376,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
//-------------------------------------------------------------------
// Construction.
protected SbmAsset(ISbmUserContext userContext, SysId id, SysId assetCatId) : base(userContext, id)
protected SbmAsset(ISbmUserContext_Core userContext, SysId id, SysId assetCatId) : base(userContext, id)
{
base.SetData(data);
Id = id;
@@ -388,22 +388,19 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
// Asset status.
private static readonly List<SaStatus> assetStatuses = new List<SaStatus>()
{
/*SaStatus.Provisional,*/
SaStatus.Active,
/*SaStatus.Actioned,*/
SaStatus.Cancelled,
SaStatus.Inactive,
SaStatus.Deleted,
};
public static SaStatus DefaultStatus { get { return SaStatus.Current; } }
public static List<SaStatus> AssetStatuses { get { return new List<SaStatus>(assetStatuses); } }
public static SaStatus DefaultStatus { get { return SaStatus.Active; } }
public static List<SaStatus> ValidStatuses { get { return new List<SaStatus>(assetStatuses); } }
public static DataValue.TriStateType GetStatusTriState(SaStatus status)
{
switch (status)
{
case SaStatus.Active:
return DataValue.TriStateType.Green;
case SaStatus.Cancelled:
return DataValue.TriStateType.Red;
case SaStatus.Disabled:
case SaStatus.Inactive:
return DataValue.TriStateType.Red;
case SaStatus.Deleted:
return DataValue.TriStateType.Purple;
@@ -620,6 +617,8 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
{
Any,
ActiveOnly,
NotDeleted,
Deleted,
}
/// <summary>
/// Item list parameters.
@@ -631,6 +630,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
public List<SysId> ExcludedIds { get; } = new List<SysId>();
// Asset.
public SysId AssetCatId { get; set; }
public String Search { get; set; }
public Sbm.ItemType ItemType { get; set; }
public String SerialNumber { get; set; }
public String SerialNumberPartial { get; set; }
@@ -640,7 +640,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
public SysId ProcessIdActive { get; set; }
public bool RestrictToActive { get; set; }
/// <summary>Asset status.</summary>
public StatusCat StatusCat { get; set; } = StatusCat.Any;
public StatusCat StatusCat { get; set; } = StatusCat.NotDeleted;
// Utilities.
public List<StringPair> GetDisplayValues()
{
@@ -21,7 +21,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
// AssetCategory.
AffIdOwner,
AssetType,
Type_Desc,
AssetType_Desc,
Code,
DescBrief,
IncomeType,
@@ -215,9 +215,11 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
private readonly Data data = new Data();
//-------------------------------------------------------------------
// Construction.
protected SbmAssetCategory(ISbmUserContext userContext, SysId id) : base(userContext, id)
protected SbmAssetCategory(ISbmUserContext_Core userContext, SysId id, SysId affiliateIdOwner, Sbm.AssetType assetType) : base(userContext, id)
{
base.SetData(data);
AffIdOwner = affiliateIdOwner;
AssetType = assetType;
Status = DefaultStatus;
}
@@ -225,22 +227,19 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
// AssetCategory status.
private static readonly List<SaStatus> assetCategoryStatuses = new List<SaStatus>()
{
/*SaStatus.Provisional,*/
SaStatus.Active,
/*SaStatus.Actioned,*/
SaStatus.Cancelled,
SaStatus.Inactive,
SaStatus.Deleted,
};
public static SaStatus DefaultStatus { get { return SaStatus.Current; } }
public static List<SaStatus> AssetCategoryStatuses { get { return new List<SaStatus>(assetCategoryStatuses); } }
public static SaStatus DefaultStatus { get { return SaStatus.Active; } }
public static List<SaStatus> ValidStatuses { get { return new List<SaStatus>(assetCategoryStatuses); } }
public static DataValue.TriStateType GetStatusTriState(SaStatus status)
{
switch (status)
{
case SaStatus.Active:
return DataValue.TriStateType.Green;
case SaStatus.Cancelled:
return DataValue.TriStateType.Red;
case SaStatus.Disabled:
case SaStatus.Inactive:
return DataValue.TriStateType.Red;
case SaStatus.Deleted:
return DataValue.TriStateType.Purple;
@@ -259,6 +258,8 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
// Properties that cannot be changed if previously specified.
if (SysId.IsValid(Id) && SysId.ToInt(Id) != SysId.ToInt(data.Id))
throw new NotSupportedException($"{SysUtil.Fn} Id cannot be changed");
if (SysId.IsValid(AffIdOwner) && SysId.ToInt(AffIdOwner) != SysId.ToInt(data.AffIdOwner))
throw new NotSupportedException($"{SysUtil.Fn} Owner Affiliate Id cannot be changed");
// Populate individual properties to ensure that 'Changed' indicator is kept up to date.
this.data.PopulateFrom(data);
}
@@ -368,6 +369,8 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
public enum StatusCat
{
Any,
NotDeleted,
Deleted,
}
/// <summary>
/// Item list parameters.
@@ -375,23 +378,18 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
public new class Params : SacsHierarchyItem.Params
{
// List filtering.
public List<SysId> IncludedIds { get; } = new List<SysId>();
public List<SysId> ExcludedIds { get; } = new List<SysId>();
public List<SysId> IdsIncluded { get; } = new List<SysId>();
public List<SysId> IdsExcluded { get; } = new List<SysId>();
// AssetCategory.
public Sbm.AssetType AssetType { get; set; }
public String Search { get; set; }
public String Code { get; set; }
public String CodePartial { get; set; }
public String DescBrief { get; set; }
public String DescBriefPartial { get; set; }
public bool RestrictToActive { get; set; }
/// <summary>Asset Category status.</summary>
public StatusCat StatusCat { get; set; } = StatusCat.Any;
// Utilities.
public List<StringPair> GetDisplayValues()
{
List<StringPair> values = new List<StringPair>();
return values;
}
public StatusCat StatusCat { get; set; } = StatusCat.NotDeleted;
}
//-------------------------------------------------------------------
@@ -122,7 +122,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
private readonly Data data = new Data();
//-------------------------------------------------------------------
// Construction.
protected SbmAssetProcess(ISbmUserContext userContext, SysId id, SysId assetId, SysId processId) : base(userContext, id)
protected SbmAssetProcess(ISbmUserContext_Core userContext, SysId id, SysId assetId, SysId processId) : base(userContext, id)
{
base.SetData(data);
Id = id;
@@ -216,6 +216,8 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
public enum StatusCat
{
Any,
NotDeleted,
DeletedOnly
}
/// <summary>
/// Item list parameters.
@@ -231,7 +233,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
public String Seq { get; set; }
public bool RestrictToActive { get; set; }
/// <summary>Asset Process status.</summary>
public StatusCat StatusCat { get; set; } = StatusCat.Any;
public StatusCat StatusCat { get; set; } = StatusCat.NotDeleted;
// Utilities.
public List<StringPair> GetDisplayValues()
{
@@ -504,7 +504,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
//-------------------------------------------------------------------
// Construction.
protected SbmAssociation(ISbmUserContext userContext, SysId id, SysId affiliateIdOwner, Sbm.AssociationType associationType, SysId affiliateIdTarget) : base(userContext, id)
protected SbmAssociation(ISbmUserContext_Core userContext, SysId id, SysId affiliateIdOwner, Sbm.AssociationType associationType, SysId affiliateIdTarget) : base(userContext, id)
{
base.SetData(data);
AffiliateIdOwner = affiliateIdOwner;
@@ -902,7 +902,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
public List<String> DeliveryCourierCodes { get; } = new List<String>();
public List<String> DeliveryBookInCodes { get; } = new List<String>();
/// <summary>Association must have a transaction active at some time between the specified dates (one date can be specified for open ended period).</summary>
public SbmTransaction.StatusCat TransactionStatusCat { get; set; } = SbmTransaction.StatusCat.Any;
public SbmTransaction.StatusCat TransactionStatusCat { get; set; } = SbmTransaction.StatusCat.NotDeleted;
/// <summary>Has transactions active from.</summary>
public DateTime TransActiveFrom { get; set; } = DateTime.MinValue;
/// <summary>Has transactions active up to (inclusive).</summary>
@@ -1,4 +1,5 @@
using Sarand.BusinessMgr.Net.Standard.Base.App;
using Sarand.BusinessMgr.Net.Standard.Base.Consoles;
using Sarand.BusinessMgr.Net.Standard.Base.Core;
using Sarand.BusinessMgr.Net.Standard.Base.Mgr;
using Sarand.Net.Standard.Base.Bus;
@@ -1085,7 +1086,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
//-------------------------------------------------------------------
// Construction.
protected SbmCommodity(ISbmUserContext userContext, SysId id, SysId affiliateIdOwner, Sbm.CommodityType commodityType, String code) : base(userContext, id)
protected SbmCommodity(ISbmUserContext_Core userContext, SysId id, SysId affiliateIdOwner, Sbm.CommodityType commodityType, String code) : base(userContext, id)
{
base.SetData(data);
AffiliateIdOwner = affiliateIdOwner;
@@ -1874,7 +1875,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
/// <summary>Commodity status.</summary>
public StatusCat StatusCat { get; set; } = StatusCat.NotDeleted;
// Utilities.
public List<StringPair> GetDisplayValues(ISbmUserContext userContext)
public List<StringPair> GetDisplayValues(ISbmUserContext_Core userContext)
{
SbmAccountMgr accountMgr = null;
List<StringPair> lValue = new List<StringPair>();
@@ -125,7 +125,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
//-------------------------------------------------------------------
// Construction.
protected SbmCommodityCustomer(ISbmUserContext userContext, SysId commodityId, SysId assocIdCustomer) : base(userContext)
protected SbmCommodityCustomer(ISbmUserContext_Core userContext, SysId commodityId, SysId assocIdCustomer) : base(userContext)
{
base.SetData(data);
CommodityId = commodityId;
@@ -221,6 +221,8 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
public enum StatusCat
{
Any,
NotDeleted,
DeletedOnly
}
/// <summary>
/// Item list parameters.
@@ -239,7 +241,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
public String ProductCodePartial { get; set; }
public bool RestrictToActive { get; set; } = true;
/// <summary>Commodity Customer status.</summary>
public StatusCat StatusCat { get; set; } = StatusCat.Any;
public StatusCat StatusCat { get; set; } = StatusCat.NotDeleted;
// Utilities.
public List<StringPair> GetDisplayValues()
{
@@ -116,7 +116,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
//-------------------------------------------------------------------
// Construction.
protected SbmCommoditySupplier(ISbmUserContext userContext, SysId commodityId, SysId assocIdSupplier) : base(userContext)
protected SbmCommoditySupplier(ISbmUserContext_Core userContext, SysId commodityId, SysId assocIdSupplier) : base(userContext)
{
base.SetData(data);
CommodityId = commodityId;
@@ -209,7 +209,10 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
// List parameters.
public enum StatusCat
{
Any, Active,
Any,
ActiveOnly,
NotDeleted,
DeletedOnly
}
/// <summary>
/// Item list parameters.
@@ -227,7 +230,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
public SysId CurrencyIdCost { get; set; }
public bool RestrictToActive { get; set; } = true;
/// <summary>Commodity Supplier status.</summary>
public StatusCat StatusCat { get; set; } = StatusCat.Any;
public StatusCat StatusCat { get; set; } = StatusCat.NotDeleted;
// Utilities.
public List<StringPair> GetDisplayValues()
{
@@ -395,7 +395,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
//-------------------------------------------------------------------
// Construction.
protected SbmConstituent(ISbmUserContext userContext, SysId id, SysId affIdOwner, SysId assocId, Sbm.ConstituentType constituentType) : base(userContext)
protected SbmConstituent(ISbmUserContext_Core userContext, SysId id, SysId affIdOwner, SysId assocId, Sbm.ConstituentType constituentType) : base(userContext)
{
base.SetData(data);
Id = id;
@@ -680,7 +680,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
public DateTime UpdatedSince { get; set; }
public bool UseJobNumber { get; set; }
/// <summary>Constituent status.</summary>
public StatusCat StatusCat { get; set; } = StatusCat.Any;
public StatusCat StatusCat { get; set; } = StatusCat.NotDeleted;
}
}
//=======================================================================
@@ -156,7 +156,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
//-------------------------------------------------------------------
// Construction.
protected SbmContainer(ISbmUserContext userContext, SysId id, SysId affiliateIdOwner, Sbm.ContainerCategory containerCategory, Sbm.ContainerType containerType) : base(userContext, id)
protected SbmContainer(ISbmUserContext_Core userContext, SysId id, SysId affiliateIdOwner, Sbm.ContainerCategory containerCategory, Sbm.ContainerType containerType) : base(userContext, id)
{
base.SetData(data);
AffiliateIdOwner = affiliateIdOwner;
@@ -275,6 +275,8 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
Any,
ActiveOnly,
InactiveOnly,
NotDeleted,
DeletedOnly
}
/// <summary>
/// Item list parameters.
@@ -322,7 +324,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
public bool HasItems { get; set; }
public SaStatus ContainerStatus { get; set; }
/// <summary>Container status.</summary>
public StatusCat StatusCat { get; set; } = StatusCat.Any;
public StatusCat StatusCat { get; set; } = StatusCat.NotDeleted;
// Utilities.
public List<StringPair> GetDisplayValues()
{
@@ -159,7 +159,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
//-------------------------------------------------------------------
// Construction.
protected SbmContainerItem(ISbmUserContext userContext, SysId containerId, Sbm.ItemType itemType, SysId itemId) : base(userContext)
protected SbmContainerItem(ISbmUserContext_Core userContext, SysId containerId, Sbm.ItemType itemType, SysId itemId) : base(userContext)
{
base.SetData(data);
ContainerId = containerId;
@@ -265,7 +265,9 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
public enum StatusCat
{
Any,
ActiveOnly
ActiveOnly,
NotDeleted,
DeletedOnly
}
/// <summary>Item list parameters.</summary>
public new class Params : SacsHierarchyItem.Params
@@ -296,7 +298,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
public SaStatus ContainerStatus { get; set; }
public bool ContainerHasItems { get; set; } = false;
/// <summary>Container Item status.</summary>
public StatusCat StatusCat { get; set; } = StatusCat.Any;
public StatusCat StatusCat { get; set; } = StatusCat.NotDeleted;
// Utilities.
public List<StringPair> GetDisplayValues()
{
@@ -134,13 +134,13 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
//-------------------------------------------------------------------
// Construction.
public SbmCostEstimate(ISbmUserContext userContext, Sbm.CostEstimateCategory costEstimateCategory) : base(userContext)
public SbmCostEstimate(ISbmUserContext_Core userContext, Sbm.CostEstimateCategory costEstimateCategory) : base(userContext)
{
CostEstimateCategory = costEstimateCategory;
Status = DefaultStatus;
}
// Conversion from ItemLink.
public SbmCostEstimate(ISbmUserContext userContext, String archive) : base(userContext)
public SbmCostEstimate(ISbmUserContext_Core userContext, String archive) : base(userContext)
{
String[] data = archive.Split(new String[] { delimArchive }, StringSplitOptions.None);
costEstimateCategory = (Sbm.CostEstimateCategory)(data.Length > 0 ? StringUtil.ToShort(data[0]) : 0);
@@ -442,7 +442,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
}
//-------------------------------------------------------------------
public static void SetCommodityCosts(this List<SbmCostEstimate> values, ISbmUserContext userContext, SbmCommodity commodity, decimal quantity)
public static void SetCommodityCosts(this List<SbmCostEstimate> values, ISbmUserContext_Core userContext, SbmCommodity commodity, decimal quantity)
{
// Retrieve costs from commodity and remove unwanted costs (for other quantities).
List<SbmCostEstimate> costEstimatesCommodity = commodity.GetCostEstimates();
@@ -9,18 +9,18 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
{
//-------------------------------------------------------------------
// Construction.
protected SbmHierarchyItem(ISbmUserContext userContext) : base()
protected SbmHierarchyItem(ISbmUserContext_Core userContext) : base()
{
UserContext = userContext;
}
protected SbmHierarchyItem(ISbmUserContext userContext, SysId id) : base(id)
protected SbmHierarchyItem(ISbmUserContext_Core userContext, SysId id) : base(id)
{
UserContext = userContext;
}
//-------------------------------------------------------------------
// Properties.
public ISbmUserContext UserContext { get; }
public ISbmUserContext_Core UserContext { get; }
//-------------------------------------------------------------------
}
@@ -118,7 +118,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
//-------------------------------------------------------------------
// Construction.
protected SbmItemBatch(ISbmUserContext userContext, SysId id, SysId affiliateIdOwner, Sbm.ItemBatchType itemBatchType, String refs) : base(userContext, id)
protected SbmItemBatch(ISbmUserContext_Core userContext, SysId id, SysId affiliateIdOwner, Sbm.ItemBatchType itemBatchType, String refs) : base(userContext, id)
{
base.SetData(data);
AffiliateIdOwner = affiliateIdOwner;
@@ -213,6 +213,8 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
public enum StatusCat
{
Any,
NotDeleted,
DeletedOnly
}
/// <summary>
/// Item list parameters.
@@ -229,7 +231,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
public String DescBrief { get; set; }
public bool NotCompleted { get; set; }
public StatusCat StatusCat { get; set; } = StatusCat.Any;
public StatusCat StatusCat { get; set; } = StatusCat.NotDeleted;
}
//-------------------------------------------------------------------
}
+4 -2
View File
@@ -152,7 +152,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
//-------------------------------------------------------------------
// Construction.
protected SbmItemLink(ISbmUserContext userContext, SysId id, Sbm.ItemLinkType itemLinkType, Sbm.ItemType itemTypeFrom, SysId itemIdFrom, Sbm.ItemType itemTypeTo, SysId itemIdTo) : base(userContext, id)
protected SbmItemLink(ISbmUserContext_Core userContext, SysId id, Sbm.ItemLinkType itemLinkType, Sbm.ItemType itemTypeFrom, SysId itemIdFrom, Sbm.ItemType itemTypeTo, SysId itemIdTo) : base(userContext, id)
{
base.SetData(data);
ItemLinkType = itemLinkType;
@@ -357,6 +357,8 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
public enum StatusCat
{
Any,
NotDeleted,
DeletedOnly
}
/// <summary>
/// Item list parameters.
@@ -376,7 +378,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
public DateTime Completed { get; set; }
public String DataContent { get; set; }
public StatusCat StatusCat { get; set; } = StatusCat.Any;
public StatusCat StatusCat { get; set; } = StatusCat.NotDeleted;
}
//-------------------------------------------------------------------
}
@@ -92,12 +92,12 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
//-------------------------------------------------------------------
// Construction.
public SbmItemPrice(ISbmUserContext userContext) : base(userContext)
public SbmItemPrice(ISbmUserContext_Core userContext) : base(userContext)
{
Status = DefaultStatus;
}
// Conversion from ItemLink.
public SbmItemPrice(ISbmUserContext userContext, String archive) : base(userContext)
public SbmItemPrice(ISbmUserContext_Core userContext, String archive) : base(userContext)
{
String[] data = archive.Split(new String[] { delimArchive }, StringSplitOptions.None);
type = (data.Length > 1 ? data[1] : "");
@@ -185,7 +185,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
//-------------------------------------------------------------------
// Construction.
protected SbmItemProcess(ISbmUserContext userContext, Sbm.ItemType itemType, SysId itemId, SysId processId) : base(userContext)
protected SbmItemProcess(ISbmUserContext_Core userContext, Sbm.ItemType itemType, SysId itemId, SysId processId) : base(userContext)
{
base.SetData(data);
ItemType = itemType;
@@ -334,11 +334,14 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
//-------------------------------------------------------------------
// P a r a m s
//-------------------------------------------------------------------
/// <summary>Parameters - used to define the filters that should be applied to a List of Item Processses</summary>
/// <summary>Parameters - used to define the filters that should be applied to a List of Item Processes</summary>
// List parameters.
public enum StatusCat
{
Any, ActiveOnly,
Any,
ActiveOnly,
NotDeleted,
DeletedOnly
}
/// <summary>
/// Item list parameters.
@@ -354,7 +357,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
public SysId ProcessId { get; set; }
public bool RestrictToActive { get; set; }
public StatusCat StatusCat { get; set; } = StatusCat.Any;
public StatusCat StatusCat { get; set; } = StatusCat.NotDeleted;
}
//-------------------------------------------------------------------
}
+4 -2
View File
@@ -113,7 +113,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
//-------------------------------------------------------------------
// Construction.
protected SbmLocation(ISbmUserContext userContext, SysId id, SysId affiliateIdOwner, Sbm.LocationCategory locationCategory) : base(userContext, id)
protected SbmLocation(ISbmUserContext_Core userContext, SysId id, SysId affiliateIdOwner, Sbm.LocationCategory locationCategory) : base(userContext, id)
{
base.SetData(data);
AffiliateIdOwner = affiliateIdOwner;
@@ -212,6 +212,8 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
Any,
ActiveOnly,
InactiveOnly,
NotDeleted,
DeletedOnly
}
/// <summary>
/// Item list parameters.
@@ -231,7 +233,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
public bool RestrictToSalesStock { get; set; } = false;
public bool RestrictToCalculateStock { get; set; } = false;
/// <summary>Location status.</summary>
public StatusCat StatusCat { get; set; } = StatusCat.Any;
public StatusCat StatusCat { get; set; } = StatusCat.NotDeleted;
// Utilities.
public List<StringPair> GetDisplayValues()
{
+4 -2
View File
@@ -171,7 +171,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
public static readonly Byte Flag_DiaryEntry = 0x01;
//-------------------------------------------------------------------
// Construction.
protected SbmMovement(ISbmUserContext userContext, SysId id, Sbm.ItemType itemType, SysId itemId, Sbm.MovementType movementType) : base(userContext, id)
protected SbmMovement(ISbmUserContext_Core userContext, SysId id, Sbm.ItemType itemType, SysId itemId, Sbm.MovementType movementType) : base(userContext, id)
{
base.SetData(data);
ItemType = itemType;
@@ -296,6 +296,8 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
public enum StatusCat
{
Any,
NotDeleted,
DeletedOnly
}
/// <summary>
/// Item list parameters.
@@ -326,7 +328,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
public SysId MovementIdSource { get; set; }
public SaStatus Status { get; set; }
/// <summary>Movement status.</summary>
public StatusCat StatusCat { get; set; } = StatusCat.Any;
public StatusCat StatusCat { get; set; } = StatusCat.NotDeleted;
// Utilities.
public List<StringPair> GetDisplayValues()
{
@@ -180,7 +180,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
//-------------------------------------------------------------------
// Construction.
protected SbmPortfolioItem(ISbmUserContext userContext, SysId id, SysId affiliateIdOwner, Sbm.PortfolioItemType portfolioItemType) : base(userContext, id)
protected SbmPortfolioItem(ISbmUserContext_Core userContext, SysId id, SysId affiliateIdOwner, Sbm.PortfolioItemType portfolioItemType) : base(userContext, id)
{
base.SetData(data);
AffiliateIdOwner = affiliateIdOwner;
@@ -346,7 +346,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
public String CodePartial { get; set; }
public String ShortCut { get; set; }
/// <summary>Portfolio Item status.</summary>
public StatusCat StatusCat { get; set; } = StatusCat.Any;
public StatusCat StatusCat { get; set; } = StatusCat.NotDeleted;
// Utilities.
public List<StringPair> GetDisplayValues()
{
+4 -2
View File
@@ -163,7 +163,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
//-------------------------------------------------------------------
// Construction.
protected SbmPrice(ISbmUserContext userContext, SysId priceSetId, SysId commodityId, Sbm.PriceType priceType) : base(userContext)
protected SbmPrice(ISbmUserContext_Core userContext, SysId priceSetId, SysId commodityId, Sbm.PriceType priceType) : base(userContext)
{
base.SetData(data);
PriceSetId = priceSetId;
@@ -274,6 +274,8 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
{
Any,
ActiveOnly,
NotDeleted,
DeletedOnly
}
/// <summary>
/// Item list parameters.
@@ -289,7 +291,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
public Sbm.PriceRounderMethod RounderMethod { get; set; } = Sbm.PriceRounderMethod.Unknown;
public Sbm.PriceRounderDirection RounderDirection { get; set; } = Sbm.PriceRounderDirection.Unknown;
/// <summary>Price status.</summary>
public StatusCat StatusCat { get; set; } = StatusCat.Any;
public StatusCat StatusCat { get; set; } = StatusCat.NotDeleted;
// Utilities.
public List<StringPair> GetDisplayValues()
{
+5 -3
View File
@@ -121,7 +121,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
//-------------------------------------------------------------------
// Construction.
protected SbmPriceSet(ISbmUserContext userContext, SysId id, SysId affiliateIdOwner, String reference, Sbm.PriceType priceType) : base(userContext, id)
protected SbmPriceSet(ISbmUserContext_Core userContext, SysId id, SysId affiliateIdOwner, String reference, Sbm.PriceType priceType) : base(userContext, id)
{
base.SetData(data);
AffiliateIdOwner = affiliateIdOwner;
@@ -221,7 +221,9 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
public enum StatusCat
{
Any,
ActiveOnly
ActiveOnly,
NotDeleted,
DeletedOnly
}
/// <summary>
/// Item list parameters.
@@ -238,7 +240,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
public String Name { get; set; }
public String NamePartial { get; set; }
/// <summary>Price Set status.</summary>
public StatusCat StatusCat { get; set; } = StatusCat.Any;
public StatusCat StatusCat { get; set; } = StatusCat.NotDeleted;
// Utilities.
public List<StringPair> GetDisplayValues()
{
+1 -1
View File
@@ -129,7 +129,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
//-------------------------------------------------------------------
// Construction.
protected SbmProcess(ISbmUserContext userContext, SysId id, SysId affiliateIdOwner, Sbm.ProcessCategory processCategory) : base(userContext, id)
protected SbmProcess(ISbmUserContext_Core userContext, SysId id, SysId affiliateIdOwner, Sbm.ProcessCategory processCategory) : base(userContext, id)
{
base.SetData(data);
AffiliateIdOwner = affiliateIdOwner;
@@ -702,7 +702,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
//-------------------------------------------------------------------
// Construction.
protected SbmRequirement(ISbmUserContext userContext, SysId id, SysId affiliateIdOwner, SysId associationId, SysId transactionId, Sbm.RequirementType requirementType) : base(userContext, id)
protected SbmRequirement(ISbmUserContext_Core userContext, SysId id, SysId affiliateIdOwner, SysId associationId, SysId transactionId, Sbm.RequirementType requirementType) : base(userContext, id)
{
base.SetData(data);
AffiliateIdOwner = affiliateIdOwner;
@@ -1251,7 +1251,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
public SysId TransReqntSourceId { get; set; } // Identifies the transaction to which the source requirement belongs.
public Sbm.TransactionType TransactionType { get; set; } = Sbm.TransactionType.Any;
public SysId TransLocationIdStock { get; set; }
public SbmTransaction.StatusCat TransactionStatusCat { get; set; } = SbmTransaction.StatusCat.Any;
public SbmTransaction.StatusCat TransactionStatusCat { get; set; } = SbmTransaction.StatusCat.NotDeleted;
public String TransRefPartial { get; set; }
public String TransRefExtPartial { get; set; }
public String TransDescBriefPartial { get; set; }
@@ -140,14 +140,14 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
//-------------------------------------------------------------------
// Construction.
public SbmRequirementCosts(ISbmUserContext userContext)
public SbmRequirementCosts(ISbmUserContext_Core userContext)
{
UserContext = userContext;
}
//-------------------------------------------------------------------
// Properties.
public ISbmUserContext UserContext { get; }
public ISbmUserContext_Core UserContext { get; }
//-------------------------------------------------------------------
// Calculation.
@@ -156,7 +156,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
//-------------------------------------------------------------------
// Construction.
protected SbmStockLevel(ISbmUserContext userContext, SysId id, SysId idCommodity, SysId idLocation, Sbm.StockLevelType type, Sbm.StockLevelSource source) : base(userContext, id)
protected SbmStockLevel(ISbmUserContext_Core userContext, SysId id, SysId idCommodity, SysId idLocation, Sbm.StockLevelType type, Sbm.StockLevelSource source) : base(userContext, id)
{
base.SetData(data);
CommodityId = idCommodity;
+1 -1
View File
@@ -123,7 +123,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
//-------------------------------------------------------------------
// Construction.
protected SbmSysParam(ISbmUserContext userContext, SysId id, Sbm.SysParamCategory category, String name) : base(userContext, id)
protected SbmSysParam(ISbmUserContext_Core userContext, SysId id, Sbm.SysParamCategory category, String name) : base(userContext, id)
{
base.SetData(data);
Category = category;
@@ -135,7 +135,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
//-------------------------------------------------------------------
// Construction.
protected SbmSystemAccount(ISbmUserContext userContext, SysId id, SysId affiliateIdOwner, Sbm.SystemAccountType systemAccountType, SysId interfaceId, SysId associationId) : base(userContext, id)
protected SbmSystemAccount(ISbmUserContext_Core userContext, SysId id, SysId affiliateIdOwner, Sbm.SystemAccountType systemAccountType, SysId interfaceId, SysId associationId) : base(userContext, id)
{
base.SetData(data);
AffiliateIdOwner = affiliateIdOwner;
@@ -91,7 +91,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
//-------------------------------------------------------------------
// Construction.
protected SbmSystemAccountUser(ISbmUserContext userContext, SysId accountId, SysId userId) : base(userContext)
protected SbmSystemAccountUser(ISbmUserContext_Core userContext, SysId accountId, SysId userId) : base(userContext)
{
base.SetData(data);
AccountId = accountId;
@@ -116,7 +116,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
//-------------------------------------------------------------------
// Construction.
protected SbmSystemUser(ISbmUserContext userContext, SysId id, SysId affiliateIdOwner, SysId interfaceId, SysId affiliateId) : base(userContext, id)
protected SbmSystemUser(ISbmUserContext_Core userContext, SysId id, SysId affiliateIdOwner, SysId interfaceId, SysId affiliateId) : base(userContext, id)
{
base.SetData(data);
AffiliateIdOwner = affiliateIdOwner;
@@ -1,4 +1,5 @@
using Sarand.BusinessMgr.Net.Standard.Base.App;
using Sarand.BusinessMgr.Net.Standard.Base.Consoles;
using Sarand.BusinessMgr.Net.Standard.Base.Core;
using Sarand.Net.Standard.Base.Bus;
using Sarand.Net.Standard.Base.Core;
@@ -647,7 +648,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
//-------------------------------------------------------------------
// Construction.
protected SbmTransaction(ISbmUserContext userContext, SysId id, SysId affiliateIdOwner, SysId associationId, Sbm.TransactionType transactionType) : base(userContext, id)
protected SbmTransaction(ISbmUserContext_Core userContext, SysId id, SysId affiliateIdOwner, SysId associationId, Sbm.TransactionType transactionType) : base(userContext, id)
{
base.SetData(data);
Id = id;
@@ -789,7 +790,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
//-------------------------------------------------------------------
// Status Categories.
public static List<TypeCodeDesc> GetTransactionStatusCats(ISbmUserContext userContext, Sbm.TransactionType transactionType)
public static List<TypeCodeDesc> GetTransactionStatusCats(ISbmUserContext_Core userContext, Sbm.TransactionType transactionType)
{
List<TypeCodeDesc> statusCats = new List<TypeCodeDesc>();
List<TypeCodeDesc> statusCatsFull = SbmSystem.GetCodesOfType(userContext, Sbm.SystemCode.TransactionStatusCat);
@@ -850,7 +851,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
{
return GetTaxEffectiveDate(UserContext, TransactionType, Status, Raised, InProgress, Closed);
}
public static DateTime GetTaxEffectiveDate(ISbmUserContext userContext, Sbm.TransactionType transactionType, SaStatus status, DateTime raised, DateTime inProgress, DateTime closed)
public static DateTime GetTaxEffectiveDate(ISbmUserContext_Core userContext, Sbm.TransactionType transactionType, SaStatus status, DateTime raised, DateTime inProgress, DateTime closed)
{
// Original thinking was that the status would have an effect on the tax point.
SbmTransaction.StatusCat transactionStatusCat = GetCategoryForStatus(status);
@@ -1603,8 +1604,8 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
public abstract bool HasPendingStockMovements();
public abstract bool HasDiaryLinks();
//public abstract void SetDefaults(class SbmRequirement *) const;
public abstract long GetRequirementCount(SbmRequirement.StatusCat requirementStatusCat = SbmRequirement.StatusCat.Any);
public abstract List<SbmRequirement> GetRequirements(SbmRequirement.StatusCat requirementStatusCat = SbmRequirement.StatusCat.Any);
public abstract long GetRequirementCount(SbmRequirement.StatusCat requirementStatusCat = SbmRequirement.StatusCat.NotDeleted);
public abstract List<SbmRequirement> GetRequirements(SbmRequirement.StatusCat requirementStatusCat = SbmRequirement.StatusCat.NotDeleted);
public abstract bool ItemsRequireJobNumber();
public abstract bool UpdateRequirements(List<SbmRequirement> requirements);
public abstract bool CommitAssociatedData();
@@ -90,12 +90,12 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
//-------------------------------------------------------------------
// Construction.
public SbmTransactionPayment(ISbmUserContext userContext) : base(userContext)
public SbmTransactionPayment(ISbmUserContext_Core userContext) : base(userContext)
{
Status = DefaultStatus;
}
// Conversion from ItemLink.
public SbmTransactionPayment(ISbmUserContext userContext, String archive) : base(userContext)
public SbmTransactionPayment(ISbmUserContext_Core userContext, String archive) : base(userContext)
{
String[] data = archive.Split(new String[] { delimArchive }, StringSplitOptions.None);
type = (data.Length > 1 ? data[1] : "");
+2 -2
View File
@@ -333,7 +333,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
//-------------------------------------------------------------------
// Construction.
protected SbmVehicle(ISbmUserContext userContext, SysId id) : base(userContext, id)
protected SbmVehicle(ISbmUserContext_Core userContext, SysId id) : base(userContext, id)
{
base.SetData(data);
//Database = database;
@@ -348,7 +348,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
SaStatus.Cancelled,
};
public static SaStatus DefaultStatus { get { return SaStatus.Current; } }
public static List<SaStatus> VehicleStatuses { get { return new List<SaStatus>(vehicleStatuses); } }
public static List<SaStatus> ValidStatuses { get { return new List<SaStatus>(vehicleStatuses); } }
public static DataValue.TriStateType GetStatusTriState(SaStatus status)
{
switch (status)
@@ -63,7 +63,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
public Sbm.VehicleType VehicleType { get; set; } = Sbm.VehicleType.Unknown;
public String VehicleCategoryCode { get; set; } = "";
public Sbm.VehicleFuelType FuelType { get; set; } = Sbm.VehicleFuelType.Unknown;
public Sbm.VehicleOdometerUnits OdometerUnits { get; set; } = Sbm.VehicleOdometerUnits.OdoUnits_Unknown;
public Sbm.VehicleOdometerUnits OdometerUnits { get; set; } = Sbm.VehicleOdometerUnits.Unknown;
public short Seats { get; set; } = 0;
public decimal Weight { get; set; } = 0.0m;
public String InsuranceCode { get; set; } = "";
@@ -236,7 +236,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
public static readonly Byte Flag_DescBriefFixed = 0x01;
//-------------------------------------------------------------------
// Construction.
protected SbmVehicleClass(ISbmUserContext userContext, SysId id) : base(userContext, id)
protected SbmVehicleClass(ISbmUserContext_Core userContext, SysId id) : base(userContext, id)
{
base.SetData(data);
Status = DefaultStatus;
@@ -247,22 +247,19 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
private static readonly List<SaStatus> vehicleClassStatuses = new List<SaStatus>()
{
SaStatus.Active,
SaStatus.Cancelled,
SaStatus.Inactive,
SaStatus.Deleted,
};
public static SaStatus DefaultStatus { get { return SaStatus.Current; } }
public static List<SaStatus> VehicleClassStatuses { get { return new List<SaStatus>(vehicleClassStatuses); } }
public static SaStatus DefaultStatus { get { return SaStatus.Active; } }
public static List<SaStatus> ValidStatuses { get { return new List<SaStatus>(vehicleClassStatuses); } }
public static DataValue.TriStateType GetStatusTriState(SaStatus status)
{
switch (status)
{
case SaStatus.Active:
return DataValue.TriStateType.Green;
case SaStatus.Awaiting:
case SaStatus.Inactive:
return DataValue.TriStateType.Amber;
case SaStatus.Disabled:
return DataValue.TriStateType.Red;
case SaStatus.Cancelled:
return DataValue.TriStateType.Red;
case SaStatus.Deleted:
return DataValue.TriStateType.Purple;
}
@@ -420,7 +417,9 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
{
Any,
ActiveOnly,
CancelledOnly,
InactiveOnly,
NotDeleted,
DeletedOnly
}
/// <summary>
/// Item list parameters.
@@ -428,9 +427,11 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
public new class Params : SacsHierarchyItem.Params
{
// List filtering.
public List<SysId> IncludedIds { get; } = new List<SysId>();
public List<SysId> ExcludedIds { get; } = new List<SysId>();
// VehicleClass.
public List<SysId> IdsIncluded { get; } = new List<SysId>();
public List<SysId> IdsExcluded { get; } = new List<SysId>();
/// <summary>Generic property search - make, model, derivative etc.</summary>
public String Search { get; set; }
// Item properties.
public String MakeCode { get; set; }
public String Model { get; set; }
public String ModelPartial { get; set; }
@@ -438,9 +439,8 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
public String DescBriefPartial { get; set; }
public String Derivative { get; set; }
public String VehicleCategoryCode { get; set; }
public bool RestrictToActive { get; set; }
/// <summary>Vehicle Class status.</summary>
public StatusCat StatusCat { get; set; } = StatusCat.Any;
public StatusCat StatusCat { get; set; } = StatusCat.NotDeleted;
// Utilities.
public List<StringPair> GetDisplayValues()
{
@@ -185,7 +185,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
//-------------------------------------------------------------------
// Construction.
protected SbmVehicleEvent(ISbmUserContext userContext, SysId vehicleId, Sbm.VehicleEventType vehicleEventType) : base(userContext, vehicleId)
protected SbmVehicleEvent(ISbmUserContext_Core userContext, SysId vehicleId, Sbm.VehicleEventType vehicleEventType) : base(userContext, vehicleId)
{
base.SetData(data);
VehicleId = vehicleId;
@@ -201,7 +201,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
SaStatus.Cancelled,
};
public static SaStatus DefaultStatus { get { return SaStatus.Current; } }
public static List<SaStatus> VehicleEventStatuses { get { return new List<SaStatus>(vehicleEventStatuses); } }
public static List<SaStatus> ValidStatuses { get { return new List<SaStatus>(vehicleEventStatuses); } }
public static DataValue.TriStateType GetStatusTriState(SaStatus status)
{
switch (status)
@@ -162,7 +162,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
//-------------------------------------------------------------------
// Construction.
protected SbmVehicleFeature(ISbmUserContext userContext, SysId vehicleId, Sbm.VehicleFeatureSource vehicleFeatureSource, Sbm.VehicleFeatureType vehicleFeatureType) : base(userContext)
protected SbmVehicleFeature(ISbmUserContext_Core userContext, SysId vehicleId, Sbm.VehicleFeatureSource vehicleFeatureSource, Sbm.VehicleFeatureType vehicleFeatureType) : base(userContext)
{
base.SetData(data);
VehicleId = vehicleId;
@@ -179,7 +179,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus
SaStatus.Cancelled,
};
public static SaStatus DefaultStatus { get { return SaStatus.Current; } }
public static List<SaStatus> VehicleFeatureStatuses { get { return new List<SaStatus>(vehicleFeatureStatuses); } }
public static List<SaStatus> ValidStatuses { get { return new List<SaStatus>(vehicleFeatureStatuses); } }
public static DataValue.TriStateType GetStatusTriState(SaStatus status)
{
switch (status)