Extract paired business object projects
This commit is contained in:
@@ -0,0 +1,166 @@
|
||||
using Sarand.Net.Standard.Base.App;
|
||||
using Sarand.Net.Standard.Base.Bus;
|
||||
using Sarand.Net.Standard.Base.Core;
|
||||
using Sarand.Net.Standard.Base.Dbas;
|
||||
using Sarand.Net.Standard.Base.Utils;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Sarand.Net.Standard.Base.Interfaces
|
||||
{
|
||||
//=======================================================================
|
||||
public partial class SaInterfaceMgr
|
||||
{
|
||||
//*******************************************************************
|
||||
// I n t e r f a c e P r o c e s s M e s s a g e s
|
||||
//*******************************************************************
|
||||
// Retrieve individual interface process messages.
|
||||
public abstract bool InterfaceProcessMessageExistsById (SysId id);
|
||||
public abstract SaInterfaceProcessMessage GetInterfaceProcessMessageById (SysId id);
|
||||
public abstract SaInterfaceProcessMessage GetInterfaceProcessMessage (SaInterfaceProcessMessage.Params prm);
|
||||
|
||||
// Create Interface Process Message.
|
||||
public abstract SaInterfaceProcessMessage CreateInterfaceProcessMessage (SysId interfaceProcessId);
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Validate Interface Process Message.
|
||||
public bool IsValidInterfaceProcessMessage (SaInterfaceProcessMessage interfaceProcessMessage)
|
||||
{
|
||||
ClearErrorState();
|
||||
if (interfaceProcessMessage == null) return SetErrorState(ErrorMessage.ItemNotSpecified);
|
||||
return IsValidInterfaceProcessMessageData(interfaceProcessMessage.GetData(), new SaInterfaceProcessMessage.ErrField());
|
||||
}
|
||||
public virtual bool IsValidInterfaceProcessMessageData (SaInterfaceProcessMessage.Data data, SaInterfaceProcessMessage.ErrField errField)
|
||||
{
|
||||
ClearErrorState();
|
||||
if (errField.InterfaceProcessId != SacsHierarchyItem.ValidValue.Ignore && !SysId.IsValid(data.InterfaceProcessId))
|
||||
{
|
||||
errField.InterfaceProcessId = SacsHierarchyItem.ValidValue.Invalid;
|
||||
return SetErrorState("Process must be supplied");
|
||||
}
|
||||
if (errField.Level != SacsHierarchyItem.ValidValue.Ignore && (int)data.Level < 1)
|
||||
{
|
||||
errField.Level = SacsHierarchyItem.ValidValue.Invalid;
|
||||
return SetErrorState("Level must be supplied");
|
||||
}
|
||||
if (errField.Level != SacsHierarchyItem.ValidValue.Ignore && !IsValidValue(messageLevels.GetCodeForType(data.Level), "level", (long)SaInterfaceDbDfn.GetColTextLen(SaInterfaceDbDfn.ColumnIdx.SaInterfaceProcessMessage_MsgType), true, true))
|
||||
{
|
||||
errField.Level = SacsHierarchyItem.ValidValue.Invalid;
|
||||
return false;
|
||||
}
|
||||
if (errField.Message != SacsHierarchyItem.ValidValue.Ignore && !IsValidValue(data.Message, "message", (long)SaInterfaceDbDfn.GetColTextLen(SaInterfaceDbDfn.ColumnIdx.SaInterfaceProcessMessage_Msg), true))
|
||||
{
|
||||
errField.Message = SacsHierarchyItem.ValidValue.Invalid;
|
||||
return false;
|
||||
}
|
||||
if (errField.Filename != SacsHierarchyItem.ValidValue.Ignore && !IsValidValue(data.Filename, "filename", (long)SaInterfaceDbDfn.GetColTextLen(SaInterfaceDbDfn.ColumnIdx.SaInterfaceProcessMessage_FileName)))
|
||||
{
|
||||
errField.Filename = SacsHierarchyItem.ValidValue.Invalid;
|
||||
return false;
|
||||
}
|
||||
if (errField.LineNumber != SacsHierarchyItem.ValidValue.Ignore && data.LineNumber < 0)
|
||||
{
|
||||
errField.LineNumber = SacsHierarchyItem.ValidValue.Invalid;
|
||||
return SetErrorState("Invalid line number");
|
||||
}
|
||||
// Common properties.
|
||||
if (errField.Status != SacsHierarchyItem.ValidValue.Ignore && !SaInterfaceProcessMessage.ValidStatuses.Contains(data.Status))
|
||||
{
|
||||
errField.Status = SacsHierarchyItem.ValidValue.Invalid;
|
||||
return SetErrorState(ErrorMessage.InvalidStatus);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Interface Process Message database interface.
|
||||
public abstract bool InsertInterfaceProcessMessage (SaInterfaceProcessMessage interfaceProcessMessage, DbUpdateInfo dbUpdateInfo);
|
||||
public abstract bool UpdateInterfaceProcessMessage (SaInterfaceProcessMessage interfaceProcessMessage, DbUpdateInfo dbUpdateInfo);
|
||||
public virtual bool InterfaceProcessMessageCanBeDeleted (SaInterfaceProcessMessage interfaceProcessMessage)
|
||||
{
|
||||
ClearErrorState();
|
||||
return true;
|
||||
}
|
||||
public abstract bool DeleteInterfaceProcessMessage (SaInterfaceProcessMessage interfaceProcessMessage, DbUpdateInfo dbUpdateInfo);
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Interface Process Message list.
|
||||
public abstract ColumnDfn GetInterfaceProcessMessageColumnDfn (SaInterfaceProcessMessage.Column columnId, String caption = "", int width = 0);
|
||||
public abstract List<String> GetInterfaceProcessMessageQueryFilter (SaInterfaceProcessMessage.Params prm);
|
||||
public abstract long GetInterfaceProcessMessageCount (SaInterfaceProcessMessage.Params prm);
|
||||
public abstract List<SaInterfaceProcessMessage> GetInterfaceProcessMessageList (SaInterfaceProcessMessage.Params prm);
|
||||
public abstract DbResultSet ExecuteInterfaceProcessMessageQuery (List<ColumnDfn> columns, SaInterfaceProcessMessage.Params prm);
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
/// <summary>
|
||||
/// Extract and format result set data value where specific handling is required.
|
||||
/// <para>Where response is an invalid data value, format value using column.FormatValue(values).</para>
|
||||
/// </summary>
|
||||
public virtual DataValue GetInterfaceProcessMessageDataValue (ColumnDfn column, NamedValue.Map values)
|
||||
{
|
||||
DataValue value = new DataValue();
|
||||
switch ((SaInterfaceProcessMessage.Column)column.Id)
|
||||
{
|
||||
//-----------------------------------------------------------
|
||||
// Category.
|
||||
case SaInterfaceProcessMessage.Column.Level_Desc:
|
||||
{
|
||||
String level = values.GetValue(column.DataName).ToString();
|
||||
// Legacy 'Warning' code: 'WAR'.
|
||||
if (level.EndsWithCI(MessageTypeWarningAlt)) level = messageLevels.GetCodeForType(SaMessageLevel.Warning);
|
||||
value = new DataValue(messageLevels.GetDescForCode(level, level));
|
||||
}
|
||||
break;
|
||||
|
||||
//-----------------------------------------------------------
|
||||
// Item Type.
|
||||
case SaInterfaceProcessMessage.Column.ItemType_Desc:
|
||||
{
|
||||
short itemType = StringUtil.ToShort(values.GetValue(column.DataName).ToString());
|
||||
String itemTypeDesc = InterfaceConsole.GetItemTypeDesc(itemType);
|
||||
value = new DataValue(itemTypeDesc);
|
||||
}
|
||||
break;
|
||||
|
||||
//-----------------------------------------------------------
|
||||
// Item Type.
|
||||
case SaInterfaceProcessMessage.Column.Item_Caption:
|
||||
{
|
||||
short itemType = StringUtil.ToShort(values.GetValue(GetInterfaceProcessMessageColumnDfn(SaInterfaceProcessMessage.Column.ItemType).DataName).ToString());
|
||||
SysId itemId = new SysId(StringUtil.ToInt(values.GetValue(column.DataName).ToString()));
|
||||
String itemTypeDesc = InterfaceConsole.GetItemCaption(new ItemId(itemType,itemId));
|
||||
value = new DataValue(itemTypeDesc);
|
||||
}
|
||||
break;
|
||||
|
||||
//-----------------------------------------------------------
|
||||
// Notes.
|
||||
case SaInterfaceProcessMessage.Column.Notes:
|
||||
{
|
||||
value = new DataValue(SacsHierarchyItem.FormatForDisplay(values.GetValue(column.DataName).ToString(), 200));
|
||||
}
|
||||
break;
|
||||
|
||||
//-----------------------------------------------------------
|
||||
// Status.
|
||||
case SaInterfaceProcessMessage.Column.Status_Desc:
|
||||
case SaInterfaceProcessMessage.Column.Status_Ind:
|
||||
{
|
||||
String statusCode = values.GetValue(column.DataName).ToString();
|
||||
SaStatus status = SacsSystem.GetStatusForCode(statusCode);
|
||||
if (column.Id == (int)SaInterfaceProcessMessage.Column.Status_Desc)
|
||||
value = new DataValue(SacsSystem.GetStatusDescForCode(statusCode));
|
||||
else if (column.Id == (int)SaInterfaceProcessMessage.Column.Status_Ind)
|
||||
value = new DataValue(SaInterfaceProcessMessage.GetStatusTriState(status));
|
||||
}
|
||||
break;
|
||||
|
||||
//-----------------------------------------------------------
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
}
|
||||
Reference in New Issue
Block a user