diff --git a/FruitBank.Common/Entities/EkaerHistory.cs b/FruitBank.Common/Entities/EkaerHistory.cs
new file mode 100644
index 00000000..70fba14a
--- /dev/null
+++ b/FruitBank.Common/Entities/EkaerHistory.cs
@@ -0,0 +1,58 @@
+using AyCode.Core.Serializers.Attributes;
+using AyCode.Core.Serializers.Toons;
+using AyCode.Interfaces.TimeStampInfo;
+using LinqToDB.Mapping;
+using Mango.Nop.Core.Entities;
+
+namespace FruitBank.Common.Entities;
+
+[AcBinarySerializable(false, true, false, true, false, false)]
+//[ToonDescription("Business partner with address and tax information", Purpose = "Represents an external legal entity, specifically a Supplier who provides goods or a business partner involved in the procurement chain")]
+[Table(Name = FruitBankConstClient.EkaerHistoryDbTableName)]
+[System.ComponentModel.DataAnnotations.Schema.Table(FruitBankConstClient.EkaerHistoryDbTableName)]
+
+public abstract class EkaerHistory: MgEntityBase, ITimeStampInfo
+{
+ public int ForeignKey { get; set; }
+ public bool IsOutgoing { get; set; }
+
+ public DateTime Created { get; set; }
+ public DateTime Modified { get; set; }
+}
+
+//public sealed class EkaerHistoryShipping : EkaerHistoryBase
+//{
+// public int ShippingId
+// {
+// get => ForeignItemId;
+// set => ForeignItemId = value;
+// }
+
+// [Association(ThisKey = nameof(ShippingId), OtherKey = nameof(Shipping.Id), CanBeNull = true)]
+// public Shipping? Shipping { get; set; }
+//}
+
+//public sealed class EkaerHistoryOrder : EkaerHistoryBase
+//{
+// public int ShippingId
+// {
+// get => ForeignItemId;
+// set => ForeignItemId = value;
+// }
+
+// [Association(ThisKey = nameof(ShippingId), OtherKey = nameof(Shipping.Id), CanBeNull = true)]
+// public Shipping? Shipping { get; set; }
+//}
+
+//public abstract class EkaerHistoryBase : MgEntityBase, ITimeStampInfo
+//{
+// [NotColumn]
+// protected int ForeignItemId;
+
+// [NotColumn]
+// [ToonDescription(BusinessRule = "get => ForeignItemId", Constraints = "[#SmartTypeConstraints]")]
+// public int ForeignKey => ForeignItemId;
+
+// public DateTime Created { get; set; }
+// public DateTime Modified { get; set; }
+//}
\ No newline at end of file
diff --git a/FruitBank.Common/Entities/Partner.cs b/FruitBank.Common/Entities/Partner.cs
index f4793dee..0acd2457 100644
--- a/FruitBank.Common/Entities/Partner.cs
+++ b/FruitBank.Common/Entities/Partner.cs
@@ -2,7 +2,6 @@
using AyCode.Core.Serializers.Toons;
using FruitBank.Common.Interfaces;
using LinqToDB.Mapping;
-using Mango.Nop.Core.Entities;
namespace FruitBank.Common.Entities;
diff --git a/FruitBank.Common/Entities/PartnerDepot.cs b/FruitBank.Common/Entities/PartnerDepot.cs
new file mode 100644
index 00000000..94f91a41
--- /dev/null
+++ b/FruitBank.Common/Entities/PartnerDepot.cs
@@ -0,0 +1,38 @@
+using AyCode.Core.Interfaces;
+using AyCode.Core.Serializers.Attributes;
+using AyCode.Interfaces.TimeStampInfo;
+using LinqToDB.Mapping;
+using Mango.Nop.Core.Entities;
+using System.ComponentModel.DataAnnotations.Schema;
+using System.Text.Json.Serialization;
+
+namespace FruitBank.Common.Entities;
+
+[AcBinarySerializable(false, true, false, true, false, false)]
+//[ToonDescription("Business partner with address and tax information", Purpose = "Represents an external legal entity, specifically a Supplier who provides goods or a business partner involved in the procurement chain")]
+[LinqToDB.Mapping.Table(Name = FruitBankConstClient.PartnerDepotDbTableName)]
+[System.ComponentModel.DataAnnotations.Schema.Table(FruitBankConstClient.PartnerDepotDbTableName)]
+public sealed class PartnerDepot : MgEntityBase, ITimeStampInfo, ICompanyInfoBase
+{
+ public int PartnerId { get; set; }
+
+ public string Name { get; set;}
+
+ [NotColumn, NotMapped, Newtonsoft.Json.JsonIgnore, JsonIgnore]
+ public string? TaxId => Partner?.TaxId;
+
+ public string CountryCode { get; set; }
+ public string PostalCode { get; set;}
+ public string City { get; set;}
+ public string Street { get; set;}
+
+ [NotColumn, NotMapped, Newtonsoft.Json.JsonIgnore, JsonIgnore]
+ public string FullAddress => this.ComposeFullAddress() ?? string.Empty;
+
+ [Association(ThisKey = nameof(PartnerId), OtherKey = nameof(Partner.Id), CanBeNull = true)]
+ public Partner? Partner { get; set; }
+
+ [SkipValuesOnUpdate]
+ public DateTime Created { get; set; }
+ public DateTime Modified { get; set; }
+}
\ No newline at end of file
diff --git a/FruitBank.Common/FruitBankConstClient.cs b/FruitBank.Common/FruitBankConstClient.cs
index 74958298..e608f89c 100644
--- a/FruitBank.Common/FruitBankConstClient.cs
+++ b/FruitBank.Common/FruitBankConstClient.cs
@@ -30,6 +30,9 @@ public static class FruitBankConstClient
public const string PalletDbTableName = "fbPallet";
public const string FilesDbTableName = "fbFiles";
public const string PartnerDbTableName = "fbPartner";
+ public const string PartnerDepotDbTableName = "fbPartnerDepot";
+
+ public const string EkaerHistoryDbTableName = "fbEkaerHistory";
public const string OrderItemPalletDbTableName = "fbOrderItemPallet";
diff --git a/FruitBank.Common/SignalRs/SignalRTags.cs b/FruitBank.Common/SignalRs/SignalRTags.cs
index 298ca2ef..f49ba450 100644
--- a/FruitBank.Common/SignalRs/SignalRTags.cs
+++ b/FruitBank.Common/SignalRs/SignalRTags.cs
@@ -112,6 +112,17 @@ public class SignalRTags : AcSignalRTags
public const int GetStockTakingItemsByStockTakingId = 178;
public const int AddOrUpdateMeasuredStockTakingItemPallet = 179;
+ public const int GetPartnerDepots = 180;
+ public const int GetPartnerDepotById = 181;
+ public const int GetPartnerDepotsByPartnerId = 182;
+ public const int AddPartnerDepot = 183;
+ public const int UpdatePartnerDepot = 184;
+
+ public const int GetEkaerHistories = 185;
+ public const int GetEkaerHistoryById = 186;
+ //public const int GetEkaerHistoriesByForeignKey = 187;
+ public const int AddEkaerHistory = 188;
+ public const int UpdateEkaerHistory = 189;
public const int AuthenticateUser = 195;
public const int RefreshToken = 200;
diff --git a/SqlSchemaCompare_Dev_to_Prod.scmp b/SqlSchemaCompare_Dev_to_Prod.scmp
index f22fcf7e..29d855b1 100644
--- a/SqlSchemaCompare_Dev_to_Prod.scmp
+++ b/SqlSchemaCompare_Dev_to_Prod.scmp
@@ -3,12 +3,12 @@
10
- Data Source=195.26.231.218;Initial Catalog=FruitBank_DEV;Integrated Security=False;Persist Security Info=False;User ID=sa;Pooling=False;Multiple Active Result Sets=False;Trust Server Certificate=True
+ Data Source=100.73.220.50;Initial Catalog=FruitBank_DEV;Integrated Security=False;Persist Security Info=False;User ID=sa;Pooling=False;Trust Server Certificate=True
- Data Source=195.26.231.218;Initial Catalog=FruitBank_PROD;Integrated Security=False;Persist Security Info=False;User ID=sa;Pooling=False;Multiple Active Result Sets=False;Trust Server Certificate=True
+ Data Source=100.73.220.50;Initial Catalog=FruitBank_PROD;Integrated Security=False;Persist Security Info=False;User ID=sa;Pooling=False;Trust Server Certificate=True
@@ -357,7 +357,7 @@
TargetConnectionString
- Data Source=195.26.231.218;Initial Catalog=FruitBank_PROD;Integrated Security=False;Persist Security Info=False;User ID=sa;Pooling=False;Multiple Active Result Sets=False;Trust Server Certificate=True;Application Name="Microsoft SQL Server Data Tools, Schema Compare"
+ Data Source=100.73.220.50;Initial Catalog=FruitBank_PROD;Integrated Security=False;Persist Security Info=False;User ID=sa;Pooling=False;Multiple Active Result Sets=False;Trust Server Certificate=True;Application Name="Microsoft SQL Server Data Tools, Schema Compare"
TreatVerificationErrorsAsWarnings
@@ -1002,17 +1002,13 @@
dbo
PK_AvalaraItemClassification
-
- dbo
- FacebookPixelConfiguration
-
dbo
PK_FacebookPixelConfiguration
dbo
- GoogleAuthenticatorRecord
+ FacebookPixelConfiguration
dbo
@@ -1020,12 +1016,16 @@
dbo
- TaxTransactionLog
+ GoogleAuthenticatorRecord
dbo
PK_TaxTransactionLog
+
+ dbo
+ TaxTransactionLog
+
dbo
vOrder