51 lines
2.3 KiB
C#
51 lines
2.3 KiB
C#
using System;
|
|
using System.ComponentModel.DataAnnotations;
|
|
using System.ComponentModel.DataAnnotations.Schema;
|
|
using Sockeye.Biz;
|
|
using Newtonsoft.Json;
|
|
|
|
namespace Sockeye.Models
|
|
{
|
|
//https://stackoverflow.com/questions/46517584/how-to-add-a-parent-record-with-its-children-records-in-ef-core#46615455
|
|
public class IntegrationItem
|
|
{
|
|
public long Id { get; set; }
|
|
public uint Concurrency { get; set; }
|
|
|
|
[Required]
|
|
public long IntegrationId { get; set; }
|
|
|
|
[Required]
|
|
public long ObjectId { get; set; }
|
|
[Required]
|
|
public SockType SockType { get; set; }
|
|
[Required]
|
|
public string IntegrationItemId { get; set; }//foreign id (e.g. QB Id)
|
|
public string IntegrationItemName { get; set; }//foreign object's name for UI, not required if not displayed anywhere
|
|
public DateTime? LastSync { get; set; }//optional, used by qbi
|
|
public string IntegrationItemData { get; set; }//foreign object data store for this item, unused by any Sockeye add-on's in the past but might be useful for others, expect json or xml or some other text value here
|
|
|
|
|
|
[JsonIgnore]
|
|
public Integration Integration { get; set; }
|
|
|
|
}//eoc
|
|
|
|
}//eons
|
|
|
|
// CREATE TABLE [dbo].[AINTEGRATIONMAP](
|
|
// [AID] [uniqueidentifier] NOT NULL,
|
|
// [ACREATED] [datetime] NOT NULL,
|
|
// [AMODIFIED] [datetime] NOT NULL,
|
|
// [ACREATOR] [uniqueidentifier] NOT NULL,
|
|
// [AMODIFIER] [uniqueidentifier] NOT NULL,
|
|
// [AINTEGRATIONID] [uniqueidentifier] NOT NULL,
|
|
// [AROOTOBJECTID] [uniqueidentifier] NOT NULL, <--Now "ObjectId"
|
|
// [AROOTOBJECTTYPE] [smallint] NOT NULL, <-- now "SockType"
|
|
// [AFOREIGNID] [nvarchar](255) NOT NULL, <-- renamed to "IntegrationItemId" still 255 char string
|
|
// [ANAME] [nvarchar](255) NULL, <--keep rename to "IntegrationItemName"
|
|
// [AFOREIGNCHECKSUM] [nvarchar](255) NULL, drop was not used and thsi is hwat the lastsynch is for anyway
|
|
// [ASOCKEYECHECKSUM] [nvarchar](255) NULL, drop was not used and thsi is hwat the lastsynch is for anyway
|
|
// [AMAPOBJECT] [image] NULL, Now "IntegrationItemData"
|
|
// [AMAPOBJECTSIZE] [int] NULL, dropped, expects to be json data now, size is irrelevant as it's not a binary object anymore
|
|
// [ALASTSYNC] [datetime] NOT NULL, |