Просмотр исходного кода

Merge branch 'Logikal-V2' into frank

frankvandenbos 1 месяц назад
Родитель
Сommit
b53299e763

+ 3 - 2
InABox.Integration.Logikal/Classes/BOM/ILogikalBOM.cs

@@ -2,8 +2,9 @@ using InABox.Integration.Awg;
 
 namespace InABox.Integration.Logikal
 {
-    public interface ILogikalBOM<TFinish,TProfile,TGasket,TComponent,TGlass,TLabour> 
-        : IAwgBOM<TFinish,TProfile,TGasket,TComponent,TGlass,TLabour> 
+    public interface ILogikalBOM<TGroup, TFinish,TProfile,TGasket,TComponent,TGlass,TLabour> 
+        : IAwgBOM<TGroup, TFinish,TProfile,TGasket,TComponent,TGlass,TLabour> 
+        where TGroup : ILogikalProductGroup
         where TFinish : ILogikalFinish
         where TProfile : ILogikalProfile
         where TGasket : ILogikalGasket

+ 3 - 2
InABox.Integration.Logikal/Classes/Elevation/ILogikalElevationDetail.cs

@@ -2,9 +2,10 @@ using System.Collections.Generic;
 
 namespace InABox.Integration.Logikal
 {
-    public interface ILogikalElevationDetail<TFinish, TProfile, TGasket, TComponent, TGlass, TLabour>  : 
-        ILogikalBOM<TFinish,TProfile,TGasket,TComponent,TGlass,TLabour>,
+    public interface ILogikalElevationDetail<TGroup, TFinish, TProfile, TGasket, TComponent, TGlass, TLabour>  : 
+        ILogikalBOM<TGroup, TFinish,TProfile,TGasket,TComponent,TGlass,TLabour>,
         ILogikalElevationSummary
+        where TGroup : ILogikalProductGroup
         where TFinish : ILogikalFinish
         where TProfile : ILogikalProfile
         where TGasket : ILogikalGasket

+ 9 - 0
InABox.Integration.Logikal/Classes/Product/ILogikalProduct.cs

@@ -0,0 +1,9 @@
+namespace InABox.Integration.Logikal
+{
+    public interface ILogikalProduct : IIntegrationProduct
+    {
+        string Code { get; set; }
+        string Name { get; set; }
+        string ProductGroupCode { get; set; }
+    }
+}

+ 7 - 0
InABox.Integration.Logikal/Classes/Product/ILogikalProductGroup.cs

@@ -0,0 +1,7 @@
+namespace InABox.Integration.Logikal
+{
+    public interface ILogikalProductGroup : IAWGProductGroup
+    {
+
+    }
+}

+ 8 - 4
InABox.Integration.Logikal/Requests/BOM/AbstractLogikalPartsResponse.cs

@@ -4,8 +4,9 @@ using InABox.Integration.Awg;
 
 namespace InABox.Integration.Logikal
 {
-    public interface ILogikalPartsResponse<TFinish, TProfile, TGasket, TComponent, TGlass, TLabour> 
-        : IAwgBOM<TFinish, TProfile, TGasket, TComponent, TGlass, TLabour>
+    public interface ILogikalPartsResponse<TGroup, TFinish, TProfile, TGasket, TComponent, TGlass, TLabour> 
+        : IAwgBOM<TGroup, TFinish, TProfile, TGasket, TComponent, TGlass, TLabour>
+        where TGroup : ILogikalProductGroup
         where TFinish : ILogikalFinish
         where TProfile : ILogikalProfile
         where TGasket : ILogikalGasket
@@ -17,8 +18,9 @@ namespace InABox.Integration.Logikal
         byte[] SQLiteData { get; set; }
     }
 
-    public abstract class AbstractLogikalPartsResponse<TFinish, TProfile, TGasket, TComponent, TGlass, TLabour> 
-        : LogikalResponse, ILogikalPartsResponse<TFinish, TProfile, TGasket, TComponent, TGlass, TLabour>
+    public abstract class AbstractLogikalPartsResponse<TGroup, TFinish, TProfile, TGasket, TComponent, TGlass, TLabour> 
+        : LogikalResponse, ILogikalPartsResponse<TGroup, TFinish, TProfile, TGasket, TComponent, TGlass, TLabour>
+        where TGroup : ILogikalProductGroup
         where TFinish : ILogikalFinish
         where TProfile : ILogikalProfile
         where TGasket : ILogikalGasket
@@ -26,6 +28,8 @@ namespace InABox.Integration.Logikal
         where TGlass : ILogikalGlass
         where TLabour : ILogikalLabour
     {
+        public IEnumerable<TGroup> Groups { get; set; }
+        
         public IEnumerable<TFinish> Finishes { get; set; }
         
         public IEnumerable<TProfile> Profiles { get; set; }

+ 3 - 2
InABox.Integration.Logikal/Requests/BOM/LogikalBOMResponse.cs

@@ -3,8 +3,9 @@ using System.Collections.Generic;
 namespace InABox.Integration.Logikal
 {
 
-    public class LogikalBOMResponse<TBOM, TFinish, TProfile, TGasket, TComponent, TGlass, TLabour> : LogikalResponse
-        where TBOM : ILogikalBOM<TFinish, TProfile, TGasket, TComponent, TGlass, TLabour>, new()
+    public class LogikalBOMResponse<TBOM, TGroup, TFinish, TProfile, TGasket, TComponent, TGlass, TLabour> : LogikalResponse
+        where TBOM : ILogikalBOM<TGroup, TFinish, TProfile, TGasket, TComponent, TGlass, TLabour>, new()
+        where TGroup : ILogikalProductGroup
         where TFinish : ILogikalFinish
         where TProfile : ILogikalProfile
         where TGasket : ILogikalGasket

+ 3 - 2
InABox.Integration.Logikal/Requests/Elevation/LogikalElevationDetailResponse.cs

@@ -4,8 +4,9 @@ using System.Linq;
 
 namespace InABox.Integration.Logikal
 {
-    public class LogikalElevationDetailResponse<TElevation,TFinish,TProfile,TGasket,TComponent,TGlass,TLabour> : LogikalResponse
-        where TElevation : ILogikalElevationDetail<TFinish,TProfile,TGasket,TComponent,TGlass,TLabour>
+    public class LogikalElevationDetailResponse<TElevation,TGroup, TFinish,TProfile,TGasket,TComponent,TGlass,TLabour> : LogikalResponse
+        where TElevation : ILogikalElevationDetail<TGroup, TFinish,TProfile,TGasket,TComponent,TGlass,TLabour>
+        where TGroup : ILogikalProductGroup
         where TFinish : ILogikalFinish
         where TProfile : ILogikalProfile
         where TGasket : ILogikalGasket

+ 3 - 2
InABox.Integration.V6/Classes/BOM/IV6BOM.cs

@@ -2,8 +2,9 @@ using InABox.Integration.Awg;
 
 namespace InABox.Integration.V6
 {
-    public interface IV6BOM<TFinish,TProfile,TGasket,TComponent,TGlass,TLabour> 
-        : IAwgBOM<TFinish,TProfile,TGasket,TComponent,TGlass,TLabour> 
+    public interface IV6BOM<TGroup, TFinish,TProfile,TGasket,TComponent,TGlass,TLabour> 
+        : IAwgBOM<TGroup, TFinish,TProfile,TGasket,TComponent,TGlass,TLabour> 
+        where TGroup : IV6ProductGroup
         where TFinish : IV6Finish
         where TProfile : IV6Profile
         where TGasket : IV6Gasket

+ 7 - 0
InABox.Integration.V6/Classes/BOM/IV6ProductGroup.cs

@@ -0,0 +1,7 @@
+namespace InABox.Integration.V6
+{
+    public interface IV6ProductGroup : IAWGProductGroup
+    {
+        
+    }
+}

+ 3 - 1
InABox.Integration/Awg/BOM/IAwgBOM.cs

@@ -2,7 +2,8 @@ using System.Collections.Generic;
 
 namespace InABox.Integration.Awg
 {
-    public interface IAwgBOM<TFinish,TProfile,TGasket,TComponent,TGlass,TLabour> : IIntegrationBOM
+    public interface IAwgBOM<TGroup, TFinish,TProfile,TGasket,TComponent,TGlass,TLabour> : IIntegrationBOM
+        where TGroup : IAWGProductGroup
         where TFinish : IAwgFinish
         where TProfile : IAwgProfile
         where TGasket : IAwgGasket
@@ -10,6 +11,7 @@ namespace InABox.Integration.Awg
         where TGlass : IAwgGlass
         where TLabour : IAwgLabour
     {
+        IEnumerable<TGroup> Groups { get; set; }
         IEnumerable<TFinish> Finishes { get; set; }
         IEnumerable<TProfile> Profiles { get; set; }
         IEnumerable<TGasket> Gaskets { get; set; }

+ 7 - 0
InABox.Integration/Awg/Product/IAWGProductGroup.cs

@@ -0,0 +1,7 @@
+namespace InABox.Integration
+{
+    public interface IAWGProductGroup : IIntegrationProductGroup
+    {
+        
+    }
+}

+ 10 - 0
InABox.Integration/Base/Product/IIntegrationProduct.cs

@@ -0,0 +1,10 @@
+namespace InABox.Integration
+{
+    public interface IIntegrationProduct
+    {
+        string Code { get; set; }
+        string Name { get; set; }
+        
+        string ProductGroupCode { get; set; }
+    }
+}

+ 9 - 0
InABox.Integration/Base/Product/IIntegrationProductGroup.cs

@@ -0,0 +1,9 @@
+namespace InABox.Integration
+{
+    public interface IIntegrationProductGroup
+    {
+        string Code { get; set; }
+        string Description { get; set; }
+        
+    }
+}