#115 Multiszegmens Traffic listázás
authorVásáry Dániel <daniel.vasary@userrendszerhaz.hu>
Fri, 7 Dec 2018 14:26:26 +0000 (14:26 +0000)
committerVásáry Dániel <daniel.vasary@userrendszerhaz.hu>
Fri, 7 Dec 2018 14:26:26 +0000 (14:26 +0000)
git-tfs-id: [http://tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube;C31364

14 files changed:
client/PlanAIRClient/PlanAirADResult.cs [moved from client/PlanAIRClient/clIFsp_EC_MAMAdvertismentsResult.cs with 92% similarity]
client/PlanAIRClient/PlanAirDataReader.cs [moved from client/PlanAIRClient/Reader.cs with 88% similarity]
client/PlanAIRClient/PlanAirMaterialSegmentResult.cs [moved from client/PlanAIRClient/clIFsp_EC_SegmentResult.cs with 92% similarity]
client/PlanAIRClient/PlanAirPromoResult.cs [moved from client/PlanAIRClient/clIFsp_EC_MAMPromotionalResult.cs with 95% similarity]
client/PlanAIRClient/TrafficAPI.cs
client/PlanAIRClient/TrafficClasses.designer.cs
client/PlanAIRClient/TrafficClient.csproj
client/PlanAIRClient/Workers/ADWorker.cs
client/PlanAIRClient/Workers/MaterialWorker.cs [deleted file]
client/PlanAIRClient/Workers/MultiSegmentMaterialWorker.cs [new file with mode: 0644]
client/PlanAIRClient/Workers/PromoWorker.cs
client/PlanAIRClient/Workers/SingleSegmentMaterialWorker.cs [moved from client/PlanAIRClient/Workers/SegmentWorker.cs with 53% similarity]
client/PlanAIRClient/Workers/TrafficWorker.cs
client/PlanAIRClient/clIFsp_EC_MAMBradocastResult.cs [new file with mode: 0644]

similarity index 92%
rename from client/PlanAIRClient/clIFsp_EC_MAMAdvertismentsResult.cs
rename to client/PlanAIRClient/PlanAirADResult.cs
index d3fdab2f43df1e9f08932a858e055f51b399322b..5d34b50ec6ae494ee51e922dda555add548fe2a7 100644 (file)
@@ -1,11 +1,5 @@
-using System;\r
-using System.Collections.Generic;\r
-using System.Linq;\r
-using System.Text;\r
-using System.Threading.Tasks;\r
-\r
-namespace TrafficClient {\r
-    public partial class clIFsp_EC_MAMAdvertismentResult {\r
+namespace TrafficClient {\r
+    public partial class PlanAirADResult {\r
 \r
         private int _t_SpotID;\r
 \r
@@ -33,7 +27,7 @@ namespace TrafficClient {
 \r
         private string _v_OkForAirs;\r
 \r
-        public clIFsp_EC_MAMAdvertismentResult() {\r
+        public PlanAirADResult() {\r
         }\r
 \r
         [global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_t_SpotID", DbType = "Int NOT NULL")]\r
similarity index 88%
rename from client/PlanAIRClient/Reader.cs
rename to client/PlanAIRClient/PlanAirDataReader.cs
index 1b9cf432b2c49c2f0c6327f81dbca45a56078cb6..d28422c71313eeaa0bcd29748478336f19efc2d1 100644 (file)
@@ -2,7 +2,7 @@
 using System.Data.SqlClient;\r
 \r
 namespace TrafficClient {\r
-    public class CliFSPReader {\r
+    public class PlanAirDataReader {\r
 \r
         private string ReadString(SqlDataReader reader, ref int f) {\r
             string result = null;\r
@@ -64,8 +64,8 @@ namespace TrafficClient {
             return item;\r
         }\r
 \r
-        public clIFsp_EC_MAMPromotionalResult ToclIFsp_MAMPromotionalResult(SqlDataReader reader) {\r
-            clIFsp_EC_MAMPromotionalResult item = new clIFsp_EC_MAMPromotionalResult();\r
+        public PlanAirPromoResult ToclIFsp_MAMPromotionalResult(SqlDataReader reader) {\r
+            PlanAirPromoResult item = new PlanAirPromoResult();\r
             int f = 0;\r
             item.t_SpotID = (int)ReadInt(reader, ref f);\r
             item.t_MediaID = ReadString(reader, ref f);\r
@@ -89,8 +89,8 @@ namespace TrafficClient {
             return item;\r
         }\r
 \r
-        public clIFsp_EC_MAMAdvertismentResult ToclIFsp_MAMAdvertisementResult(SqlDataReader reader) {\r
-            clIFsp_EC_MAMAdvertismentResult item = new clIFsp_EC_MAMAdvertismentResult();\r
+        public PlanAirADResult ToclIFsp_MAMAdvertisementResult(SqlDataReader reader) {\r
+            PlanAirADResult item = new PlanAirADResult();\r
             int f = 0;\r
             item.t_SpotID = (int)ReadInt(reader, ref f);\r
             item.t_MediaID = ReadString(reader, ref f);\r
@@ -108,8 +108,8 @@ namespace TrafficClient {
             return item;\r
         }\r
 \r
-        public clIFsp_EC_SegmentResult ToclIFsp_SegmentResult(SqlDataReader reader) {\r
-            clIFsp_EC_SegmentResult item = new clIFsp_EC_SegmentResult();\r
+        public PlanAirMaterialSegmentResult ToclIFsp_SegmentResult(SqlDataReader reader) {\r
+            PlanAirMaterialSegmentResult item = new PlanAirMaterialSegmentResult();\r
             int f = 0;\r
             item.v_SegID = (int)ReadInt(reader, ref f);\r
             item.v_VariantID = ReadInt(reader, ref f);\r
similarity index 92%
rename from client/PlanAIRClient/clIFsp_EC_SegmentResult.cs
rename to client/PlanAIRClient/PlanAirMaterialSegmentResult.cs
index 6226e315988dcccff1e9ecb733cbd6cbbdfe3526..9fb85701d05f5b710dbd3e1b02e329fda799b58e 100644 (file)
@@ -1,11 +1,5 @@
-using System;\r
-using System.Collections.Generic;\r
-using System.Linq;\r
-using System.Text;\r
-using System.Threading.Tasks;\r
-\r
-namespace TrafficClient {\r
-    public partial class clIFsp_EC_SegmentResult {\r
+namespace TrafficClient {\r
+    public partial class PlanAirMaterialSegmentResult {\r
 \r
         private int _v_SegID;\r
 \r
@@ -33,7 +27,7 @@ namespace TrafficClient {
 \r
         private bool? _v_Dropable;\r
 \r
-        public clIFsp_EC_SegmentResult() {\r
+        public PlanAirMaterialSegmentResult() {\r
         }\r
 \r
         [global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "v_SegID", DbType = "Int NOT NULL")]\r
@@ -191,6 +185,6 @@ namespace TrafficClient {
             }\r
         }\r
 \r
-       \r
+\r
     }\r
 }\r
similarity index 95%
rename from client/PlanAIRClient/clIFsp_EC_MAMPromotionalResult.cs
rename to client/PlanAIRClient/PlanAirPromoResult.cs
index 01ffebac95bd833a5707884437a06a8e34bbff8b..4171aaa6893e06df0c19fa47d20283541c10f70c 100644 (file)
@@ -1,5 +1,5 @@
 namespace TrafficClient {\r
-    public partial class clIFsp_EC_MAMPromotionalResult {\r
+    public partial class PlanAirPromoResult {\r
 \r
         private int _t_SpotID;\r
 \r
@@ -39,7 +39,7 @@
 \r
         private System.Nullable<bool> _v_IsInactive;\r
 \r
-        public clIFsp_EC_MAMPromotionalResult() {\r
+        public PlanAirPromoResult() {\r
         }\r
 \r
         [global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_t_SpotID", DbType = "Int NOT NULL")]\r
index b30ddc5bac05166554b0e08d600582bc188ca190..4ddd6b8648f38614ede53c35d279732588003525 100644 (file)
@@ -11,24 +11,20 @@ namespace TrafficClient {
         private static readonly Logger logger = LogManager.GetCurrentClassLogger();\r
         private TrafficContext context = new TrafficContext();\r
         private string connectionString;\r
-        private CliFSPReader cliFSPReader;\r
+        private PlanAirDataReader cliFSPReader;\r
         private SqlConnection connection;\r
-        private MaterialWorker materialWorker;\r
+        private SingleSegmentMaterialWorker materialWorker;\r
         private PromoWorker promoWorker;\r
         private ADWorker adWorker;\r
-        private SegmentWorker segmentWorker;\r
-        private readonly string functionName;\r
 \r
         public TrafficAPI(string connString, string user, string password, int timeout, string functionName, IMessageBus messageBus) {\r
             var correctedTimeout = timeout < 1000 ? 1000 : timeout;\r
             connectionString = String.Format("{0};User ID={1};Password={2};Connection Timeout={3}", connString, user, password, correctedTimeout / 1000);\r
             connection = new SqlConnection(connectionString);\r
-            cliFSPReader = new CliFSPReader();\r
-            materialWorker = new MaterialWorker(connection, cliFSPReader, functionName, messageBus);\r
+            cliFSPReader = new PlanAirDataReader();\r
+            materialWorker = new SingleSegmentMaterialWorker(connection, cliFSPReader, functionName, messageBus);\r
             promoWorker = new PromoWorker(connection, cliFSPReader, functionName, messageBus);\r
             adWorker = new ADWorker(connection, cliFSPReader, functionName, messageBus);\r
-            segmentWorker = new SegmentWorker(connection, cliFSPReader, functionName, messageBus);\r
-            this.functionName = functionName;\r
         }\r
 \r
         public List<TrafficItem> GetMaterials(string strParam, bool problematic, DateTime? from = null, DateTime? to = null) {\r
@@ -61,19 +57,19 @@ namespace TrafficClient {
                 case MetadataType.TrafficMaterial: {\r
                         //egyebkent nem fogadja el a szegmnesadatokat?\r
                         materialWorker.SetMaterialOK(itemID, false);\r
-                        segmentWorker.DeleteMaterialSegments(itemID);\r
+                        materialWorker.DeleteMaterialSegments(itemID);\r
                         foreach (MovieSegment actualSegment in segments)\r
-                            segmentWorker.AddMaterialSegment(itemID, actualSegment);\r
+                            materialWorker.AddMaterialSegment(itemID, actualSegment);\r
                         break;\r
                     }\r
                 case MetadataType.TrafficAD: {\r
                         if (segments != null && segments.Count == 1)\r
-                            segmentWorker.SaveADSegment(itemID, segments[0]);\r
+                            adWorker.SaveADSegment(itemID, segments[0]);\r
                         break;\r
                     }\r
                 case MetadataType.TrafficPromo: {\r
                         if (segments != null && segments.Count == 1)\r
-                            segmentWorker.SavePromoSegment(itemID, segments[0]);\r
+                            promoWorker.SavePromoSegment(itemID, segments[0]);\r
                         break;\r
                     }\r
             }\r
@@ -96,15 +92,15 @@ namespace TrafficClient {
         }\r
 \r
         public List<MovieSegment> GetMaterialSegments(int itemID) {\r
-            return segmentWorker.GetMaterialSegments(itemID);\r
+            return materialWorker.GetMaterialSegments(itemID);\r
         }\r
 \r
         public List<MovieSegment> GetPromoSegments(string strParam) {\r
-            return segmentWorker.GetPromoSegments(strParam);\r
+            return promoWorker.GetPromoSegments(strParam);\r
         }\r
 \r
         public List<MovieSegment> GetADSegments(string strParam) {\r
-            return segmentWorker.GetADSegments(strParam);\r
+            return adWorker.GetADSegments(strParam);\r
         }\r
 \r
         public TrafficVersion CreateMaterialVersion(string episodeID, bool recut) {\r
index 390d87a97c96229a5a10380eabf0c7ebe32dcfc4..555d8e07b6a260c9c3adaca7cd934af74ce091a4 100644 (file)
 // </auto-generated>\r
 //------------------------------------------------------------------------------\r
 \r
-namespace TrafficClient\r
-{\r
-       using System.Data.Linq;\r
-       using System.Data.Linq.Mapping;\r
-       using System.Data;\r
-       using System.Collections.Generic;\r
-       using System.Reflection;\r
-       using System.Linq;\r
-       using System.Linq.Expressions;\r
-       using System.ComponentModel;\r
-       using System;\r
-       \r
-       \r
-       [global::System.Data.Linq.Mapping.DatabaseAttribute(Name="CLArchiveTF_0")]\r
-       public partial class TrafficContext : System.Data.Linq.DataContext\r
-       {\r
-               \r
-               private static System.Data.Linq.Mapping.MappingSource mappingSource = new AttributeMappingSource();\r
-               \r
-    #region Extensibility Method Definitions\r
-    partial void OnCreated();\r
-    #endregion\r
-               \r
-               public TrafficContext() : \r
-                               base(global::TrafficClient.Properties.Settings.Default.CLArchiveTF_0ConnectionString, mappingSource)\r
-               {\r
-                       OnCreated();\r
-               }\r
-               \r
-               public TrafficContext(string connection) : \r
-                               base(connection, mappingSource)\r
-               {\r
-                       OnCreated();\r
-               }\r
-               \r
-               public TrafficContext(System.Data.IDbConnection connection) : \r
-                               base(connection, mappingSource)\r
-               {\r
-                       OnCreated();\r
-               }\r
-               \r
-               public TrafficContext(string connection, System.Data.Linq.Mapping.MappingSource mappingSource) : \r
-                               base(connection, mappingSource)\r
-               {\r
-                       OnCreated();\r
-               }\r
-               \r
-               public TrafficContext(System.Data.IDbConnection connection, System.Data.Linq.Mapping.MappingSource mappingSource) : \r
-                               base(connection, mappingSource)\r
-               {\r
-                       OnCreated();\r
-               }\r
-               \r
-               [global::System.Data.Linq.Mapping.FunctionAttribute(Name="dbo.clIFsp_EC_MAM")]\r
-               public ISingleResult<clIFsp_EC_MAMBradocastResult> clIFsp_EC_MAM([global::System.Data.Linq.Mapping.ParameterAttribute(Name="Operation", DbType="Int")] System.Nullable<int> operation, [global::System.Data.Linq.Mapping.ParameterAttribute(Name="@@Options", DbType="Int")] System.Nullable<int> @__Options, [global::System.Data.Linq.Mapping.ParameterAttribute(Name="@ItemID", DbType="Int")] System.Nullable<int> _ItemID, [global::System.Data.Linq.Mapping.ParameterAttribute(Name="@IntParam1", DbType="Int")] System.Nullable<int> _IntParam1, [global::System.Data.Linq.Mapping.ParameterAttribute(Name="@IntParam2", DbType="Int")] System.Nullable<int> _IntParam2, [global::System.Data.Linq.Mapping.ParameterAttribute(Name="@IntParam3", DbType="Int")] System.Nullable<int> _IntParam3, [global::System.Data.Linq.Mapping.ParameterAttribute(Name="@StrParam1", DbType="VarChar(200)")] string _StrParam1, [global::System.Data.Linq.Mapping.ParameterAttribute(Name="@StrParam2", DbType="VarChar(MAX)")] string _StrParam2, [global::System.Data.Linq.Mapping.ParameterAttribute(Name="@DateParam1", DbType="DateTime")] System.Nullable<System.DateTime> _DateParam1, [global::System.Data.Linq.Mapping.ParameterAttribute(Name="@DateParam2", DbType="DateTime")] System.Nullable<System.DateTime> _DateParam2)\r
-               {\r
-                       IExecuteResult result = this.ExecuteMethodCall(this, ((MethodInfo)(MethodInfo.GetCurrentMethod())), operation, @__Options, _ItemID, _IntParam1, _IntParam2, _IntParam3, _StrParam1, _StrParam2, _DateParam1, _DateParam2);\r
-                       return ((ISingleResult<clIFsp_EC_MAMBradocastResult>)(result.ReturnValue));\r
-               }\r
-       }\r
-       \r
-       public partial class clIFsp_EC_MAMBradocastResult\r
-       {\r
-               \r
-               private int _v_ProgrammeID;\r
-               \r
-               private bool _v_Live;\r
-               \r
-               private string _v_EpisodeID;\r
-               \r
-               private System.Nullable<int> _v_VariantID;\r
-               \r
-               private System.Nullable<int> _v_VariantTypeID;\r
-               \r
-               private string _v_ProgTitle;\r
-               \r
-               private string _v_EpTitle;\r
-               \r
-               private System.Nullable<short> _v_Episode;\r
-               \r
-               private string _v_VariantType;\r
-               \r
-               private string _v_VariantKeywords;\r
-               \r
-               private string _v_VariantLengthTC;\r
-               \r
-               private System.Nullable<int> _v_VariantLengthFrame;\r
-               \r
-               private System.Nullable<int> _v_VariantNrSegments;\r
-               \r
-               private System.Nullable<System.DateTime> _v_FirstBroadcastDate;\r
-               \r
-               private System.Nullable<System.DateTime> _v_NextBroadcastDate;\r
-               \r
-               private System.Nullable<bool> _v_OkForAir;\r
-               \r
-               private System.Nullable<bool> _v_ForTransm;\r
+namespace TrafficClient {\r
+    using System.Data.Linq;\r
+    using System.Data.Linq.Mapping;\r
+    using System.Reflection;\r
 \r
-        private string _v_MediaID;\r
-               \r
-               public clIFsp_EC_MAMBradocastResult()\r
-               {\r
-               }\r
-               \r
-               [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_v_ProgrammeID", DbType="Int NOT NULL")]\r
-               public int v_ProgrammeID\r
-               {\r
-                       get\r
-                       {\r
-                               return this._v_ProgrammeID;\r
-                       }\r
-                       set\r
-                       {\r
-                               if ((this._v_ProgrammeID != value))\r
-                               {\r
-                                       this._v_ProgrammeID = value;\r
-                               }\r
-                       }\r
-               }\r
-               \r
-               [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_v_Live", DbType="Bit NOT NULL")]\r
-               public bool v_Live\r
-               {\r
-                       get\r
-                       {\r
-                               return this._v_Live;\r
-                       }\r
-                       set\r
-                       {\r
-                               if ((this._v_Live != value))\r
-                               {\r
-                                       this._v_Live = value;\r
-                               }\r
-                       }\r
-               }\r
-               \r
-               [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_v_EpisodeID", DbType="VarChar(6) NOT NULL", CanBeNull=false)]\r
-               public string v_EpisodeID\r
-               {\r
-                       get\r
-                       {\r
-                               return this._v_EpisodeID;\r
-                       }\r
-                       set\r
-                       {\r
-                               if ((this._v_EpisodeID != value))\r
-                               {\r
-                                       this._v_EpisodeID = value;\r
-                               }\r
-                       }\r
-               }\r
-               \r
-               [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_v_VariantID", DbType="Int")]\r
-               public System.Nullable<int> v_VariantID\r
-               {\r
-                       get\r
-                       {\r
-                               return this._v_VariantID;\r
-                       }\r
-                       set\r
-                       {\r
-                               if ((this._v_VariantID != value))\r
-                               {\r
-                                       this._v_VariantID = value;\r
-                               }\r
-                       }\r
-               }\r
-               \r
-               [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_v_VariantTypeID", DbType="Int")]\r
-               public System.Nullable<int> v_VariantTypeID\r
-               {\r
-                       get\r
-                       {\r
-                               return this._v_VariantTypeID;\r
-                       }\r
-                       set\r
-                       {\r
-                               if ((this._v_VariantTypeID != value))\r
-                               {\r
-                                       this._v_VariantTypeID = value;\r
-                               }\r
-                       }\r
-               }\r
-               \r
-               [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_v_ProgTitle", DbType="NVarChar(60)")]\r
-               public string v_ProgTitle\r
-               {\r
-                       get\r
-                       {\r
-                               return this._v_ProgTitle;\r
-                       }\r
-                       set\r
-                       {\r
-                               if ((this._v_ProgTitle != value))\r
-                               {\r
-                                       this._v_ProgTitle = value;\r
-                               }\r
-                       }\r
-               }\r
-               \r
-               [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_v_EpTitle", DbType="NVarChar(60)")]\r
-               public string v_EpTitle\r
-               {\r
-                       get\r
-                       {\r
-                               return this._v_EpTitle;\r
-                       }\r
-                       set\r
-                       {\r
-                               if ((this._v_EpTitle != value))\r
-                               {\r
-                                       this._v_EpTitle = value;\r
-                               }\r
-                       }\r
-               }\r
-               \r
-               [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_v_Episode", DbType="SmallInt")]\r
-               public System.Nullable<short> v_Episode\r
-               {\r
-                       get\r
-                       {\r
-                               return this._v_Episode;\r
-                       }\r
-                       set\r
-                       {\r
-                               if ((this._v_Episode != value))\r
-                               {\r
-                                       this._v_Episode = value;\r
-                               }\r
-                       }\r
-               }\r
-               \r
-               [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_v_VariantType", DbType="VarChar(40)")]\r
-               public string v_VariantType\r
-               {\r
-                       get\r
-                       {\r
-                               return this._v_VariantType;\r
-                       }\r
-                       set\r
-                       {\r
-                               if ((this._v_VariantType != value))\r
-                               {\r
-                                       this._v_VariantType = value;\r
-                               }\r
-                       }\r
-               }\r
-               \r
-               [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_v_VariantKeywords", DbType="VarChar(25)")]\r
-               public string v_VariantKeywords\r
-               {\r
-                       get\r
-                       {\r
-                               return this._v_VariantKeywords;\r
-                       }\r
-                       set\r
-                       {\r
-                               if ((this._v_VariantKeywords != value))\r
-                               {\r
-                                       this._v_VariantKeywords = value;\r
-                               }\r
-                       }\r
-               }\r
-               \r
-               [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_v_VariantLengthTC", DbType="VarChar(150)")]\r
-               public string v_VariantLengthTC\r
-               {\r
-                       get\r
-                       {\r
-                               return this._v_VariantLengthTC;\r
-                       }\r
-                       set\r
-                       {\r
-                               if ((this._v_VariantLengthTC != value))\r
-                               {\r
-                                       this._v_VariantLengthTC = value;\r
-                               }\r
-                       }\r
-               }\r
-               \r
-               [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_v_VariantLengthFrame", DbType="Int")]\r
-               public System.Nullable<int> v_VariantLengthFrame\r
-               {\r
-                       get\r
-                       {\r
-                               return this._v_VariantLengthFrame;\r
-                       }\r
-                       set\r
-                       {\r
-                               if ((this._v_VariantLengthFrame != value))\r
-                               {\r
-                                       this._v_VariantLengthFrame = value;\r
-                               }\r
-                       }\r
-               }\r
-               \r
-               [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_v_VariantNrSegments", DbType="Int")]\r
-               public System.Nullable<int> v_VariantNrSegments\r
-               {\r
-                       get\r
-                       {\r
-                               return this._v_VariantNrSegments;\r
-                       }\r
-                       set\r
-                       {\r
-                               if ((this._v_VariantNrSegments != value))\r
-                               {\r
-                                       this._v_VariantNrSegments = value;\r
-                               }\r
-                       }\r
-               }\r
-               \r
-               [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_v_FirstBroadcastDate", DbType="DateTime")]\r
-               public System.Nullable<System.DateTime> v_FirstBroadcastDate\r
-               {\r
-                       get\r
-                       {\r
-                               return this._v_FirstBroadcastDate;\r
-                       }\r
-                       set\r
-                       {\r
-                               if ((this._v_FirstBroadcastDate != value))\r
-                               {\r
-                                       this._v_FirstBroadcastDate = value;\r
-                               }\r
-                       }\r
-               }\r
-               \r
-               [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_v_NextBroadcastDate", DbType="DateTime")]\r
-               public System.Nullable<System.DateTime> v_NextBroadcastDate\r
-               {\r
-                       get\r
-                       {\r
-                               return this._v_NextBroadcastDate;\r
-                       }\r
-                       set\r
-                       {\r
-                               if ((this._v_NextBroadcastDate != value))\r
-                               {\r
-                                       this._v_NextBroadcastDate = value;\r
-                               }\r
-                       }\r
-               }\r
-               \r
-               [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_v_OkForAir", DbType="Bit")]\r
-               public System.Nullable<bool> v_OkForAir\r
-               {\r
-                       get\r
-                       {\r
-                               return this._v_OkForAir;\r
-                       }\r
-                       set\r
-                       {\r
-                               if ((this._v_OkForAir != value))\r
-                               {\r
-                                       this._v_OkForAir = value;\r
-                               }\r
-                       }\r
-               }\r
-               \r
-               [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_v_ForTransm", DbType="Bit")]\r
-               public System.Nullable<bool> v_ForTransm\r
-               {\r
-                       get\r
-                       {\r
-                               return this._v_ForTransm;\r
-                       }\r
-                       set\r
-                       {\r
-                               if ((this._v_ForTransm != value))\r
-                               {\r
-                                       this._v_ForTransm = value;\r
-                               }\r
-                       }\r
-               }\r
 \r
-        [global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_v_MediaID", DbType = "VarChar(6) NOT NULL", CanBeNull = false)]\r
-        public string v_MediaID\r
-        {\r
-            get\r
-            {\r
-                return this._v_MediaID;\r
-            }\r
-            set\r
-            {\r
-                if ((this._v_MediaID != value))\r
-                {\r
-                    this._v_MediaID = value;\r
-                }\r
-            }\r
+    [global::System.Data.Linq.Mapping.DatabaseAttribute(Name = "CLArchiveTF_0")]\r
+    public partial class TrafficContext : System.Data.Linq.DataContext {\r
+\r
+        private static System.Data.Linq.Mapping.MappingSource mappingSource = new AttributeMappingSource();\r
+\r
+        #region Extensibility Method Definitions\r
+        partial void OnCreated();\r
+        #endregion\r
+\r
+        public TrafficContext() :\r
+                base(global::TrafficClient.Properties.Settings.Default.CLArchiveTF_0ConnectionString, mappingSource) {\r
+            OnCreated();\r
+        }\r
+\r
+        public TrafficContext(string connection) :\r
+                base(connection, mappingSource) {\r
+            OnCreated();\r
+        }\r
+\r
+        public TrafficContext(System.Data.IDbConnection connection) :\r
+                base(connection, mappingSource) {\r
+            OnCreated();\r
+        }\r
+\r
+        public TrafficContext(string connection, System.Data.Linq.Mapping.MappingSource mappingSource) :\r
+                base(connection, mappingSource) {\r
+            OnCreated();\r
+        }\r
+\r
+        public TrafficContext(System.Data.IDbConnection connection, System.Data.Linq.Mapping.MappingSource mappingSource) :\r
+                base(connection, mappingSource) {\r
+            OnCreated();\r
+        }\r
+\r
+        [global::System.Data.Linq.Mapping.FunctionAttribute(Name = "dbo.clIFsp_EC_MAM")]\r
+        public ISingleResult<clIFsp_EC_MAMBradocastResult> clIFsp_EC_MAM([global::System.Data.Linq.Mapping.ParameterAttribute(Name = "Operation", DbType = "Int")] System.Nullable<int> operation, [global::System.Data.Linq.Mapping.ParameterAttribute(Name = "@@Options", DbType = "Int")] System.Nullable<int> @__Options, [global::System.Data.Linq.Mapping.ParameterAttribute(Name = "@ItemID", DbType = "Int")] System.Nullable<int> _ItemID, [global::System.Data.Linq.Mapping.ParameterAttribute(Name = "@IntParam1", DbType = "Int")] System.Nullable<int> _IntParam1, [global::System.Data.Linq.Mapping.ParameterAttribute(Name = "@IntParam2", DbType = "Int")] System.Nullable<int> _IntParam2, [global::System.Data.Linq.Mapping.ParameterAttribute(Name = "@IntParam3", DbType = "Int")] System.Nullable<int> _IntParam3, [global::System.Data.Linq.Mapping.ParameterAttribute(Name = "@StrParam1", DbType = "VarChar(200)")] string _StrParam1, [global::System.Data.Linq.Mapping.ParameterAttribute(Name = "@StrParam2", DbType = "VarChar(MAX)")] string _StrParam2, [global::System.Data.Linq.Mapping.ParameterAttribute(Name = "@DateParam1", DbType = "DateTime")] System.Nullable<System.DateTime> _DateParam1, [global::System.Data.Linq.Mapping.ParameterAttribute(Name = "@DateParam2", DbType = "DateTime")] System.Nullable<System.DateTime> _DateParam2) {\r
+            IExecuteResult result = this.ExecuteMethodCall(this, ((MethodInfo)(MethodInfo.GetCurrentMethod())), operation, @__Options, _ItemID, _IntParam1, _IntParam2, _IntParam3, _StrParam1, _StrParam2, _DateParam1, _DateParam2);\r
+            return ((ISingleResult<clIFsp_EC_MAMBradocastResult>)(result.ReturnValue));\r
         }\r
     }\r
+\r
 }\r
 #pragma warning restore 1591\r
index 5f485281dd4eb702f8f08e1b2b3df82eae7cea79..9fc03e5b91962ea3a12b5ff664cff1be3a47aa38 100644 (file)
@@ -68,6 +68,7 @@
     <PlatformTarget>x64</PlatformTarget>\r
     <ErrorReport>prompt</ErrorReport>\r
     <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>\r
+    <Deterministic>true</Deterministic>\r
   </PropertyGroup>\r
   <ItemGroup>\r
     <Reference Include="LinkDotNet.MessageHandling.Contracts, Version=0.2.0.0, Culture=neutral, processorArchitecture=MSIL">\r
     <Reference Include="System.Xml" />\r
   </ItemGroup>\r
   <ItemGroup>\r
+    <Compile Include="clIFsp_EC_MAMBradocastResult.cs" />\r
+    <Compile Include="PlanAirADResult.cs" />\r
+    <Compile Include="PlanAirDataReader.cs" />\r
+    <Compile Include="PlanAirMaterialSegmentResult.cs" />\r
+    <Compile Include="PlanAirPromoResult.cs" />\r
     <Compile Include="TrafficMetadataType.cs" />\r
     <Compile Include="Workers\ADWorker.cs" />\r
-    <Compile Include="clIFsp_EC_MAMAdvertismentsResult.cs" />\r
-    <Compile Include="clIFsp_EC_MAMPromotionalResult.cs" />\r
-    <Compile Include="clIFsp_EC_SegmentResult.cs" />\r
     <Compile Include="CustomDataGridView.cs">\r
       <SubType>Component</SubType>\r
     </Compile>\r
     <Compile Include="CustomDataGridView.Designer.cs">\r
       <DependentUpon>CustomDataGridView.cs</DependentUpon>\r
     </Compile>\r
-    <Compile Include="Reader.cs" />\r
     <Compile Include="Resources.Designer.cs">\r
       <AutoGen>True</AutoGen>\r
       <DesignTime>True</DesignTime>\r
     <Compile Include="TrafficIDSelector.Designer.cs">\r
       <DependentUpon>TrafficIDSelector.cs</DependentUpon>\r
     </Compile>\r
-    <Compile Include="Workers\MaterialWorker.cs" />\r
+    <Compile Include="Workers\MultiSegmentMaterialWorker.cs" />\r
+    <Compile Include="Workers\SingleSegmentMaterialWorker.cs" />\r
     <Compile Include="Workers\PromoWorker.cs" />\r
     <Compile Include="Workers\TrafficWorker.cs" />\r
-    <Compile Include="Workers\SegmentWorker.cs" />\r
   </ItemGroup>\r
   <ItemGroup>\r
     <None Include="app.config" />\r
index 40498b501c7a14332edc851d2bdac0ee17060b79..4e70aa44e64487063c4b813c833234f1bd271bc1 100644 (file)
@@ -1,20 +1,21 @@
-using System;\r
+using LinkDotNet.MessageHandling.Contracts;\r
+using MaestroShared.Metadata;\r
+using NLog;\r
+using System;\r
 using System.Collections.Generic;\r
 using System.Data;\r
 using System.Data.SqlClient;\r
-using NLog;\r
-using LinkDotNet.MessageHandling.Contracts;\r
 \r
 namespace TrafficClient.Workers {\r
     public class ADWorker : TrafficWorker {\r
 \r
         private static Logger logger = LogManager.GetCurrentClassLogger();\r
 \r
-        public ADWorker(SqlConnection connection, CliFSPReader cliFSPReader, string functionName, IMessageBus messageBus) :\r
+        public ADWorker(SqlConnection connection, PlanAirDataReader cliFSPReader, string functionName, IMessageBus messageBus) :\r
             base(connection, cliFSPReader, functionName, messageBus) {\r
         }\r
 \r
-        private TrafficItem ToTrafficItem(clIFsp_EC_MAMAdvertismentResult data) {\r
+        private TrafficItem ToTrafficItem(PlanAirADResult data) {\r
             return new TrafficItem() {\r
                 MediaID = data.t_MediaID,\r
                 Title = data.v_Title,\r
@@ -23,7 +24,7 @@ namespace TrafficClient.Workers {
             };\r
         }\r
 \r
-        private TrafficItemMetadata ToTrafficItemMetadata(clIFsp_EC_MAMAdvertismentResult data) {\r
+        private TrafficItemMetadata ToTrafficItemMetadata(PlanAirADResult data) {\r
             return new TrafficItemMetadata() {\r
                 EpisodeID = data.t_MediaID,\r
                 EpisodeTitle = data.v_Title,\r
@@ -54,16 +55,14 @@ namespace TrafficClient.Workers {
                         while (reader.Read()) {\r
                             if (result == null)\r
                                 result = new List<TrafficItem>();\r
-                            clIFsp_EC_MAMAdvertismentResult item = cliFSPReader.ToclIFsp_MAMAdvertisementResult(reader);\r
+                            PlanAirADResult item = cliFSPReader.ToclIFsp_MAMAdvertisementResult(reader);\r
                             result.Add(ToTrafficItem(item));\r
                         }\r
                     }\r
                 }\r
-            }\r
-            catch (Exception e) {\r
+            } catch (Exception e) {\r
                 OnError(logger, e);\r
-            }\r
-            finally {\r
+            } finally {\r
                 connection.Close();\r
             }\r
             return result;\r
@@ -92,11 +91,9 @@ namespace TrafficClient.Workers {
                     cmd.Parameters.AddWithValue("@@IntParam2", DBNull.Value);\r
                     cmd.ExecuteNonQuery();\r
                 }\r
-            }\r
-            catch (Exception e) {\r
+            } catch (Exception e) {\r
                 OnError(logger, e);\r
-            }\r
-            finally {\r
+            } finally {\r
                 connection.Close();\r
             }\r
         }\r
@@ -115,16 +112,74 @@ namespace TrafficClient.Workers {
                         while (reader.Read()) {\r
                             if (result == null)\r
                                 result = new List<TrafficItemMetadata>();\r
-                            clIFsp_EC_MAMAdvertismentResult item = cliFSPReader.ToclIFsp_MAMAdvertisementResult(reader);\r
+                            PlanAirADResult item = cliFSPReader.ToclIFsp_MAMAdvertisementResult(reader);\r
                             result.Add(ToTrafficItemMetadata(item));\r
                         }\r
                     }\r
                 }\r
+            } catch (Exception e) {\r
+                OnError(logger, e);\r
+            } finally {\r
+                connection.Close();\r
             }\r
-            catch (Exception e) {\r
+            return result;\r
+        }\r
+\r
+        private MovieSegment ToSegment(PlanAirADResult item) {\r
+            return new MovieSegment() {\r
+                TCIn = item.t_TcIn.HasValue ? new Timecode(item.t_TcIn.Value) : new Timecode(),\r
+                TCOut = item.t_TcOut.HasValue ? new Timecode(item.t_TcOut.Value) : new Timecode()\r
+            };\r
+        }\r
+\r
+        public void SaveADSegment(int itemID, MovieSegment segment) {\r
+            object comment = segment.Comment;\r
+            if (String.IsNullOrEmpty(segment.Comment))\r
+                comment = DBNull.Value;\r
+            try {\r
+                TryConnect();\r
+                using (SqlCommand cmd = CreateCommmad()) {\r
+                    int optionalParam = segment.Optional ? 1 : 0;\r
+                    cmd.CommandType = CommandType.StoredProcedure;\r
+                    cmd.Parameters.AddWithValue("@Operation", 3100);\r
+                    cmd.Parameters.AddWithValue("@@ItemID", itemID);\r
+                    cmd.Parameters.AddWithValue("@@@Options", DBNull.Value);\r
+                    cmd.Parameters.AddWithValue("@@IntParam1", segment.TCIn.Frames);\r
+                    cmd.Parameters.AddWithValue("@@IntParam2", segment.TCOut.Frames);\r
+                    cmd.Parameters.AddWithValue("@@StrParam1", comment);\r
+                    cmd.ExecuteNonQuery();\r
+                }\r
+            } catch (Exception e) {\r
                 OnError(logger, e);\r
+            } finally {\r
+                connection.Close();\r
             }\r
-            finally {\r
+        }\r
+\r
+        public List<MovieSegment> GetADSegments(string strParam) {\r
+            List<MovieSegment> result = null;\r
+            try {\r
+                TryConnect();\r
+                using (SqlCommand cmd = CreateCommmad()) {\r
+                    cmd.CommandType = CommandType.StoredProcedure;\r
+                    cmd.Parameters.AddWithValue("@Operation", 3001);\r
+                    cmd.Parameters.AddWithValue("@@@Options", 0);\r
+                    cmd.Parameters.AddWithValue("@@ItemID", DBNull.Value);\r
+                    cmd.Parameters.AddWithValue("@@StrParam1", strParam);\r
+                    using (SqlDataReader reader = cmd.ExecuteReader()) {\r
+                        while (reader.Read()) {\r
+                            if (result == null)\r
+                                result = new List<MovieSegment>();\r
+                            PlanAirADResult item = cliFSPReader.ToclIFsp_MAMAdvertisementResult(reader);\r
+                            MovieSegment segment = ToSegment(item);\r
+                            if (segment.TCOut.Frames != 0)\r
+                                result.Add(segment);\r
+                        }\r
+                    }\r
+                }\r
+            } catch (Exception e) {\r
+                OnError(logger, e);\r
+            } finally {\r
                 connection.Close();\r
             }\r
             return result;\r
diff --git a/client/PlanAIRClient/Workers/MaterialWorker.cs b/client/PlanAIRClient/Workers/MaterialWorker.cs
deleted file mode 100644 (file)
index 9b1f19b..0000000
+++ /dev/null
@@ -1,170 +0,0 @@
-using System;\r
-using System.Collections.Generic;\r
-using System.Data;\r
-using System.Data.SqlClient;\r
-using NLog;\r
-using LinkDotNet.MessageHandling.Contracts;\r
-\r
-namespace TrafficClient.Workers {\r
-\r
-    public class MaterialWorker : TrafficWorker {\r
-\r
-        private static Logger logger = LogManager.GetCurrentClassLogger();\r
-\r
-        public MaterialWorker(SqlConnection connection, CliFSPReader cliFSPReader, string functionName, IMessageBus messageBus) \r
-            : base(connection, cliFSPReader, functionName, messageBus) {\r
-        }\r
-\r
-        private TrafficItem ToTrafficItem(clIFsp_EC_MAMBradocastResult data) {\r
-            //Debug.WriteLine(data.v_OkForAir);\r
-\r
-            return new TrafficItem() {\r
-                MediaID = data.v_MediaID,\r
-                EpisodeTitle = data.v_EpTitle,\r
-                Title = data.v_ProgTitle,\r
-                VariantID = data.v_VariantID.HasValue ? data.v_VariantID.Value : 0,\r
-                EpisodeNumber = data.v_Episode.HasValue ? data.v_Episode.Value : (short)0,\r
-                NextBroadcastDate = data.v_NextBroadcastDate,\r
-                FirstBroadcastDate = data.v_FirstBroadcastDate,\r
-                EpisodeID = data.v_EpisodeID,\r
-                SegmentCount = (short)data.v_VariantNrSegments,\r
-                OK = data.v_OkForAir != null && true.Equals(data.v_OkForAir)\r
-            };\r
-        }\r
-\r
-        private TrafficItemMetadata ToTrafficItemMetadata(clIFsp_EC_MAMBradocastResult data) {\r
-            return new TrafficItemMetadata() {\r
-                EpisodeID = data.v_EpisodeID,\r
-                EpisodeTitle = data.v_EpTitle,\r
-                ProgID = data.v_ProgrammeID.ToString(),\r
-                ProgTitle = data.v_ProgTitle,\r
-                OK = data.v_OkForAir != null && true.Equals(data.v_OkForAir)\r
-            };\r
-        }\r
-\r
-        public List<TrafficItem> GetMaterials(string search, bool problematic, DateTime? from, DateTime? to) {\r
-            List<TrafficItem> result = null;\r
-            try {\r
-                TryConnect();\r
-                using (SqlCommand cmd = CreateCommmad()) {\r
-                    cmd.CommandType = CommandType.StoredProcedure;\r
-                    cmd.Parameters.AddWithValue("@Operation", 1002);\r
-                    if (problematic)\r
-                        cmd.Parameters.AddWithValue("@@@Options", 1);\r
-                    else\r
-                        cmd.Parameters.AddWithValue("@@@Options", 0);\r
-\r
-                    cmd.Parameters.AddWithValue("@@ItemID", DBNull.Value);\r
-                    if (!String.IsNullOrEmpty(search))\r
-                        cmd.Parameters.AddWithValue("@@StrParam1", search);\r
-                    if (from != null)\r
-                        cmd.Parameters.AddWithValue("@@DateParam1", from.Value.Date);\r
-                    if (to != null)\r
-                        cmd.Parameters.AddWithValue("@@DateParam2", to.Value.Date);\r
-\r
-                    using (SqlDataReader reader = cmd.ExecuteReader()) {\r
-                        while (reader.Read()) {\r
-                            if (result == null)\r
-                                result = new List<TrafficItem>();\r
-                            clIFsp_EC_MAMBradocastResult item = cliFSPReader.ToclIFsp_MAMBroadcastResult(reader);\r
-                            result.Add(ToTrafficItem(item));\r
-                        }\r
-                    }\r
-                }\r
-            }\r
-            catch (Exception e) {\r
-                OnError(logger, e);\r
-            }\r
-            finally {\r
-                connection.Close();\r
-            }\r
-            return result;\r
-        }\r
-\r
-\r
-        public List<TrafficItemMetadata> GetMaterialArchiveMetadata(string strParam) {\r
-            List<TrafficItemMetadata> result = null;\r
-            try {\r
-                TryConnect();\r
-                using (SqlCommand cmd = CreateCommmad()) {\r
-                    cmd.CommandType = CommandType.StoredProcedure;\r
-                    cmd.Parameters.AddWithValue("@Operation", 1002);\r
-                    cmd.Parameters.AddWithValue("@@@Options", 0);\r
-                    cmd.Parameters.AddWithValue("@@ItemID", DBNull.Value);\r
-                    cmd.Parameters.AddWithValue("@@StrParam1", strParam);\r
-\r
-                    using (SqlDataReader reader = cmd.ExecuteReader()) {\r
-                        while (reader.Read()) {\r
-                            if (result == null)\r
-                                result = new List<TrafficItemMetadata>();\r
-                            clIFsp_EC_MAMBradocastResult item = cliFSPReader.ToclIFsp_MAMBroadcastResult(reader);\r
-                            result.Add(ToTrafficItemMetadata(item));\r
-                        }\r
-                    }\r
-                }\r
-            }\r
-            catch (Exception e) {\r
-                OnError(logger, e);\r
-            }\r
-            finally {\r
-                connection.Close();\r
-            }\r
-            return result;\r
-        }\r
-\r
-        public TrafficVersion CreateMaterialVersion(string episodeID, bool recut) {\r
-            TrafficVersion result = null;\r
-            try {\r
-                TryConnect();\r
-                using (SqlCommand cmd = CreateCommmad()) {\r
-                    cmd.CommandType = CommandType.StoredProcedure;\r
-                    cmd.Parameters.AddWithValue("@Operation", 1105);\r
-                    cmd.Parameters.AddWithValue("@@@Options", DBNull.Value);\r
-                    cmd.Parameters.AddWithValue("@@IntParam1", recut ? 12 : 1);\r
-                    cmd.Parameters.AddWithValue("@@ItemID", DBNull.Value);\r
-                    cmd.Parameters.AddWithValue("@@StrParam1", episodeID);\r
-                    cmd.Parameters.AddWithValue("@@StrParam2", DBNull.Value);\r
-\r
-                    using (SqlDataReader reader = cmd.ExecuteReader()) {\r
-                        if (reader.Read()) {\r
-                            result = new TrafficVersion();\r
-                            if (!reader.IsDBNull(0))\r
-                                result.VariantID = reader.GetInt32(0);\r
-\r
-                            if (!reader.IsDBNull(1))\r
-                                result.MediaID = reader.GetString(1);\r
-                        }\r
-                    }\r
-                }\r
-            }\r
-            catch (Exception e) {\r
-                OnError(logger, e);\r
-            }\r
-            finally {\r
-                connection.Close();\r
-            }\r
-            return result;\r
-        }\r
-\r
-        public void SetMaterialOK(int itemID, bool ok) {\r
-            try {\r
-                TryConnect();\r
-                int options = ok ? 1 : 0;\r
-                using (SqlCommand cmd = CreateCommmad()) {\r
-                    cmd.CommandType = CommandType.StoredProcedure;\r
-                    cmd.Parameters.AddWithValue("@Operation", 1100);\r
-                    cmd.Parameters.AddWithValue("@@ItemID", itemID);\r
-                    cmd.Parameters.AddWithValue("@@@Options", DBNull.Value);\r
-                    cmd.Parameters.AddWithValue("@@IntParam1", options);\r
-                    cmd.ExecuteNonQuery();\r
-                }\r
-            }\r
-            catch (Exception e) {\r
-                OnError(logger, e);\r
-            }\r
-            finally {\r
-                connection.Close();\r
-            }\r
-        }\r
-    }\r
-}\r
diff --git a/client/PlanAIRClient/Workers/MultiSegmentMaterialWorker.cs b/client/PlanAIRClient/Workers/MultiSegmentMaterialWorker.cs
new file mode 100644 (file)
index 0000000..67f95b3
--- /dev/null
@@ -0,0 +1,9 @@
+using NLog;\r
+\r
+namespace TrafficClient.Workers {\r
+\r
+    public class MultiSegmentMaterialWorker : TrafficWorker {\r
+\r
+        private static Logger logger = LogManager.GetCurrentClassLogger();\r
+    }\r
+}\r
index 4fa6b06c02c0318cdbd0901614741869690bb1d3..03972a8388f71bcb2c645c9223a9c4cde4413175 100644 (file)
@@ -1,21 +1,22 @@
-using System;\r
+using LinkDotNet.MessageHandling.Contracts;\r
+using MaestroShared.Metadata;\r
+using NLog;\r
+using System;\r
 using System.Collections.Generic;\r
 using System.Data;\r
 using System.Data.SqlClient;\r
-using NLog;\r
 using System.Diagnostics;\r
-using LinkDotNet.MessageHandling.Contracts;\r
 \r
 namespace TrafficClient.Workers {\r
     public class PromoWorker : TrafficWorker {\r
 \r
         private static Logger logger = LogManager.GetCurrentClassLogger();\r
 \r
-        public PromoWorker(SqlConnection connection, CliFSPReader cliFSPReader, string functionName, IMessageBus messageBus)\r
+        public PromoWorker(SqlConnection connection, PlanAirDataReader cliFSPReader, string functionName, IMessageBus messageBus)\r
             : base(connection, cliFSPReader, functionName, messageBus) {\r
         }\r
 \r
-        private TrafficItem ToTrafficItem(clIFsp_EC_MAMPromotionalResult data) {\r
+        private TrafficItem ToTrafficItem(PlanAirPromoResult data) {\r
             Debug.WriteLine(data.v_OkForAirs);\r
             return new TrafficItem() {\r
                 MediaID = data.t_MediaID,\r
@@ -29,11 +30,11 @@ namespace TrafficClient.Workers {
 \r
         }\r
 \r
-        private TrafficItemMetadata ToTrafficItemMetadata(clIFsp_EC_MAMPromotionalResult data) {\r
+        private TrafficItemMetadata ToTrafficItemMetadata(PlanAirPromoResult data) {\r
             return new TrafficItemMetadata() {\r
-                    EpisodeID = data.t_MediaID,\r
-                    ProgID = data.t_SpotID.ToString(),\r
-                    ProgTitle = data.v_Title,\r
+                EpisodeID = data.t_MediaID,\r
+                ProgID = data.t_SpotID.ToString(),\r
+                ProgTitle = data.v_Title,\r
             };\r
         }\r
 \r
@@ -60,21 +61,19 @@ namespace TrafficClient.Workers {
                         while (reader.Read()) {\r
                             if (result == null)\r
                                 result = new List<TrafficItem>();\r
-                            clIFsp_EC_MAMPromotionalResult item = cliFSPReader.ToclIFsp_MAMPromotionalResult(reader);\r
+                            PlanAirPromoResult item = cliFSPReader.ToclIFsp_MAMPromotionalResult(reader);\r
                             result.Add(ToTrafficItem(item));\r
                         }\r
                     }\r
                 }\r
-            }\r
-            catch (Exception e) {\r
+            } catch (Exception e) {\r
                 OnError(logger, e);\r
-            }\r
-            finally {\r
+            } finally {\r
                 connection.Close();\r
             }\r
             return result;\r
         }\r
-        \r
+\r
         public void SetPromoOK(int itemID, bool ok) {\r
             try {\r
                 TryConnect();\r
@@ -88,11 +87,9 @@ namespace TrafficClient.Workers {
                     cmd.Parameters.AddWithValue("@@IntParam2", DBNull.Value);\r
                     cmd.ExecuteNonQuery();\r
                 }\r
-            }\r
-            catch (Exception e) {\r
+            } catch (Exception e) {\r
                 OnError(logger, e);\r
-            }\r
-            finally {\r
+            } finally {\r
                 connection.Close();\r
             }\r
         }\r
@@ -111,16 +108,75 @@ namespace TrafficClient.Workers {
                         while (reader.Read()) {\r
                             if (result == null)\r
                                 result = new List<TrafficItemMetadata>();\r
-                            clIFsp_EC_MAMPromotionalResult item = cliFSPReader.ToclIFsp_MAMPromotionalResult(reader);\r
+                            PlanAirPromoResult item = cliFSPReader.ToclIFsp_MAMPromotionalResult(reader);\r
                             result.Add(ToTrafficItemMetadata(item));\r
                         }\r
                     }\r
                 }\r
+            } catch (Exception e) {\r
+                OnError(logger, e);\r
+            } finally {\r
+                connection.Close();\r
             }\r
-            catch (Exception e) {\r
+            return result;\r
+        }\r
+\r
+        private MovieSegment ToSegment(PlanAirPromoResult item) {\r
+            return new MovieSegment() {\r
+                TCIn = item.t_TcIn.HasValue ? new Timecode(item.t_TcIn.Value) : new Timecode(),\r
+                TCOut = item.t_TcOut.HasValue ? new Timecode(item.t_TcOut.Value) : new Timecode(),\r
+            };\r
+        }\r
+\r
+        public void SavePromoSegment(int itemID, MovieSegment segment) {\r
+            object comment = segment.Comment;\r
+            if (String.IsNullOrEmpty(segment.Comment))\r
+                comment = DBNull.Value;\r
+            try {\r
+                TryConnect();\r
+                using (SqlCommand cmd = CreateCommmad()) {\r
+                    int optionalParam = segment.Optional ? 1 : 0;\r
+                    cmd.CommandType = CommandType.StoredProcedure;\r
+                    cmd.Parameters.AddWithValue("@Operation", 2100);\r
+                    cmd.Parameters.AddWithValue("@@ItemID", itemID);\r
+                    cmd.Parameters.AddWithValue("@@@Options", DBNull.Value);\r
+                    cmd.Parameters.AddWithValue("@@IntParam1", segment.TCIn.Frames);\r
+                    cmd.Parameters.AddWithValue("@@IntParam2", segment.TCOut.Frames);\r
+                    cmd.Parameters.AddWithValue("@@StrParam2", comment);\r
+                    cmd.ExecuteNonQuery();\r
+                }\r
+            } catch (Exception e) {\r
                 OnError(logger, e);\r
+            } finally {\r
+                connection.Close();\r
             }\r
-            finally {\r
+        }\r
+\r
+        public List<MovieSegment> GetPromoSegments(string strParam) {\r
+            List<MovieSegment> result = null;\r
+            try {\r
+                TryConnect();\r
+                using (SqlCommand cmd = CreateCommmad()) {\r
+                    cmd.CommandType = CommandType.StoredProcedure;\r
+                    cmd.Parameters.AddWithValue("@Operation", 2001);\r
+                    cmd.Parameters.AddWithValue("@@@Options", 0);\r
+                    cmd.Parameters.AddWithValue("@@ItemID", DBNull.Value);\r
+                    cmd.Parameters.AddWithValue("@@StrParam1", strParam);\r
+                    using (SqlDataReader reader = cmd.ExecuteReader()) {\r
+                        while (reader.Read()) {\r
+                            if (result == null)\r
+                                result = new List<MovieSegment>();\r
+\r
+                            PlanAirPromoResult item = cliFSPReader.ToclIFsp_MAMPromotionalResult(reader);\r
+                            MovieSegment segment = ToSegment(item);\r
+                            if (segment.TCOut.Frames != 0)\r
+                                result.Add(segment);\r
+                        }\r
+                    }\r
+                }\r
+            } catch (Exception e) {\r
+                OnError(logger, e);\r
+            } finally {\r
                 connection.Close();\r
             }\r
             return result;\r
similarity index 53%
rename from client/PlanAIRClient/Workers/SegmentWorker.cs
rename to client/PlanAIRClient/Workers/SingleSegmentMaterialWorker.cs
index 71802d8dbedc10a84fdbca2008082b7e83795c4c..7bc9463fb8f2d6dd5894a1287cd0f04b7a8c8f2a 100644 (file)
-using System;\r
+using LinkDotNet.MessageHandling.Contracts;\r
+using MaestroShared.Metadata;\r
+using NLog;\r
+using System;\r
 using System.Collections.Generic;\r
 using System.Data;\r
 using System.Data.SqlClient;\r
-using NLog;\r
-using LinkDotNet.MessageHandling.Contracts;\r
-using MaestroShared.Metadata;\r
 \r
 namespace TrafficClient.Workers {\r
-    public class SegmentWorker : TrafficWorker {\r
+\r
+    public class SingleSegmentMaterialWorker : TrafficWorker {\r
 \r
         private static Logger logger = LogManager.GetCurrentClassLogger();\r
 \r
-        public SegmentWorker(SqlConnection connection, CliFSPReader cliFSPReader, string functionName, IMessageBus messageBus) :\r
-            base(connection, cliFSPReader, functionName, messageBus) {\r
+        public SingleSegmentMaterialWorker(SqlConnection connection, PlanAirDataReader cliFSPReader, string functionName, IMessageBus messageBus)\r
+            base(connection, cliFSPReader, functionName, messageBus) {\r
         }\r
 \r
-        private MovieSegment ToSegment(clIFsp_EC_MAMPromotionalResult item) {\r
-            return new MovieSegment() {\r
-                TCIn = item.t_TcIn.HasValue ? new Timecode(item.t_TcIn.Value) : new Timecode(),\r
-                TCOut = item.t_TcOut.HasValue ? new Timecode(item.t_TcOut.Value) : new Timecode(),\r
+        private TrafficItem ToTrafficItem(clIFsp_EC_MAMBradocastResult data) {\r
+            //Debug.WriteLine(data.v_OkForAir);\r
+\r
+            return new TrafficItem() {\r
+                MediaID = data.v_MediaID,\r
+                EpisodeTitle = data.v_EpTitle,\r
+                Title = data.v_ProgTitle,\r
+                VariantID = data.v_VariantID.HasValue ? data.v_VariantID.Value : 0,\r
+                EpisodeNumber = data.v_Episode.HasValue ? data.v_Episode.Value : (short)0,\r
+                NextBroadcastDate = data.v_NextBroadcastDate,\r
+                FirstBroadcastDate = data.v_FirstBroadcastDate,\r
+                EpisodeID = data.v_EpisodeID,\r
+                SegmentCount = (short)data.v_VariantNrSegments,\r
+                OK = data.v_OkForAir != null && true.Equals(data.v_OkForAir)\r
             };\r
         }\r
 \r
-        private MovieSegment ToSegment(clIFsp_EC_SegmentResult item) {\r
-            return new MovieSegment() {\r
-                TCIn = item.v_TcIn.HasValue ? new Timecode(item.v_TcIn.Value) : new Timecode(),\r
-                TCOut = item.v_TcOut.HasValue ? new Timecode(item.v_TcOut.Value) : new Timecode(),\r
-                Comment = item.v_SegTitle,\r
-                Optional = item.v_Dropable.HasValue ? item.v_Dropable.Value : false\r
+        private TrafficItemMetadata ToTrafficItemMetadata(clIFsp_EC_MAMBradocastResult data) {\r
+            return new TrafficItemMetadata() {\r
+                EpisodeID = data.v_EpisodeID,\r
+                EpisodeTitle = data.v_EpTitle,\r
+                ProgID = data.v_ProgrammeID.ToString(),\r
+                ProgTitle = data.v_ProgTitle,\r
+                OK = data.v_OkForAir != null && true.Equals(data.v_OkForAir)\r
             };\r
         }\r
 \r
-        private MovieSegment ToSegment(clIFsp_EC_MAMAdvertismentResult item) {\r
-            return new MovieSegment() {\r
-                TCIn = item.t_TcIn.HasValue ? new Timecode(item.t_TcIn.Value) : new Timecode(),\r
-                TCOut = item.t_TcOut.HasValue ? new Timecode(item.t_TcOut.Value) : new Timecode()\r
-            };\r
+        protected virtual int GetMaterialsID {\r
+            get => 1002;\r
         }\r
 \r
-        public List<MovieSegment> GetMaterialSegments(int itemID) {\r
-            List<MovieSegment> result = null;\r
+        public List<TrafficItem> GetMaterials(string search, bool problematic, DateTime? from, DateTime? to) {\r
+            List<TrafficItem> result = null;\r
             try {\r
                 TryConnect();\r
                 using (SqlCommand cmd = CreateCommmad()) {\r
                     cmd.CommandType = CommandType.StoredProcedure;\r
-                    cmd.Parameters.AddWithValue("@Operation", 1010);\r
-                    cmd.Parameters.AddWithValue("@@@Options", DBNull.Value);\r
-                    cmd.Parameters.AddWithValue("@@ItemID", itemID);\r
+                    cmd.Parameters.AddWithValue("@Operation", GetMaterialsID);\r
+                    if (problematic)\r
+                        cmd.Parameters.AddWithValue("@@@Options", 1);\r
+                    else\r
+                        cmd.Parameters.AddWithValue("@@@Options", 0);\r
+\r
+                    cmd.Parameters.AddWithValue("@@ItemID", DBNull.Value);\r
+                    if (!String.IsNullOrEmpty(search))\r
+                        cmd.Parameters.AddWithValue("@@StrParam1", search);\r
+                    if (from != null)\r
+                        cmd.Parameters.AddWithValue("@@DateParam1", from.Value.Date);\r
+                    if (to != null)\r
+                        cmd.Parameters.AddWithValue("@@DateParam2", to.Value.Date);\r
+\r
                     using (SqlDataReader reader = cmd.ExecuteReader()) {\r
                         while (reader.Read()) {\r
                             if (result == null)\r
-                                result = new List<MovieSegment>();\r
-                            clIFsp_EC_SegmentResult item = cliFSPReader.ToclIFsp_SegmentResult(reader);\r
-                            result.Add(ToSegment(item));\r
+                                result = new List<TrafficItem>();\r
+                            clIFsp_EC_MAMBradocastResult item = cliFSPReader.ToclIFsp_MAMBroadcastResult(reader);\r
+                            result.Add(ToTrafficItem(item));\r
                         }\r
                     }\r
                 }\r
-            }\r
-            catch (Exception e) {\r
+            } catch (Exception e) {\r
                 OnError(logger, e);\r
-            }\r
-            finally {\r
+            } finally {\r
                 connection.Close();\r
             }\r
             return result;\r
         }\r
 \r
-        public void DeleteMaterialSegments(int itemID) {\r
+\r
+        public List<TrafficItemMetadata> GetMaterialArchiveMetadata(string strParam) {\r
+            List<TrafficItemMetadata> result = null;\r
             try {\r
                 TryConnect();\r
                 using (SqlCommand cmd = CreateCommmad()) {\r
                     cmd.CommandType = CommandType.StoredProcedure;\r
-                    cmd.Parameters.AddWithValue("@Operation", 1110);\r
-                    cmd.Parameters.AddWithValue("@@ItemID", itemID);\r
-                    cmd.Parameters.AddWithValue("@@@Options", DBNull.Value);\r
-                    cmd.ExecuteNonQuery();\r
-                    logger.Info(String.Format("Segments deleted from itemID {0}", itemID));\r
+                    cmd.Parameters.AddWithValue("@Operation", GetMaterialsID);\r
+                    cmd.Parameters.AddWithValue("@@@Options", 0);\r
+                    cmd.Parameters.AddWithValue("@@ItemID", DBNull.Value);\r
+                    cmd.Parameters.AddWithValue("@@StrParam1", strParam);\r
+\r
+                    using (SqlDataReader reader = cmd.ExecuteReader()) {\r
+                        while (reader.Read()) {\r
+                            if (result == null)\r
+                                result = new List<TrafficItemMetadata>();\r
+                            clIFsp_EC_MAMBradocastResult item = cliFSPReader.ToclIFsp_MAMBroadcastResult(reader);\r
+                            result.Add(ToTrafficItemMetadata(item));\r
+                        }\r
+                    }\r
                 }\r
-            }\r
-            catch (Exception e) {\r
+            } catch (Exception e) {\r
                 OnError(logger, e);\r
-            }\r
-            finally {\r
+            } finally {\r
                 connection.Close();\r
             }\r
+            return result;\r
         }\r
 \r
-        public void DeleteMaterialSegment(int itemID, int segmentID) {\r
+        protected virtual int GetMaterialVersionID {\r
+            get => 1105;\r
+        }\r
+\r
+        public TrafficVersion CreateMaterialVersion(string episodeID, bool recut) {\r
+            TrafficVersion result = null;\r
             try {\r
                 TryConnect();\r
                 using (SqlCommand cmd = CreateCommmad()) {\r
                     cmd.CommandType = CommandType.StoredProcedure;\r
-                    cmd.Parameters.AddWithValue("@Operation", 1111);\r
-                    cmd.Parameters.AddWithValue("@@ItemID", itemID);\r
-                    cmd.Parameters.AddWithValue("@@IntParam1", segmentID);\r
+                    cmd.Parameters.AddWithValue("@Operation", GetMaterialVersionID);\r
                     cmd.Parameters.AddWithValue("@@@Options", DBNull.Value);\r
-                    cmd.ExecuteNonQuery();\r
-                    logger.Info(String.Format("{0} segment deleted from itemID: {1}", segmentID, itemID));\r
+                    cmd.Parameters.AddWithValue("@@IntParam1", recut ? 12 : 1);\r
+                    cmd.Parameters.AddWithValue("@@ItemID", DBNull.Value);\r
+                    cmd.Parameters.AddWithValue("@@StrParam1", episodeID);\r
+                    cmd.Parameters.AddWithValue("@@StrParam2", DBNull.Value);\r
+\r
+                    using (SqlDataReader reader = cmd.ExecuteReader()) {\r
+                        if (reader.Read()) {\r
+                            result = new TrafficVersion();\r
+                            if (!reader.IsDBNull(0))\r
+                                result.VariantID = reader.GetInt32(0);\r
+\r
+                            if (!reader.IsDBNull(1))\r
+                                result.MediaID = reader.GetString(1);\r
+                        }\r
+                    }\r
                 }\r
-            }\r
-            catch (Exception e) {\r
+            } catch (Exception e) {\r
                 OnError(logger, e);\r
-            }\r
-            finally {\r
+            } finally {\r
                 connection.Close();\r
             }\r
+            return result;\r
         }\r
 \r
-        public void AddMaterialSegment(int itemID, MovieSegment segment) {\r
-            object comment = segment.Comment;\r
-            if (String.IsNullOrEmpty(segment.Comment))\r
-                comment = DBNull.Value;\r
+        protected virtual int SetMaterialOKID {\r
+            get => 1100;\r
+        }\r
+\r
+        public void SetMaterialOK(int itemID, bool ok) {\r
             try {\r
                 TryConnect();\r
+                int options = ok ? 1 : 0;\r
                 using (SqlCommand cmd = CreateCommmad()) {\r
-                    int optionalParam = segment.Optional ? 1 : 0;\r
                     cmd.CommandType = CommandType.StoredProcedure;\r
-                    cmd.Parameters.AddWithValue("@Operation", 1115);\r
+                    cmd.Parameters.AddWithValue("@Operation", SetMaterialOKID);\r
                     cmd.Parameters.AddWithValue("@@ItemID", itemID);\r
-                    cmd.Parameters.AddWithValue("@@IntParam1", segment.TCIn.Frames);\r
-                    cmd.Parameters.AddWithValue("@@IntParam2", segment.TCOut.Frames);\r
-                    cmd.Parameters.AddWithValue("@@StrParam1", comment);\r
-                    cmd.Parameters.AddWithValue("@@StrParam2", DBNull.Value);\r
-                    cmd.Parameters.AddWithValue("@@@Options", optionalParam);\r
+                    cmd.Parameters.AddWithValue("@@@Options", DBNull.Value);\r
+                    cmd.Parameters.AddWithValue("@@IntParam1", options);\r
                     cmd.ExecuteNonQuery();\r
                 }\r
-            }\r
-            catch (Exception e) {\r
+            } catch (Exception e) {\r
                 OnError(logger, e);\r
-            }\r
-            finally {\r
+            } finally {\r
                 connection.Close();\r
             }\r
         }\r
 \r
-        public void SaveADSegment(int itemID, MovieSegment segment) {\r
-            object comment = segment.Comment;\r
-            if (String.IsNullOrEmpty(segment.Comment))\r
-                comment = DBNull.Value;\r
+        private MovieSegment ToSegment(PlanAirMaterialSegmentResult item) {\r
+            return new MovieSegment() {\r
+                TCIn = item.v_TcIn.HasValue ? new Timecode(item.v_TcIn.Value) : new Timecode(),\r
+                TCOut = item.v_TcOut.HasValue ? new Timecode(item.v_TcOut.Value) : new Timecode(),\r
+                Comment = item.v_SegTitle,\r
+                Optional = item.v_Dropable.HasValue ? item.v_Dropable.Value : false\r
+            };\r
+        }\r
+\r
+        protected virtual int GetMaterialSegmentsID {\r
+            get => 1010;\r
+        }\r
+\r
+        public List<MovieSegment> GetMaterialSegments(int itemID) {\r
+            List<MovieSegment> result = null;\r
             try {\r
                 TryConnect();\r
                 using (SqlCommand cmd = CreateCommmad()) {\r
-                    int optionalParam = segment.Optional ? 1 : 0;\r
                     cmd.CommandType = CommandType.StoredProcedure;\r
-                    cmd.Parameters.AddWithValue("@Operation", 3100);\r
-                    cmd.Parameters.AddWithValue("@@ItemID", itemID);\r
+                    cmd.Parameters.AddWithValue("@Operation", GetMaterialSegmentsID);\r
                     cmd.Parameters.AddWithValue("@@@Options", DBNull.Value);\r
-                    cmd.Parameters.AddWithValue("@@IntParam1", segment.TCIn.Frames);\r
-                    cmd.Parameters.AddWithValue("@@IntParam2", segment.TCOut.Frames);\r
-                    cmd.Parameters.AddWithValue("@@StrParam1", comment);\r
-                    cmd.ExecuteNonQuery();\r
+                    cmd.Parameters.AddWithValue("@@ItemID", itemID);\r
+                    using (SqlDataReader reader = cmd.ExecuteReader()) {\r
+                        while (reader.Read()) {\r
+                            if (result == null)\r
+                                result = new List<MovieSegment>();\r
+                            PlanAirMaterialSegmentResult item = cliFSPReader.ToclIFsp_SegmentResult(reader);\r
+                            result.Add(ToSegment(item));\r
+                        }\r
+                    }\r
                 }\r
-            }\r
-            catch (Exception e) {\r
+            } catch (Exception e) {\r
                 OnError(logger, e);\r
-            }\r
-            finally {\r
+            } finally {\r
                 connection.Close();\r
             }\r
+            return result;\r
         }\r
 \r
-        public void SavePromoSegment(int itemID, MovieSegment segment) {\r
-            object comment = segment.Comment;\r
-            if (String.IsNullOrEmpty(segment.Comment))\r
-                comment = DBNull.Value;\r
+        public void DeleteMaterialSegments(int itemID) {\r
             try {\r
                 TryConnect();\r
                 using (SqlCommand cmd = CreateCommmad()) {\r
-                    int optionalParam = segment.Optional ? 1 : 0;\r
                     cmd.CommandType = CommandType.StoredProcedure;\r
-                    cmd.Parameters.AddWithValue("@Operation", 2100);\r
+                    cmd.Parameters.AddWithValue("@Operation", 1110);\r
                     cmd.Parameters.AddWithValue("@@ItemID", itemID);\r
                     cmd.Parameters.AddWithValue("@@@Options", DBNull.Value);\r
-                    cmd.Parameters.AddWithValue("@@IntParam1", segment.TCIn.Frames);\r
-                    cmd.Parameters.AddWithValue("@@IntParam2", segment.TCOut.Frames);\r
-                    cmd.Parameters.AddWithValue("@@StrParam2", comment);\r
                     cmd.ExecuteNonQuery();\r
+                    logger.Info(String.Format("Segments deleted from itemID {0}", itemID));\r
                 }\r
-            }\r
-            catch (Exception e) {\r
+            } catch (Exception e) {\r
                 OnError(logger, e);\r
-            }\r
-            finally {\r
+            } finally {\r
                 connection.Close();\r
             }\r
         }\r
 \r
-        public List<MovieSegment> GetPromoSegments(string strParam) {\r
-            List<MovieSegment> result = null;\r
+        public void DeleteMaterialSegment(int itemID, int segmentID) {\r
             try {\r
                 TryConnect();\r
                 using (SqlCommand cmd = CreateCommmad()) {\r
                     cmd.CommandType = CommandType.StoredProcedure;\r
-                    cmd.Parameters.AddWithValue("@Operation", 2001);\r
-                    cmd.Parameters.AddWithValue("@@@Options", 0);\r
-                    cmd.Parameters.AddWithValue("@@ItemID", DBNull.Value);\r
-                    cmd.Parameters.AddWithValue("@@StrParam1", strParam);\r
-                    using (SqlDataReader reader = cmd.ExecuteReader()) {\r
-                        while (reader.Read()) {\r
-                            if (result == null)\r
-                                result = new List<MovieSegment>();\r
-\r
-                            clIFsp_EC_MAMPromotionalResult item = cliFSPReader.ToclIFsp_MAMPromotionalResult(reader);\r
-                            MovieSegment segment = ToSegment(item);\r
-                            if (segment.TCOut.Frames != 0)\r
-                                result.Add(segment);\r
-                        }\r
-                    }\r
+                    cmd.Parameters.AddWithValue("@Operation", 1111);\r
+                    cmd.Parameters.AddWithValue("@@ItemID", itemID);\r
+                    cmd.Parameters.AddWithValue("@@IntParam1", segmentID);\r
+                    cmd.Parameters.AddWithValue("@@@Options", DBNull.Value);\r
+                    cmd.ExecuteNonQuery();\r
+                    logger.Info(String.Format("{0} segment deleted from itemID: {1}", segmentID, itemID));\r
                 }\r
-            }\r
-            catch (Exception e) {\r
+            } catch (Exception e) {\r
                 OnError(logger, e);\r
-            }\r
-            finally {\r
+            } finally {\r
                 connection.Close();\r
             }\r
-            return result;\r
         }\r
 \r
-        public List<MovieSegment> GetADSegments(string strParam) {\r
-            List<MovieSegment> result = null;\r
+        public void AddMaterialSegment(int itemID, MovieSegment segment) {\r
+            object comment = segment.Comment;\r
+            if (String.IsNullOrEmpty(segment.Comment))\r
+                comment = DBNull.Value;\r
             try {\r
                 TryConnect();\r
                 using (SqlCommand cmd = CreateCommmad()) {\r
+                    int optionalParam = segment.Optional ? 1 : 0;\r
                     cmd.CommandType = CommandType.StoredProcedure;\r
-                    cmd.Parameters.AddWithValue("@Operation", 3001);\r
-                    cmd.Parameters.AddWithValue("@@@Options", 0);\r
-                    cmd.Parameters.AddWithValue("@@ItemID", DBNull.Value);\r
-                    cmd.Parameters.AddWithValue("@@StrParam1", strParam);\r
-                    using (SqlDataReader reader = cmd.ExecuteReader()) {\r
-                        while (reader.Read()) {\r
-                            if (result == null)\r
-                                result = new List<MovieSegment>();\r
-                            clIFsp_EC_MAMAdvertismentResult item = cliFSPReader.ToclIFsp_MAMAdvertisementResult(reader);\r
-                            MovieSegment segment = ToSegment(item);\r
-                            if (segment.TCOut.Frames != 0)\r
-                                result.Add(segment);\r
-                        }\r
-                    }\r
+                    cmd.Parameters.AddWithValue("@Operation", 1115);\r
+                    cmd.Parameters.AddWithValue("@@ItemID", itemID);\r
+                    cmd.Parameters.AddWithValue("@@IntParam1", segment.TCIn.Frames);\r
+                    cmd.Parameters.AddWithValue("@@IntParam2", segment.TCOut.Frames);\r
+                    cmd.Parameters.AddWithValue("@@StrParam1", comment);\r
+                    cmd.Parameters.AddWithValue("@@StrParam2", DBNull.Value);\r
+                    cmd.Parameters.AddWithValue("@@@Options", optionalParam);\r
+                    cmd.ExecuteNonQuery();\r
                 }\r
-            }\r
-            catch (Exception e) {\r
+            } catch (Exception e) {\r
                 OnError(logger, e);\r
-            }\r
-            finally {\r
+            } finally {\r
                 connection.Close();\r
             }\r
-            return result;\r
         }\r
 \r
     }\r
index 9d30dea7e7d6444357babaaeb9f703776a9bd627..508a73674df1ede81763d18a4c33d4af49b5cead 100644 (file)
@@ -8,11 +8,11 @@ namespace TrafficClient.Workers {
     public class TrafficWorker {\r
 \r
         protected IMessageBus messageBus;\r
-        protected CliFSPReader cliFSPReader;\r
+        protected PlanAirDataReader cliFSPReader;\r
         private readonly string functionName;\r
         protected SqlConnection connection;\r
 \r
-        public TrafficWorker(SqlConnection connection, CliFSPReader cliFSPReader, string functionName, IMessageBus messageBus) {\r
+        public TrafficWorker(SqlConnection connection, PlanAirDataReader cliFSPReader, string functionName, IMessageBus messageBus) {\r
             this.connection = connection;\r
             this.cliFSPReader = cliFSPReader;\r
             this.functionName = functionName;\r
diff --git a/client/PlanAIRClient/clIFsp_EC_MAMBradocastResult.cs b/client/PlanAIRClient/clIFsp_EC_MAMBradocastResult.cs
new file mode 100644 (file)
index 0000000..6a49b0d
--- /dev/null
@@ -0,0 +1,259 @@
+namespace TrafficClient {\r
+    public partial class clIFsp_EC_MAMBradocastResult {\r
+\r
+        private int _v_ProgrammeID;\r
+\r
+        private bool _v_Live;\r
+\r
+        private string _v_EpisodeID;\r
+\r
+        private System.Nullable<int> _v_VariantID;\r
+\r
+        private System.Nullable<int> _v_VariantTypeID;\r
+\r
+        private string _v_ProgTitle;\r
+\r
+        private string _v_EpTitle;\r
+\r
+        private System.Nullable<short> _v_Episode;\r
+\r
+        private string _v_VariantType;\r
+\r
+        private string _v_VariantKeywords;\r
+\r
+        private string _v_VariantLengthTC;\r
+\r
+        private System.Nullable<int> _v_VariantLengthFrame;\r
+\r
+        private System.Nullable<int> _v_VariantNrSegments;\r
+\r
+        private System.Nullable<System.DateTime> _v_FirstBroadcastDate;\r
+\r
+        private System.Nullable<System.DateTime> _v_NextBroadcastDate;\r
+\r
+        private System.Nullable<bool> _v_OkForAir;\r
+\r
+        private System.Nullable<bool> _v_ForTransm;\r
+\r
+        private string _v_MediaID;\r
+\r
+        public clIFsp_EC_MAMBradocastResult() {\r
+        }\r
+\r
+        [global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_v_ProgrammeID", DbType = "Int NOT NULL")]\r
+        public int v_ProgrammeID {\r
+            get {\r
+                return this._v_ProgrammeID;\r
+            }\r
+            set {\r
+                if ((this._v_ProgrammeID != value)) {\r
+                    this._v_ProgrammeID = value;\r
+                }\r
+            }\r
+        }\r
+\r
+        [global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_v_Live", DbType = "Bit NOT NULL")]\r
+        public bool v_Live {\r
+            get {\r
+                return this._v_Live;\r
+            }\r
+            set {\r
+                if ((this._v_Live != value)) {\r
+                    this._v_Live = value;\r
+                }\r
+            }\r
+        }\r
+\r
+        [global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_v_EpisodeID", DbType = "VarChar(6) NOT NULL", CanBeNull = false)]\r
+        public string v_EpisodeID {\r
+            get {\r
+                return this._v_EpisodeID;\r
+            }\r
+            set {\r
+                if ((this._v_EpisodeID != value)) {\r
+                    this._v_EpisodeID = value;\r
+                }\r
+            }\r
+        }\r
+\r
+        [global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_v_VariantID", DbType = "Int")]\r
+        public System.Nullable<int> v_VariantID {\r
+            get {\r
+                return this._v_VariantID;\r
+            }\r
+            set {\r
+                if ((this._v_VariantID != value)) {\r
+                    this._v_VariantID = value;\r
+                }\r
+            }\r
+        }\r
+\r
+        [global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_v_VariantTypeID", DbType = "Int")]\r
+        public System.Nullable<int> v_VariantTypeID {\r
+            get {\r
+                return this._v_VariantTypeID;\r
+            }\r
+            set {\r
+                if ((this._v_VariantTypeID != value)) {\r
+                    this._v_VariantTypeID = value;\r
+                }\r
+            }\r
+        }\r
+\r
+        [global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_v_ProgTitle", DbType = "NVarChar(60)")]\r
+        public string v_ProgTitle {\r
+            get {\r
+                return this._v_ProgTitle;\r
+            }\r
+            set {\r
+                if ((this._v_ProgTitle != value)) {\r
+                    this._v_ProgTitle = value;\r
+                }\r
+            }\r
+        }\r
+\r
+        [global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_v_EpTitle", DbType = "NVarChar(60)")]\r
+        public string v_EpTitle {\r
+            get {\r
+                return this._v_EpTitle;\r
+            }\r
+            set {\r
+                if ((this._v_EpTitle != value)) {\r
+                    this._v_EpTitle = value;\r
+                }\r
+            }\r
+        }\r
+\r
+        [global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_v_Episode", DbType = "SmallInt")]\r
+        public System.Nullable<short> v_Episode {\r
+            get {\r
+                return this._v_Episode;\r
+            }\r
+            set {\r
+                if ((this._v_Episode != value)) {\r
+                    this._v_Episode = value;\r
+                }\r
+            }\r
+        }\r
+\r
+        [global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_v_VariantType", DbType = "VarChar(40)")]\r
+        public string v_VariantType {\r
+            get {\r
+                return this._v_VariantType;\r
+            }\r
+            set {\r
+                if ((this._v_VariantType != value)) {\r
+                    this._v_VariantType = value;\r
+                }\r
+            }\r
+        }\r
+\r
+        [global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_v_VariantKeywords", DbType = "VarChar(25)")]\r
+        public string v_VariantKeywords {\r
+            get {\r
+                return this._v_VariantKeywords;\r
+            }\r
+            set {\r
+                if ((this._v_VariantKeywords != value)) {\r
+                    this._v_VariantKeywords = value;\r
+                }\r
+            }\r
+        }\r
+\r
+        [global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_v_VariantLengthTC", DbType = "VarChar(150)")]\r
+        public string v_VariantLengthTC {\r
+            get {\r
+                return this._v_VariantLengthTC;\r
+            }\r
+            set {\r
+                if ((this._v_VariantLengthTC != value)) {\r
+                    this._v_VariantLengthTC = value;\r
+                }\r
+            }\r
+        }\r
+\r
+        [global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_v_VariantLengthFrame", DbType = "Int")]\r
+        public System.Nullable<int> v_VariantLengthFrame {\r
+            get {\r
+                return this._v_VariantLengthFrame;\r
+            }\r
+            set {\r
+                if ((this._v_VariantLengthFrame != value)) {\r
+                    this._v_VariantLengthFrame = value;\r
+                }\r
+            }\r
+        }\r
+\r
+        [global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_v_VariantNrSegments", DbType = "Int")]\r
+        public System.Nullable<int> v_VariantNrSegments {\r
+            get {\r
+                return this._v_VariantNrSegments;\r
+            }\r
+            set {\r
+                if ((this._v_VariantNrSegments != value)) {\r
+                    this._v_VariantNrSegments = value;\r
+                }\r
+            }\r
+        }\r
+\r
+        [global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_v_FirstBroadcastDate", DbType = "DateTime")]\r
+        public System.Nullable<System.DateTime> v_FirstBroadcastDate {\r
+            get {\r
+                return this._v_FirstBroadcastDate;\r
+            }\r
+            set {\r
+                if ((this._v_FirstBroadcastDate != value)) {\r
+                    this._v_FirstBroadcastDate = value;\r
+                }\r
+            }\r
+        }\r
+\r
+        [global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_v_NextBroadcastDate", DbType = "DateTime")]\r
+        public System.Nullable<System.DateTime> v_NextBroadcastDate {\r
+            get {\r
+                return this._v_NextBroadcastDate;\r
+            }\r
+            set {\r
+                if ((this._v_NextBroadcastDate != value)) {\r
+                    this._v_NextBroadcastDate = value;\r
+                }\r
+            }\r
+        }\r
+\r
+        [global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_v_OkForAir", DbType = "Bit")]\r
+        public System.Nullable<bool> v_OkForAir {\r
+            get {\r
+                return this._v_OkForAir;\r
+            }\r
+            set {\r
+                if ((this._v_OkForAir != value)) {\r
+                    this._v_OkForAir = value;\r
+                }\r
+            }\r
+        }\r
+\r
+        [global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_v_ForTransm", DbType = "Bit")]\r
+        public System.Nullable<bool> v_ForTransm {\r
+            get {\r
+                return this._v_ForTransm;\r
+            }\r
+            set {\r
+                if ((this._v_ForTransm != value)) {\r
+                    this._v_ForTransm = value;\r
+                }\r
+            }\r
+        }\r
+\r
+        [global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_v_MediaID", DbType = "VarChar(6) NOT NULL", CanBeNull = false)]\r
+        public string v_MediaID {\r
+            get {\r
+                return this._v_MediaID;\r
+            }\r
+            set {\r
+                if ((this._v_MediaID != value)) {\r
+                    this._v_MediaID = value;\r
+                }\r
+            }\r
+        }\r
+    }\r
+}\r