git-tfs-id: [http://tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube...
authorVásáry Dániel <daniel.vasary@userrendszerhaz.hu>
Tue, 24 Oct 2017 16:20:54 +0000 (16:20 +0000)
committerVásáry Dániel <daniel.vasary@userrendszerhaz.hu>
Tue, 24 Oct 2017 16:20:54 +0000 (16:20 +0000)
25 files changed:
client/IntegrationTests/PlanAIRTests.cs
client/Maestro/MaestroForm.Source.cs
client/Maestro/MaestroForm.cs
client/OctopusClient/OctopusAPI.cs
client/OctopusClient/OctopusClient.csproj
client/OctopusClient/OctopusIDSelector.cs
client/OctopusClient/OctopusLookupResultSelector.cs [moved from client/OctopusClient/SearchMessageBox.cs with 94% similarity]
client/OctopusClient/OctopusLookupResultSelector.resx [moved from client/OctopusClient/SearchMessageBox.resx with 100% similarity]
client/PlanAIRClient/Resources.Designer.cs
client/PlanAIRClient/Resources.resx
client/PlanAIRClient/TrafficAPI.cs
client/PlanAIRClient/TrafficClient.csproj
client/PlanAIRClient/TrafficIDSelector.Columns.cs [new file with mode: 0644]
client/PlanAIRClient/TrafficIDSelector.Designer.cs
client/PlanAIRClient/TrafficIDSelector.cs
client/PlanAIRClient/TrafficLookupResultSelector.Designer.cs [moved from client/PlanAIRClient/SearchResult.Designer.cs with 97% similarity]
client/PlanAIRClient/TrafficLookupResultSelector.cs [moved from client/PlanAIRClient/SearchResult.cs with 80% similarity]
client/PlanAIRClient/TrafficLookupResultSelector.resx [moved from client/PlanAIRClient/SearchResult.resx with 100% similarity]
client/PlanAIRClient/Workers/ADWorker.cs [moved from client/PlanAIRClient/Workers/AdvertisementWorker.cs with 53% similarity]
client/PlanAIRClient/Workers/BroadcastWorker.cs [deleted file]
client/PlanAIRClient/Workers/MaterialWorker.cs [new file with mode: 0644]
client/PlanAIRClient/Workers/PromoWorker.cs [new file with mode: 0644]
client/PlanAIRClient/Workers/PromotionalWorker.cs [deleted file]
client/PlanAIRClient/Workers/SegmentWorker.cs
client/PlanAIRClient/Workers/TrafficWorker.cs

index 7f6597710a596bf643174f4e26992a0e3cdd6803..dcf85df9b1c98b216a4e21d95302bac44aec9266 100644 (file)
@@ -61,7 +61,7 @@ namespace IntegrationTests {
             const string STR_PARAM = "";\r
 \r
             //Exercise\r
-            List<TrafficItem> actual = sut.GetPromotionals(STR_PARAM);\r
+            List<TrafficItem> actual = sut.GetPromos(STR_PARAM, false);\r
         }\r
 \r
         [TestMethod]\r
@@ -70,7 +70,7 @@ namespace IntegrationTests {
             const string STR_PARAM = "";\r
 \r
             //Exercise\r
-            List<TrafficItem> actual = sut.GetAdvertisements(STR_PARAM);\r
+            List<TrafficItem> actual = sut.GetADs(STR_PARAM, false);\r
         }\r
     }\r
 }\r
index 2bae55c730b1b5c72eb8493928762f4edc35dd9c..0f6d26fa88d5fd9a0b85e9f2cf86b9c4b48cb961 100644 (file)
@@ -3,12 +3,14 @@ using Maestro.Configuration;
 using Maestro.Metadata;\r
 using Maestro.Sources;\r
 using Maestro.Sources.Messages;\r
+using OctopusClient;\r
 using System;\r
 using System.Collections.Generic;\r
 using System.Collections.ObjectModel;\r
 using System.Drawing;\r
 using System.Linq;\r
 using System.Windows.Forms;\r
+using TrafficClient;\r
 \r
 namespace Maestro {\r
 \r
@@ -146,10 +148,10 @@ namespace Maestro {
                 else\r
                     checkBoxCell.Value = (checkBoxCell.Value == null || checkBoxCell.Value.Equals(false)) ? true : false;\r
                 if (checkBoxCell.Value.Equals(false))\r
-                    this.selectedSourceRows.Remove(actualRow);\r
+                    selectedSourceRows.Remove(actualRow);\r
                 else {\r
-                    if (!this.selectedSourceRows.Contains(actualRow))\r
-                        this.selectedSourceRows.Add(actualRow);\r
+                    if (!selectedSourceRows.Contains(actualRow))\r
+                        selectedSourceRows.Add(actualRow);\r
                 }\r
                 SetTextSelectedSourceTextFromCheckBoxes();\r
                 SetMetadataButtonEnabled((bool)checkBoxCell.Value);\r
@@ -301,15 +303,91 @@ namespace Maestro {
 \r
         private void buttonMetadata_Click(object sender, EventArgs e) {\r
             switch (SourceIDType) {\r
-                case Metadata.SourceIDType.TrafficID:\r
-                    SetTrafficIDToMetadataText();\r
+                case SourceIDType.TrafficID:\r
+                    LookupTraffic();\r
                     break;\r
-                case Metadata.SourceIDType.OctopusID:\r
-                    SetOctopusIDToMetadataText();\r
+                case SourceIDType.OctopusID:\r
+                    LookupOctopus();\r
                     break;\r
             }\r
         }\r
 \r
+        private void LookupTraffic() {\r
+            TrafficAPI api = trafficIDSelector.trafficAPI;\r
+            Cursor.Current = Cursors.WaitCursor;\r
+            List<TrafficItem> result = null;\r
+            MetadataType metadataType = GetTrafficMetadataType(startingName);\r
+            switch (metadataType) {\r
+                case MetadataType.TrafficMaterial:\r
+                    result = api.GetMaterials(startingName, false);\r
+                    break;\r
+                case MetadataType.TrafficPromo:\r
+                    result = api.GetPromos(startingName, false);\r
+                    break;\r
+                case MetadataType.TrafficAD:\r
+                    result = api.GetADs(startingName, false);\r
+                    break;\r
+            }\r
+            if (result == null || result.Count == 0) {\r
+                MessageBox.Show(this, StringResources.NINCS_TALALAT);\r
+                Cursor.Current = Cursors.Default;\r
+                return;\r
+            }\r
+            if (result.Count == 1) {\r
+                trafficMetadataSelected?.Invoke(result[0].MediaID, result[0].VariantID);\r
+                UpdateEditArchiveMetadataEnabled();\r
+                txtSelectedMetadata.Text = result[0].MediaID;\r
+            } else {\r
+                TrafficLookupResultSelector lookupResult = new TrafficLookupResultSelector(result, trafficMetadataSelected);\r
+                lookupResult.ShowDialog();\r
+            }\r
+            Cursor.Current = Cursors.Default;\r
+        }\r
+\r
+\r
+        private void LookupOctopus() {\r
+            OctopusAPI api = octopusIDSelector.GetClient();\r
+            Cursor.Current = Cursors.WaitCursor;\r
+            IEnumerable<Story> stories = api.GetStoriesById(startingName);\r
+            if (stories == null || stories.Count() == 0) {\r
+                LookupOctopusMOS(api);\r
+                Cursor.Current = Cursors.Default;\r
+                return;\r
+            }\r
+            List<Story> list = stories.ToList();\r
+            if (list.Count == 1) {\r
+                UpdateEditArchiveMetadataEnabled();\r
+                txtSelectedMetadata.Text = list[0].ID;\r
+                octopusMetadataSelected?.Invoke(list[0].ID);\r
+            } else {\r
+                OctopusLookupResultSelector box = new OctopusLookupResultSelector(list, octopusMetadataSelected);\r
+                box.ShowDialog();\r
+            }\r
+            Cursor.Current = Cursors.Default;\r
+        }\r
+\r
+        private void LookupOctopusMOS(OctopusAPI api) {\r
+            IEnumerable<MosObject> mosIDs = api.GetMosObjectsByID(startingName);\r
+            if (mosIDs == null) {\r
+                MessageBox.Show(this, StringResources.NINCS_TALALAT);\r
+                return;\r
+            }\r
+            List<MosObject> list = mosIDs.ToList();\r
+            if (list == null || list.Count == 0) {\r
+                MessageBox.Show(this, StringResources.NINCS_TALALAT);\r
+                return;\r
+            }\r
+            if (list.Count == 1) {\r
+                UpdateEditArchiveMetadataEnabled();\r
+                txtSelectedMetadata.Text = list[0].ID;\r
+                octopusMetadataSelected?.Invoke(list[0].ID);\r
+                //octopusIDSelector.IDSelectedFromOutside(list[0].ID);\r
+                return;\r
+            }\r
+            OctopusLookupResultSelector box = new OctopusLookupResultSelector(list, octopusMetadataSelected);\r
+            box.ShowDialog();\r
+        }\r
+\r
         private void UpdateDetectMetadataEnabled() {\r
             buttonMetadata.Enabled = SourceIDType != SourceIDType.MediaCube;\r
         }\r
index bd65eed59de911422aa77e8689876726f680212f..a6722265b5411d5055a7391b9eaaf951efd081f1 100644 (file)
@@ -179,82 +179,6 @@ namespace Maestro {
             }\r
         }\r
 \r
-        private void SetOctopusIDToMetadataText() {\r
-            OctopusAPI api = octopusIDSelector.GetClient();\r
-            Cursor.Current = Cursors.WaitCursor;\r
-            IEnumerable<Story> stories = api.GetStoriesById(startingName);\r
-            ProcessOctopusResult(stories, api);\r
-            Cursor.Current = Cursors.Default;\r
-        }\r
-\r
-        private void ProcessOctopusResult(IEnumerable<Story> stories, OctopusAPI api) {\r
-            if (stories == null) {\r
-                SearchMosIDs(api);\r
-                return;\r
-            }\r
-            List<Story> list = stories.ToList();\r
-            if (list.Count == 1) {\r
-                UpdateEditArchiveMetadataEnabled();\r
-                txtSelectedMetadata.Text = list[0].ID;\r
-                octopusMetadataSelected?.Invoke(list[0].ID);\r
-                //octopusIDSelector.IDSelectedFromOutside(list[0].ID);\r
-                return;\r
-            }\r
-            SearchMessageBox box = new SearchMessageBox(list, octopusMetadataSelected);\r
-            box.ShowDialog();\r
-        }\r
-\r
-        private void SearchMosIDs(OctopusAPI api) {\r
-            IEnumerable<MosObject> mosIDs = api.GetMosObjectsByID(startingName);\r
-            if (mosIDs == null) {\r
-                MessageBox.Show(this, StringResources.NINCS_TALALAT);\r
-                return;\r
-            }\r
-            List<MosObject> list = mosIDs.ToList();\r
-            if (list == null || list.Count == 0) {\r
-                MessageBox.Show(this, StringResources.NINCS_TALALAT);\r
-                return;\r
-            }\r
-            if (list.Count == 1) {\r
-                UpdateEditArchiveMetadataEnabled();\r
-                txtSelectedMetadata.Text = list[0].ID;\r
-                octopusMetadataSelected?.Invoke(list[0].ID);\r
-                //octopusIDSelector.IDSelectedFromOutside(list[0].ID);\r
-                return;\r
-            }\r
-            SearchMessageBox box = new SearchMessageBox(list, octopusMetadataSelected);\r
-            box.ShowDialog();\r
-        }\r
-\r
-        private void SetTrafficIDToMetadataText() {\r
-            TrafficAPI api = trafficIDSelector.trafficAPI;\r
-            Cursor.Current = Cursors.WaitCursor;\r
-            List<TrafficItem> result = null;\r
-            if (startingName.StartsWith("M"))\r
-                result = api.GetBroadcasts(startingName, null, null, true);\r
-            else if (startingName.StartsWith("P"))\r
-                result = api.GetPromotionals(startingName);\r
-            else if (startingName.StartsWith("R"))\r
-                result = api.GetAdvertisements(startingName);\r
-            ProcessMamResults(result);\r
-            Cursor.Current = Cursors.Default;\r
-        }\r
-\r
-        private void ProcessMamResults(List<TrafficItem> result) {\r
-            if (result == null || result.Count == 0) {\r
-                MessageBox.Show(this, StringResources.NINCS_TALALAT);\r
-                return;\r
-            }\r
-            if (result.Count == 1) {\r
-                trafficMetadataSelected?.Invoke(result[0].MediaID, result[0].VariantID);\r
-                UpdateEditArchiveMetadataEnabled();\r
-                txtSelectedMetadata.Text = result[0].MediaID;\r
-                return;\r
-            }\r
-            SearchResult searchResult = new SearchResult(result, trafficMetadataSelected);\r
-            searchResult.ShowDialog();\r
-        }\r
-\r
         public void ReportError(DateTime time, String level, String message, Color color) {\r
             ObjectExtensions.SafeCall(tabControl2, () => {\r
                 systemMessageBindingSource.Insert(0, new SystemMessage() { Time = time, message = message, Level = level });\r
index 3cf392d07e59b9419d8b278d00b046eb4d011a3d..1bf81152ba25478ac713aba01df498b0846f3011 100644 (file)
@@ -308,7 +308,7 @@ namespace OctopusClient {
                         r.StoryFolders = GetStoryFolderFromStory(d).ToArray();\r
                     if (d["rundown"] != null)\r
                         r.Rundowns = GetRundownFromStory(d).ToArray();\r
-                    logger.Debug($"{r}");\r
+                    //logger.Debug($"{r}");\r
                     return r;\r
                 });\r
             }\r
index bafecb0371aa0504e5a9b17ef927baa80b8d9d9e..387dd87f359c9559402645c1d05fef1a3a1200bc 100644 (file)
       <DesignTime>True</DesignTime>\r
       <DependentUpon>Resources.resx</DependentUpon>\r
     </Compile>\r
-    <Compile Include="SearchMessageBox.cs">\r
+    <Compile Include="OctopusLookupResultSelector.cs">\r
       <SubType>Form</SubType>\r
     </Compile>\r
   </ItemGroup>\r
       <Generator>ResXFileCodeGenerator</Generator>\r
       <LastGenOutput>Resources.Designer.cs</LastGenOutput>\r
     </EmbeddedResource>\r
-    <EmbeddedResource Include="SearchMessageBox.resx">\r
-      <DependentUpon>SearchMessageBox.cs</DependentUpon>\r
+    <EmbeddedResource Include="OctopusLookupResultSelector.resx">\r
+      <DependentUpon>OctopusLookupResultSelector.cs</DependentUpon>\r
     </EmbeddedResource>\r
   </ItemGroup>\r
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
index 1091e9e6435a3dd63230cfa9af2366a64e8264f4..b44190b973d1af592558ad7f50a428a407463662 100644 (file)
@@ -160,7 +160,7 @@ namespace OctopusClient {
         }\r
 \r
         private void linkID_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) {\r
-            SearchMessageBox searchMessageBox = new SearchMessageBox();\r
+            OctopusLookupResultSelector searchMessageBox = new OctopusLookupResultSelector();\r
             searchMessageBox.ShowDialog();\r
         }\r
 \r
similarity index 94%
rename from client/OctopusClient/SearchMessageBox.cs
rename to client/OctopusClient/OctopusLookupResultSelector.cs
index cda74c42b351271a742ec49f4f74136b4079468a..905c38e1c612ac0abf3708fcd1397eb2fae5b9c8 100644 (file)
@@ -1,13 +1,9 @@
 using System.Windows.Forms;\r
-using OctopusClient;\r
 using System.Collections.Generic;\r
-using System.ComponentModel;\r
-using System.Linq;\r
-using System;\r
 \r
 namespace OctopusClient {\r
     public delegate void OctopusMetadataSelected(string ID);\r
-    public class SearchMessageBox : Form {\r
+    public class OctopusLookupResultSelector : Form {\r
         private System.ComponentModel.BackgroundWorker backgroundWorker1;\r
         private System.ComponentModel.BackgroundWorker backgroundWorker2;\r
         private DataGridView dataGridView1;\r
@@ -22,21 +18,21 @@ namespace OctopusClient {
         private List<MosObject> mosObjects;\r
         public OctopusMetadataSelected metadataSelected;\r
 \r
-        public SearchMessageBox(List<MosObject> mosObjects, OctopusMetadataSelected metadataSelected) : this() {\r
+        public OctopusLookupResultSelector(List<MosObject> mosObjects, OctopusMetadataSelected metadataSelected) : this() {\r
             this.mosObjects = mosObjects;\r
             this.metadataSelected = metadataSelected;\r
             SetColumnsForMosObjects();\r
             dataGridView1.DataSource = mosObjects;\r
         }\r
 \r
-        public SearchMessageBox(List<Story> stories, OctopusMetadataSelected metadataSelected) : this() {\r
+        public OctopusLookupResultSelector(List<Story> stories, OctopusMetadataSelected metadataSelected) : this() {\r
             this.stories = stories;\r
             this.metadataSelected = metadataSelected;\r
             SetColumnsForStories();\r
             dataGridView1.DataSource = stories;\r
         }\r
 \r
-        public SearchMessageBox() {\r
+        public OctopusLookupResultSelector() {\r
             InitializeComponent();\r
             InitializeControlTexts();\r
         }\r
index df6b008903a929df1f7b3f199aed15b6ee37f199..19848c5c8c0ac501ba54d080d25794954ea6e4ce 100644 (file)
@@ -70,7 +70,7 @@ namespace TrafficClient {
         }\r
         \r
         /// <summary>\r
-        ///   Looks up a localized string similar to Epizód.\r
+        ///   Looks up a localized string similar to Epizódszám.\r
         /// </summary>\r
         internal static string EPIZOD {\r
             get {\r
@@ -79,7 +79,7 @@ namespace TrafficClient {
         }\r
         \r
         /// <summary>\r
-        ///   Looks up a localized string similar to Epizod cím.\r
+        ///   Looks up a localized string similar to Epizodcím.\r
         /// </summary>\r
         internal static string EPIZOD_CIM {\r
             get {\r
@@ -115,7 +115,7 @@ namespace TrafficClient {
         }\r
         \r
         /// <summary>\r
-        ///   Looks up a localized string similar to Következő adás időpontja.\r
+        ///   Looks up a localized string similar to Következő adás.\r
         /// </summary>\r
         internal static string KOVETKEZO_ADASNAP {\r
             get {\r
@@ -159,6 +159,15 @@ namespace TrafficClient {
             }\r
         }\r
         \r
+        /// <summary>\r
+        ///   Looks up a localized string similar to Szegmensek.\r
+        /// </summary>\r
+        internal static string SZEGMENS_SZAM {\r
+            get {\r
+                return ResourceManager.GetString("SZEGMENS_SZAM", resourceCulture);\r
+            }\r
+        }\r
+        \r
         /// <summary>\r
         ///   Looks up a localized string similar to Traffic ID.\r
         /// </summary>\r
index b333af260f0f43c1c77f9cd56a50ce8396503e7a..7aee329dd95247e5678395895927f7056bd9860a 100644 (file)
     <value>Cím</value>\r
   </data>\r
   <data name="EPIZOD" xml:space="preserve">\r
-    <value>Epizód</value>\r
+    <value>Epizódszám</value>\r
   </data>\r
   <data name="EPIZOD_CIM" xml:space="preserve">\r
-    <value>Epizod cím</value>\r
+    <value>Epizodcím</value>\r
   </data>\r
   <data name="HIANYOS" xml:space="preserve">\r
     <value>Hiányos</value>\r
     <value>Keresés eredménye</value>\r
   </data>\r
   <data name="KOVETKEZO_ADASNAP" xml:space="preserve">\r
-    <value>Következő adás időpontja</value>\r
+    <value>Következő adás</value>\r
   </data>\r
   <data name="MEGSE" xml:space="preserve">\r
     <value>Mégse</value>\r
   <data name="REKLAM" xml:space="preserve">\r
     <value>Reklám</value>\r
   </data>\r
+  <data name="SZEGMENS_SZAM" xml:space="preserve">\r
+    <value>Szegmensek</value>\r
+  </data>\r
   <data name="TRAFFIC_ID" xml:space="preserve">\r
     <value>Traffic ID</value>\r
   </data>\r
index 3a3daaf904e27bbfdf71bfb591214503699c8791..ea8ea3660c1c7cf758ffb1048983938017a4d40f 100644 (file)
@@ -12,77 +12,77 @@ namespace TrafficClient {
         private CliFSPReader cliFSPReader;\r
         private SqlConnection connection;\r
         private static Logger logger = LogManager.GetCurrentClassLogger();\r
-        private BroadcastWorker broadcastWorker;\r
-        private PromotionalWorker promoWorker;\r
-        private AdvertisementWorker adWorker;\r
+        private MaterialWorker broadcastWorker;\r
+        private PromoWorker promoWorker;\r
+        private ADWorker adWorker;\r
         private SegmentWorker segmentWorker;\r
 \r
         public TrafficAPI(string connString, string user, string password, int timeout, TrafficErrorReporterDelegate errorReporter) {\r
             connectionString = String.Format("{0};User ID={1};Password={2};Connection Timeout={3}", connString, user, password, timeout/1000);\r
             connection = new SqlConnection(connectionString);\r
             cliFSPReader = new CliFSPReader();\r
-            broadcastWorker = new BroadcastWorker(connection, cliFSPReader, errorReporter);\r
-            promoWorker = new PromotionalWorker(connection, cliFSPReader, errorReporter);\r
-            adWorker = new AdvertisementWorker(connection, cliFSPReader, errorReporter);\r
+            broadcastWorker = new MaterialWorker(connection, cliFSPReader, errorReporter);\r
+            promoWorker = new PromoWorker(connection, cliFSPReader, errorReporter);\r
+            adWorker = new ADWorker(connection, cliFSPReader, errorReporter);\r
             segmentWorker = new SegmentWorker(connection, cliFSPReader, errorReporter);\r
         }\r
 \r
-        public List<TrafficItem> GetBroadcasts(string strParam, DateTime? from, DateTime? to, bool missingCopia) {\r
-            return broadcastWorker.GetBroadcasts(strParam, from, to, missingCopia);\r
+        public List<TrafficItem> GetMaterials(string strParam, bool problematic, DateTime? from = null, DateTime? to = null) {\r
+            return broadcastWorker.GetMaterials(strParam, problematic, from, to);\r
         }\r
 \r
         public List<TrafficItemMetadata> GetMaterialMetadata(string strParam) {\r
-            return broadcastWorker.GetBroadcastArchiveMetadata(strParam);\r
+            return broadcastWorker.GetMaterialArchiveMetadata(strParam);\r
         }\r
 \r
         public void SetMaterialInformation(int itemID, bool ready, TrafficMetadataType kind, List<Segment> segments) {\r
             switch (kind) {\r
                 case TrafficMetadataType.TrafficMaterial: {\r
-                        broadcastWorker.SetBroadcastReadyToAir(itemID, false);\r
-                        segmentWorker.DeleteSegments(itemID);\r
+                        broadcastWorker.SetMaterialOK(itemID, false);\r
+                        segmentWorker.DeleteMaterialSegments(itemID);\r
                         foreach (Segment actualSegment in segments)\r
                             AddSegmentToCopia(itemID, actualSegment);\r
-                        broadcastWorker.SetBroadcastReadyToAir(itemID, ready);\r
+                        broadcastWorker.SetMaterialOK(itemID, ready);\r
                         break;\r
                     }\r
                 case TrafficMetadataType.TrafficAD: {\r
-                        adWorker.SetADReadyToAir(itemID, false);\r
-                        segmentWorker.DeleteSegments(itemID);\r
+                        adWorker.SetADOK(itemID, false);\r
+                        segmentWorker.DeleteMaterialSegments(itemID);\r
                         if (segments != null && segments.Count == 1)\r
                             AddSegmentToCopia(itemID, segments[0]);\r
-                        broadcastWorker.SetBroadcastReadyToAir(itemID, ready);\r
+                        broadcastWorker.SetMaterialOK(itemID, ready);\r
                         break;\r
                     }\r
                 case TrafficMetadataType.TrafficPromo: {\r
-                        promoWorker.SetPromotionalReadyToAir(itemID, false);\r
-                        segmentWorker.DeleteSegments(itemID);\r
+                        promoWorker.SetPromoOK(itemID, false);\r
+                        segmentWorker.DeleteMaterialSegments(itemID);\r
                         //ensurevisible-be rávizsgálni\r
                         if (segments != null && segments.Count == 1)\r
                             AddSegmentToCopia(itemID, segments[0]);\r
-                        broadcastWorker.SetBroadcastReadyToAir(itemID, ready);\r
+                        broadcastWorker.SetMaterialOK(itemID, ready);\r
                         break;\r
                     }\r
             }\r
         }\r
 \r
-        public List<TrafficItem> GetPromotionals(string strParam) {\r
-            return promoWorker.GetPromotionals(strParam);\r
+        public List<TrafficItem> GetPromos(string search, bool problematic) {\r
+            return promoWorker.GetPromos(search, problematic);\r
         }\r
 \r
         public List<TrafficItemMetadata> GetPromoMetadata(string strParam) {\r
-            return promoWorker.GetPromotionalArchiveMetadata(strParam);\r
+            return promoWorker.GetPromoArchiveMetadata(strParam);\r
         }\r
 \r
-        public List<TrafficItem> GetAdvertisements(string strParam) {\r
-            return adWorker.GetAdvertisements(strParam);\r
+        public List<TrafficItem> GetADs(string search, bool problematic) {\r
+            return adWorker.GetADs(search, problematic);\r
         }\r
 \r
         public List<TrafficItemMetadata> GetADMetadata(string strParam) {\r
-            return adWorker.GetAdvertisementArchiveMetadata(strParam);\r
+            return adWorker.GetADArchiveMetadata(strParam);\r
         }\r
 \r
         public List<Segment> GetBroadcastSegments(int itemID) {\r
-            return segmentWorker.GetBroadcastSegments(itemID);\r
+            return segmentWorker.GetMaterialSegments(itemID);\r
         }\r
 \r
         public List<Segment> GetPromoSegments(string strParam) {\r
@@ -90,19 +90,19 @@ namespace TrafficClient {
         }\r
 \r
         public List<Segment> GetAdvertisementSegments(string strParam) {\r
-            return segmentWorker.GetAdvertisementSegments(strParam);\r
+            return segmentWorker.GetADSegments(strParam);\r
         }\r
 \r
         public void DeleteSegments(int itemID) {\r
-            segmentWorker.DeleteSegments(itemID);\r
+            segmentWorker.DeleteMaterialSegments(itemID);\r
         }\r
 \r
         public void DeleteSegment(int itemID, int segmentID) {\r
-            segmentWorker.DeleteSegment(itemID, segmentID);\r
+            segmentWorker.DeleteMaterialSegment(itemID, segmentID);\r
         }\r
 \r
         public void AddSegmentToCopia(int itemID, Segment segment) {\r
-            segmentWorker.AddSegmentToCopia(itemID, segment);\r
+            segmentWorker.AddSegment(itemID, segment);\r
         }\r
     }\r
 }\r
index 37a7236e34632854dadac4a63fb58d5d52d2c768..72711661d3225f3e16e6caa0956490037f771b0d 100644 (file)
@@ -87,8 +87,7 @@
   </ItemGroup>\r
   <ItemGroup>\r
     <Compile Include="TrafficMetadataType.cs" />\r
-    <Compile Include="Workers\AdvertisementWorker.cs" />\r
-    <Compile Include="Workers\BroadcastWorker.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.Designer.cs">\r
       <DependentUpon>CustomDataGridView.cs</DependentUpon>\r
     </Compile>\r
-    <Compile Include="Workers\PromotionalWorker.cs" />\r
     <Compile Include="Reader.cs" />\r
     <Compile Include="Resources.Designer.cs">\r
       <AutoGen>True</AutoGen>\r
       <DesignTime>True</DesignTime>\r
       <DependentUpon>Resources.resx</DependentUpon>\r
     </Compile>\r
-    <Compile Include="SearchResult.cs">\r
+    <Compile Include="TrafficLookupResultSelector.cs">\r
       <SubType>Form</SubType>\r
     </Compile>\r
-    <Compile Include="SearchResult.Designer.cs">\r
-      <DependentUpon>SearchResult.cs</DependentUpon>\r
+    <Compile Include="TrafficLookupResultSelector.Designer.cs">\r
+      <DependentUpon>TrafficLookupResultSelector.cs</DependentUpon>\r
     </Compile>\r
     <Compile Include="Segment.cs" />\r
     <Compile Include="TrafficClasses.cs">\r
     <Compile Include="TrafficIDSelector.Designer.cs">\r
       <DependentUpon>TrafficIDSelector.cs</DependentUpon>\r
     </Compile>\r
+    <Compile Include="Workers\MaterialWorker.cs" />\r
+    <Compile Include="Workers\PromoWorker.cs" />\r
     <Compile Include="Workers\TrafficWorker.cs" />\r
     <Compile Include="Workers\SegmentWorker.cs" />\r
   </ItemGroup>\r
       <Generator>SettingsSingleFileGenerator</Generator>\r
       <LastGenOutput>Settings.Designer.cs</LastGenOutput>\r
     </None>\r
+    <Compile Include="TrafficIDSelector.Columns.cs">\r
+      <SubType>UserControl</SubType>\r
+    </Compile>\r
   </ItemGroup>\r
   <ItemGroup>\r
     <Service Include="{3259AA49-8AA1-44D3-9025-A0B520596A8C}" />\r
       <Generator>ResXFileCodeGenerator</Generator>\r
       <LastGenOutput>Resources.Designer.cs</LastGenOutput>\r
     </EmbeddedResource>\r
-    <EmbeddedResource Include="SearchResult.resx">\r
-      <DependentUpon>SearchResult.cs</DependentUpon>\r
+    <EmbeddedResource Include="TrafficLookupResultSelector.resx">\r
+      <DependentUpon>TrafficLookupResultSelector.cs</DependentUpon>\r
     </EmbeddedResource>\r
     <EmbeddedResource Include="TrafficIDSelector.resx">\r
       <DependentUpon>TrafficIDSelector.cs</DependentUpon>\r
diff --git a/client/PlanAIRClient/TrafficIDSelector.Columns.cs b/client/PlanAIRClient/TrafficIDSelector.Columns.cs
new file mode 100644 (file)
index 0000000..4b2d322
--- /dev/null
@@ -0,0 +1,156 @@
+\r
+using System.Windows.Forms;\r
+\r
+namespace TrafficClient {\r
+    public partial class TrafficIDSelector {\r
+        DataGridViewColumn[] GetMaterialColumns() {\r
+            return new DataGridViewColumn[] {\r
+                new DataGridViewCheckBoxColumn() {\r
+                    AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells,\r
+                    DataPropertyName = "Selected"\r
+                },\r
+                new DataGridViewTextBoxColumn() {\r
+                    AutoSizeMode = DataGridViewAutoSizeColumnMode.None,\r
+                    DataPropertyName = "MediaID",\r
+                    HeaderText = Resources.TRAFFIC_ID,\r
+                    Width = 100\r
+                },\r
+                new DataGridViewCheckBoxColumn() {\r
+                    AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells,\r
+                    DataPropertyName = "OK",\r
+                    ReadOnly = true\r
+                },\r
+                new DataGridViewTextBoxColumn() {\r
+                    AutoSizeMode = DataGridViewAutoSizeColumnMode.None,\r
+                    DataPropertyName = "Title",\r
+                    HeaderText = Resources.CIM,\r
+                    Width = 100\r
+                },\r
+                new DataGridViewTextBoxColumn() {\r
+                    AutoSizeMode = DataGridViewAutoSizeColumnMode.None,\r
+                    DataPropertyName = "EpisodeNumber",\r
+                    HeaderText = Resources.EPIZOD,\r
+                    Width = 100\r
+                },\r
+                new DataGridViewTextBoxColumn() {\r
+                    AutoSizeMode = DataGridViewAutoSizeColumnMode.None,\r
+                    DataPropertyName = "NextBroadcastDate",\r
+                    HeaderText = Resources.KOVETKEZO_ADASNAP,\r
+                    Width = 100\r
+                },\r
+                new DataGridViewTextBoxColumn() {\r
+                    AutoSizeMode = DataGridViewAutoSizeColumnMode.None,\r
+                    DataPropertyName = "SegmentCount",\r
+                    HeaderText = Resources.SZEGMENS_SZAM,\r
+                    Width = 100\r
+                },\r
+                new DataGridViewTextBoxColumn() {\r
+                    AutoSizeMode = DataGridViewAutoSizeColumnMode.None,\r
+                    DataPropertyName = "EpisodeTitle",\r
+                    HeaderText = Resources.EPIZOD_CIM,\r
+                    Width = 100\r
+                },\r
+            };\r
+        }\r
+\r
+        DataGridViewColumn[] GetADColumns() {\r
+            return new DataGridViewColumn[] {\r
+                new DataGridViewCheckBoxColumn() {\r
+                    AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells,\r
+                    DataPropertyName = "Selected"\r
+                },\r
+                new DataGridViewTextBoxColumn() {\r
+                    AutoSizeMode = DataGridViewAutoSizeColumnMode.None,\r
+                    DataPropertyName = "MediaID",\r
+                    HeaderText = Resources.TRAFFIC_ID,\r
+                    Width = 100\r
+                },\r
+                new DataGridViewCheckBoxColumn() {\r
+                    AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells,\r
+                    DataPropertyName = "OK",\r
+                    ReadOnly = true\r
+                },\r
+                new DataGridViewTextBoxColumn() {\r
+                    AutoSizeMode = DataGridViewAutoSizeColumnMode.None,\r
+                    DataPropertyName = "Title",\r
+                    HeaderText = Resources.CIM,\r
+                    Width = 100\r
+                },\r
+                new DataGridViewTextBoxColumn() {\r
+                    AutoSizeMode = DataGridViewAutoSizeColumnMode.None,\r
+                    DataPropertyName = "EpisodeNumber",\r
+                    HeaderText = Resources.EPIZOD,\r
+                    Width = 100\r
+                },\r
+                new DataGridViewTextBoxColumn() {\r
+                    AutoSizeMode = DataGridViewAutoSizeColumnMode.None,\r
+                    DataPropertyName = "NextBroadcastDate",\r
+                    HeaderText = Resources.KOVETKEZO_ADASNAP,\r
+                    Width = 100\r
+                },\r
+                new DataGridViewTextBoxColumn() {\r
+                    AutoSizeMode = DataGridViewAutoSizeColumnMode.None,\r
+                    DataPropertyName = "SegmentCount",\r
+                    HeaderText = Resources.SZEGMENS_SZAM,\r
+                    Width = 100\r
+                },\r
+                new DataGridViewTextBoxColumn() {\r
+                    AutoSizeMode = DataGridViewAutoSizeColumnMode.None,\r
+                    DataPropertyName = "EpisodeTitle",\r
+                    HeaderText = Resources.EPIZOD_CIM,\r
+                    Width = 100\r
+                },\r
+            };\r
+        }\r
+\r
+        DataGridViewColumn[] GetPromoColumns() {\r
+            return new DataGridViewColumn[] {\r
+                new DataGridViewCheckBoxColumn() {\r
+                    AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells,\r
+                    DataPropertyName = "Selected"\r
+                },\r
+                new DataGridViewTextBoxColumn() {\r
+                    AutoSizeMode = DataGridViewAutoSizeColumnMode.None,\r
+                    DataPropertyName = "MediaID",\r
+                    HeaderText = Resources.TRAFFIC_ID,\r
+                    Width = 100\r
+                },\r
+                new DataGridViewCheckBoxColumn() {\r
+                    AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells,\r
+                    DataPropertyName = "OK",\r
+                    ReadOnly = true\r
+                },\r
+                new DataGridViewTextBoxColumn() {\r
+                    AutoSizeMode = DataGridViewAutoSizeColumnMode.None,\r
+                    DataPropertyName = "Title",\r
+                    HeaderText = Resources.CIM,\r
+                    Width = 100\r
+                },\r
+                new DataGridViewTextBoxColumn() {\r
+                    AutoSizeMode = DataGridViewAutoSizeColumnMode.None,\r
+                    DataPropertyName = "EpisodeNumber",\r
+                    HeaderText = Resources.EPIZOD,\r
+                    Width = 100\r
+                },\r
+                new DataGridViewTextBoxColumn() {\r
+                    AutoSizeMode = DataGridViewAutoSizeColumnMode.None,\r
+                    DataPropertyName = "NextBroadcastDate",\r
+                    HeaderText = Resources.KOVETKEZO_ADASNAP,\r
+                    Width = 100\r
+                },\r
+                new DataGridViewTextBoxColumn() {\r
+                    AutoSizeMode = DataGridViewAutoSizeColumnMode.None,\r
+                    DataPropertyName = "SegmentCount",\r
+                    HeaderText = Resources.SZEGMENS_SZAM,\r
+                    Width = 100\r
+                },\r
+                new DataGridViewTextBoxColumn() {\r
+                    AutoSizeMode = DataGridViewAutoSizeColumnMode.None,\r
+                    DataPropertyName = "EpisodeTitle",\r
+                    HeaderText = Resources.EPIZOD_CIM,\r
+                    Width = 100\r
+                },\r
+            };\r
+        }\r
+    }\r
+}\r
index 99f3628f2daec6bf6c898dd161530ade443446bc..c695220f7ca7e8768013c7035df9e2cd19ac3354 100644 (file)
             this.backgroundWorker2 = new System.ComponentModel.BackgroundWorker();\r
             this.backgroundWorker3 = new System.ComponentModel.BackgroundWorker();\r
             this.backgroundWorker4 = new System.ComponentModel.BackgroundWorker();\r
-            this.panel1 = new System.Windows.Forms.Panel();\r
+            this.pResults = new System.Windows.Forms.Panel();\r
             this.dgTraffic = new System.Windows.Forms.DataGridView();\r
             this.scheduledDate = new System.Windows.Forms.DateTimePicker();\r
             this.textBox1 = new System.Windows.Forms.TextBox();\r
             this.searchButton = new System.Windows.Forms.Button();\r
             this.flowLayoutPanel1 = new System.Windows.Forms.FlowLayoutPanel();\r
-            this.copiaCheckBox = new System.Windows.Forms.CheckBox();\r
-            this.radioButtonBroadCast = new System.Windows.Forms.RadioButton();\r
-            this.radioButtonPromo = new System.Windows.Forms.RadioButton();\r
-            this.radioButtonAD = new System.Windows.Forms.RadioButton();\r
+            this.chkProblematic = new System.Windows.Forms.CheckBox();\r
+            this.rbMaterial = new System.Windows.Forms.RadioButton();\r
+            this.rbPromo = new System.Windows.Forms.RadioButton();\r
+            this.rbAD = new System.Windows.Forms.RadioButton();\r
             this.tableLayoutPanelSearch = new System.Windows.Forms.TableLayoutPanel();\r
-            this.panel2 = new System.Windows.Forms.Panel();\r
+            this.pSearch = new System.Windows.Forms.Panel();\r
             ((System.ComponentModel.ISupportInitialize)(this.trafficAPIBindingSource)).BeginInit();\r
-            this.panel1.SuspendLayout();\r
+            this.pResults.SuspendLayout();\r
             ((System.ComponentModel.ISupportInitialize)(this.dgTraffic)).BeginInit();\r
             this.flowLayoutPanel1.SuspendLayout();\r
             this.tableLayoutPanelSearch.SuspendLayout();\r
-            this.panel2.SuspendLayout();\r
+            this.pSearch.SuspendLayout();\r
             this.SuspendLayout();\r
             // \r
-            // panel1\r
+            // pResults\r
             // \r
-            this.panel1.Controls.Add(this.dgTraffic);\r
-            this.panel1.Dock = System.Windows.Forms.DockStyle.Fill;\r
-            this.panel1.Location = new System.Drawing.Point(0, 62);\r
-            this.panel1.Name = "panel1";\r
-            this.panel1.Size = new System.Drawing.Size(263, 217);\r
-            this.panel1.TabIndex = 11;\r
+            this.pResults.Controls.Add(this.dgTraffic);\r
+            this.pResults.Dock = System.Windows.Forms.DockStyle.Fill;\r
+            this.pResults.Location = new System.Drawing.Point(0, 62);\r
+            this.pResults.Name = "pResults";\r
+            this.pResults.Size = new System.Drawing.Size(263, 217);\r
+            this.pResults.TabIndex = 11;\r
             // \r
             // dgTraffic\r
             // \r
             // flowLayoutPanel1\r
             // \r
             this.tableLayoutPanelSearch.SetColumnSpan(this.flowLayoutPanel1, 3);\r
-            this.flowLayoutPanel1.Controls.Add(this.copiaCheckBox);\r
-            this.flowLayoutPanel1.Controls.Add(this.radioButtonBroadCast);\r
-            this.flowLayoutPanel1.Controls.Add(this.radioButtonPromo);\r
-            this.flowLayoutPanel1.Controls.Add(this.radioButtonAD);\r
+            this.flowLayoutPanel1.Controls.Add(this.chkProblematic);\r
+            this.flowLayoutPanel1.Controls.Add(this.rbMaterial);\r
+            this.flowLayoutPanel1.Controls.Add(this.rbPromo);\r
+            this.flowLayoutPanel1.Controls.Add(this.rbAD);\r
             this.flowLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Top;\r
             this.flowLayoutPanel1.Location = new System.Drawing.Point(3, 3);\r
             this.flowLayoutPanel1.Name = "flowLayoutPanel1";\r
             this.flowLayoutPanel1.Size = new System.Drawing.Size(257, 27);\r
             this.flowLayoutPanel1.TabIndex = 2;\r
             // \r
-            // copiaCheckBox\r
+            // chkProblematic\r
             // \r
-            this.copiaCheckBox.Appearance = System.Windows.Forms.Appearance.Button;\r
-            this.copiaCheckBox.AutoSize = true;\r
-            this.copiaCheckBox.Checked = true;\r
-            this.copiaCheckBox.CheckState = System.Windows.Forms.CheckState.Checked;\r
-            this.copiaCheckBox.Dock = System.Windows.Forms.DockStyle.Left;\r
-            this.copiaCheckBox.Location = new System.Drawing.Point(3, 3);\r
-            this.copiaCheckBox.Name = "copiaCheckBox";\r
-            this.copiaCheckBox.Size = new System.Drawing.Size(81, 23);\r
-            this.copiaCheckBox.TabIndex = 6;\r
-            this.copiaCheckBox.Text = "Missing copia";\r
-            this.copiaCheckBox.UseVisualStyleBackColor = true;\r
+            this.chkProblematic.Appearance = System.Windows.Forms.Appearance.Button;\r
+            this.chkProblematic.AutoSize = true;\r
+            this.chkProblematic.Checked = true;\r
+            this.chkProblematic.CheckState = System.Windows.Forms.CheckState.Checked;\r
+            this.chkProblematic.Dock = System.Windows.Forms.DockStyle.Left;\r
+            this.chkProblematic.Location = new System.Drawing.Point(3, 3);\r
+            this.chkProblematic.Name = "chkProblematic";\r
+            this.chkProblematic.Size = new System.Drawing.Size(81, 23);\r
+            this.chkProblematic.TabIndex = 6;\r
+            this.chkProblematic.Text = "Missing copia";\r
+            this.chkProblematic.UseVisualStyleBackColor = true;\r
             // \r
-            // radioButtonBroadCast\r
+            // rbMaterial\r
             // \r
-            this.radioButtonBroadCast.Appearance = System.Windows.Forms.Appearance.Button;\r
-            this.radioButtonBroadCast.AutoSize = true;\r
-            this.radioButtonBroadCast.Checked = true;\r
-            this.radioButtonBroadCast.Dock = System.Windows.Forms.DockStyle.Left;\r
-            this.radioButtonBroadCast.Location = new System.Drawing.Point(90, 3);\r
-            this.radioButtonBroadCast.Name = "radioButtonBroadCast";\r
-            this.radioButtonBroadCast.Size = new System.Drawing.Size(66, 23);\r
-            this.radioButtonBroadCast.TabIndex = 7;\r
-            this.radioButtonBroadCast.TabStop = true;\r
-            this.radioButtonBroadCast.Text = "BroadCast";\r
-            this.radioButtonBroadCast.UseVisualStyleBackColor = true;\r
+            this.rbMaterial.Appearance = System.Windows.Forms.Appearance.Button;\r
+            this.rbMaterial.AutoSize = true;\r
+            this.rbMaterial.Checked = true;\r
+            this.rbMaterial.Dock = System.Windows.Forms.DockStyle.Left;\r
+            this.rbMaterial.Location = new System.Drawing.Point(90, 3);\r
+            this.rbMaterial.Name = "rbMaterial";\r
+            this.rbMaterial.Size = new System.Drawing.Size(66, 23);\r
+            this.rbMaterial.TabIndex = 7;\r
+            this.rbMaterial.TabStop = true;\r
+            this.rbMaterial.Text = "BroadCast";\r
+            this.rbMaterial.UseVisualStyleBackColor = true;\r
             // \r
-            // radioButtonPromo\r
+            // rbPromo\r
             // \r
-            this.radioButtonPromo.Appearance = System.Windows.Forms.Appearance.Button;\r
-            this.radioButtonPromo.AutoSize = true;\r
-            this.radioButtonPromo.Dock = System.Windows.Forms.DockStyle.Left;\r
-            this.radioButtonPromo.Location = new System.Drawing.Point(162, 3);\r
-            this.radioButtonPromo.Name = "radioButtonPromo";\r
-            this.radioButtonPromo.Size = new System.Drawing.Size(47, 23);\r
-            this.radioButtonPromo.TabIndex = 8;\r
-            this.radioButtonPromo.Text = "Promo";\r
-            this.radioButtonPromo.UseVisualStyleBackColor = true;\r
+            this.rbPromo.Appearance = System.Windows.Forms.Appearance.Button;\r
+            this.rbPromo.AutoSize = true;\r
+            this.rbPromo.Dock = System.Windows.Forms.DockStyle.Left;\r
+            this.rbPromo.Location = new System.Drawing.Point(162, 3);\r
+            this.rbPromo.Name = "rbPromo";\r
+            this.rbPromo.Size = new System.Drawing.Size(47, 23);\r
+            this.rbPromo.TabIndex = 8;\r
+            this.rbPromo.Text = "Promo";\r
+            this.rbPromo.UseVisualStyleBackColor = true;\r
             // \r
-            // radioButtonAD\r
+            // rbAD\r
             // \r
-            this.radioButtonAD.Appearance = System.Windows.Forms.Appearance.Button;\r
-            this.radioButtonAD.AutoSize = true;\r
-            this.radioButtonAD.Dock = System.Windows.Forms.DockStyle.Left;\r
-            this.radioButtonAD.Location = new System.Drawing.Point(3, 32);\r
-            this.radioButtonAD.Name = "radioButtonAD";\r
-            this.radioButtonAD.Size = new System.Drawing.Size(84, 23);\r
-            this.radioButtonAD.TabIndex = 9;\r
-            this.radioButtonAD.Text = "Advertisement";\r
-            this.radioButtonAD.UseVisualStyleBackColor = true;\r
+            this.rbAD.Appearance = System.Windows.Forms.Appearance.Button;\r
+            this.rbAD.AutoSize = true;\r
+            this.rbAD.Dock = System.Windows.Forms.DockStyle.Left;\r
+            this.rbAD.Location = new System.Drawing.Point(3, 32);\r
+            this.rbAD.Name = "rbAD";\r
+            this.rbAD.Size = new System.Drawing.Size(84, 23);\r
+            this.rbAD.TabIndex = 9;\r
+            this.rbAD.Text = "Advertisement";\r
+            this.rbAD.UseVisualStyleBackColor = true;\r
             // \r
             // tableLayoutPanelSearch\r
             // \r
             this.tableLayoutPanelSearch.TabIndex = 10;\r
             this.tableLayoutPanelSearch.Paint += new System.Windows.Forms.PaintEventHandler(this.tableLayoutPanelSearch_Paint);\r
             // \r
-            // panel2\r
+            // pSearch\r
             // \r
-            this.panel2.Controls.Add(this.panel1);\r
-            this.panel2.Controls.Add(this.tableLayoutPanelSearch);\r
-            this.panel2.Dock = System.Windows.Forms.DockStyle.Fill;\r
-            this.panel2.Location = new System.Drawing.Point(0, 0);\r
-            this.panel2.Name = "panel2";\r
-            this.panel2.Size = new System.Drawing.Size(263, 279);\r
-            this.panel2.TabIndex = 12;\r
+            this.pSearch.Controls.Add(this.pResults);\r
+            this.pSearch.Controls.Add(this.tableLayoutPanelSearch);\r
+            this.pSearch.Dock = System.Windows.Forms.DockStyle.Fill;\r
+            this.pSearch.Location = new System.Drawing.Point(0, 0);\r
+            this.pSearch.Name = "pSearch";\r
+            this.pSearch.Size = new System.Drawing.Size(263, 279);\r
+            this.pSearch.TabIndex = 12;\r
             // \r
             // TrafficIDSelector\r
             // \r
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;\r
             this.AutoSize = true;\r
             this.BackColor = System.Drawing.Color.White;\r
-            this.Controls.Add(this.panel2);\r
+            this.Controls.Add(this.pSearch);\r
             this.Name = "TrafficIDSelector";\r
             this.Size = new System.Drawing.Size(263, 279);\r
             ((System.ComponentModel.ISupportInitialize)(this.trafficAPIBindingSource)).EndInit();\r
-            this.panel1.ResumeLayout(false);\r
+            this.pResults.ResumeLayout(false);\r
             ((System.ComponentModel.ISupportInitialize)(this.dgTraffic)).EndInit();\r
             this.flowLayoutPanel1.ResumeLayout(false);\r
             this.flowLayoutPanel1.PerformLayout();\r
             this.tableLayoutPanelSearch.ResumeLayout(false);\r
             this.tableLayoutPanelSearch.PerformLayout();\r
-            this.panel2.ResumeLayout(false);\r
-            this.panel2.PerformLayout();\r
+            this.pSearch.ResumeLayout(false);\r
+            this.pSearch.PerformLayout();\r
             this.ResumeLayout(false);\r
 \r
         }\r
         private System.ComponentModel.BackgroundWorker backgroundWorker2;\r
         private System.ComponentModel.BackgroundWorker backgroundWorker3;\r
         private System.ComponentModel.BackgroundWorker backgroundWorker4;\r
-        private System.Windows.Forms.Panel panel1;\r
+        private System.Windows.Forms.Panel pResults;\r
         private System.Windows.Forms.DateTimePicker scheduledDate;\r
         private System.Windows.Forms.TextBox textBox1;\r
         private System.Windows.Forms.Button searchButton;\r
         private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel1;\r
         private System.Windows.Forms.TableLayoutPanel tableLayoutPanelSearch;\r
-        private System.Windows.Forms.CheckBox copiaCheckBox;\r
-        private System.Windows.Forms.RadioButton radioButtonBroadCast;\r
-        private System.Windows.Forms.RadioButton radioButtonPromo;\r
-        private System.Windows.Forms.RadioButton radioButtonAD;\r
-        private System.Windows.Forms.Panel panel2;\r
+        private System.Windows.Forms.CheckBox chkProblematic;\r
+        private System.Windows.Forms.RadioButton rbMaterial;\r
+        private System.Windows.Forms.RadioButton rbPromo;\r
+        private System.Windows.Forms.RadioButton rbAD;\r
+        private System.Windows.Forms.Panel pSearch;\r
         private System.Windows.Forms.DataGridView dgTraffic;\r
     }\r
 }\r
index 3ba9fcada66ffdf6dcfd6b81a49faf9de6946f8f..f717a45e8f0791537ba5a40be3322a839402b5d4 100644 (file)
@@ -17,58 +17,25 @@ namespace TrafficClient {
         public TrafficIDSelector() {\r
             InitializeComponent();\r
             InitializeTexts();\r
-            panel1.Dock = DockStyle.Fill;\r
         }\r
 \r
-        private void SetColumnsToResizeable() {\r
-            foreach (DataGridViewColumn actualColumn in dgTraffic.Columns) {\r
-                int width = actualColumn.Width;\r
-                actualColumn.AutoSizeMode = DataGridViewAutoSizeColumnMode.None;\r
-                actualColumn.Width = width;\r
-            }\r
-        }\r
+        //private void SetColumnsToResizeable() {\r
+        //    foreach (DataGridViewColumn actualColumn in dgTraffic.Columns) {\r
+        //        int width = actualColumn.Width;\r
+        //        actualColumn.AutoSizeMode = DataGridViewAutoSizeColumnMode.None;\r
+        //        actualColumn.Width = width;\r
+        //    }\r
+        //}\r
 \r
         private void InitializeTexts() {\r
             searchButton.Text = Resources.KERESES;\r
-            copiaCheckBox.Text = Resources.HIANYOS;\r
+            chkProblematic.Text = Resources.HIANYOS;\r
 \r
             dgTraffic.AutoGenerateColumns = false;\r
-            dgTraffic.Columns.AddRange(\r
-                new DataGridViewColumn[] {\r
-                    new DataGridViewCheckBoxColumn(){\r
-                        AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells,\r
-                        DataPropertyName = "Selected",\r
-                    },\r
-                    new DataGridViewTextBoxColumn() {\r
-                            AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells,\r
-                            DataPropertyName = "MediaID",\r
-                            HeaderText = Resources.TRAFFIC_ID,\r
-                    },\r
-                    new DataGridViewTextBoxColumn() {\r
-                        AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells,\r
-                            DataPropertyName = "Title",\r
-                            HeaderText = Resources.CIM\r
-                    },\r
-                    new DataGridViewTextBoxColumn() {\r
-                        AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells,\r
-                            DataPropertyName = "EpisodeTitle",\r
-                            HeaderText = Resources.EPIZOD_CIM\r
-                    },\r
-                    new DataGridViewTextBoxColumn() {\r
-                        AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells,\r
-                            DataPropertyName = "Episode",\r
-                            HeaderText = Resources.EPIZOD\r
-                    },\r
-                    new DataGridViewTextBoxColumn() {\r
-                        AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells,\r
-                            DataPropertyName = "NextBroadcastDate",\r
-                            HeaderText = Resources.KOVETKEZO_ADASNAP\r
-                    }\r
-                }\r
-                );\r
-            radioButtonPromo.Text = Resources.PROMO;\r
-            radioButtonAD.Text = Resources.REKLAM;\r
-            radioButtonBroadCast.Text = Resources.MUSOR;\r
+\r
+            rbMaterial.Text = Resources.MUSOR;\r
+            rbPromo.Text = Resources.PROMO;\r
+            rbAD.Text = Resources.REKLAM;\r
         }\r
 \r
         public TrafficConfiguration Configuration {\r
@@ -87,35 +54,29 @@ namespace TrafficClient {
                 from = scheduledDate.Value;\r
                 to = scheduledDate.Value.AddDays(1);\r
             }\r
-            TrafficItem[] result = null;\r
-            if (radioButtonBroadCast.Checked)\r
-                result = trafficAPI.GetBroadcasts(searchText, from, to, copiaCheckBox.Checked)?.ToArray();\r
-            else if (radioButtonAD.Checked)\r
-                result = trafficAPI.GetAdvertisements(searchText)?.ToArray();\r
-            else if (radioButtonPromo.Checked)\r
-                result = trafficAPI.GetPromotionals(searchText)?.ToArray();\r
-            if (result == null) {\r
+            List<TrafficItem> items = null;\r
+            dgTraffic.Columns.Clear();\r
+            if (rbMaterial.Checked) {\r
+                dgTraffic.Columns.AddRange(GetMaterialColumns());\r
+                items = trafficAPI.GetMaterials(searchText, chkProblematic.Checked, from, to);\r
+            } else if (rbAD.Checked) {\r
+                dgTraffic.Columns.AddRange(GetADColumns());\r
+                items = trafficAPI.GetADs(searchText, chkProblematic.Checked);\r
+            } else if (rbPromo.Checked) {\r
+                dgTraffic.Columns.AddRange(GetPromoColumns());\r
+                items = trafficAPI.GetPromos(searchText, chkProblematic.Checked);\r
+            }\r
+            if (items == null) {\r
                 dgTraffic.DataSource = null;\r
                 Cursor.Current = Cursors.Default;\r
                 return;\r
             }\r
-            List<TrafficItem> list = new List<TrafficItem>();\r
-            foreach (TrafficItem actual in result)\r
-                list.Add(actual);\r
-            if (CanSort(list))\r
-                list.Sort((x, y) => DateTime.Compare(x.NextBroadcastDate.Value, y.NextBroadcastDate.Value));\r
-            dgTraffic.DataSource = list;\r
-            SetColumnsToResizeable();\r
+            //if (CanSort(list))\r
+            //    list.Sort((x, y) => DateTime.Compare(x.NextBroadcastDate.Value, y.NextBroadcastDate.Value));\r
+            dgTraffic.DataSource = items;\r
             Cursor.Current = Cursors.Default;\r
         }\r
 \r
-        private bool CanSort(List<TrafficItem> list) {\r
-            foreach (TrafficItem actual in list)\r
-                if (!actual.NextBroadcastDate.HasValue)\r
-                    return false;\r
-            return true;\r
-        }\r
-\r
         private void textBox1_KeyDown(object sender, KeyEventArgs e) {\r
             if (e.KeyCode == Keys.Enter) {\r
                 RefreshDataGridSource();\r
@@ -131,9 +92,8 @@ namespace TrafficClient {
         }\r
 \r
         private void tableLayoutPanelSearch_Paint(object sender, PaintEventArgs e) {\r
-            var rectangle = e.ClipRectangle;\r
-            //ControlPaint.DrawBorder3D(e.Graphics, rectangle, Border3DStyle.Raised, Border3DSide.All);\r
-            ControlPaint.DrawBorder(e.Graphics, rectangle, Color.LightGray, ButtonBorderStyle.Dotted); // dotted border\r
+            //var rectangle = e.ClipRectangle;\r
+            //ControlPaint.DrawBorder(e.Graphics, rectangle, Color.LightGray, ButtonBorderStyle.Dotted); // dotted border\r
         }\r
 \r
         private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) {\r
@@ -146,7 +106,6 @@ namespace TrafficClient {
         }\r
 \r
         private void OnSelectionChanged(DataGridViewRow actualRow) {\r
-\r
             TrafficItem res = actualRow.DataBoundItem as TrafficItem;\r
             if (String.IsNullOrEmpty(res.MediaID))\r
                 return;\r
@@ -180,16 +139,16 @@ namespace TrafficClient {
     public class TrafficItem {\r
         public bool Selected { get; set; }\r
         public string MediaID { get; set; }\r
+        public bool OK { get; set; }\r
         public string Title { get; set; }\r
+        public DateTime? NextBroadcastDate { get; set; }\r
+        public short SegmentCount { get; set; }\r
+        public short EpisodeNumber { get; set; }\r
         public string EpisodeTitle { get; set; }\r
-        public string EpisodeNumber { get; set; }\r
         public int VariantID { get; set; }\r
-        public short Episode { get; set; }\r
-        public DateTime? NextBroadcastDate { get; set; }\r
     }\r
 \r
     public class TrafficItemMetadata {\r
-\r
         public string ProgTitle { get; set; }\r
         public string ProgDescription { get; set; }\r
         public string ProgID { get; set; }\r
similarity index 97%
rename from client/PlanAIRClient/SearchResult.Designer.cs
rename to client/PlanAIRClient/TrafficLookupResultSelector.Designer.cs
index 8c8130706d164be1768addd8b696a649c4e167cf..f7bd0a97e4196577e660c239ac3d720e21921d4f 100644 (file)
@@ -1,5 +1,5 @@
 namespace TrafficClient {\r
-    partial class SearchResult {\r
+    partial class TrafficLookupResultSelector {\r
         /// <summary>\r
         /// Required designer variable.\r
         /// </summary>\r
similarity index 80%
rename from client/PlanAIRClient/SearchResult.cs
rename to client/PlanAIRClient/TrafficLookupResultSelector.cs
index d9017b27e5cddc69e83b24f7627e22148d134ba7..9a0ebf3bcc162ed89fc6608f4b2bf421eb4ddbbc 100644 (file)
@@ -1,23 +1,17 @@
 using System;\r
 using System.Collections.Generic;\r
-using System.ComponentModel;\r
-using System.Data;\r
-using System.Drawing;\r
-using System.Linq;\r
-using System.Text;\r
-using System.Threading.Tasks;\r
 using System.Windows.Forms;\r
 \r
 namespace TrafficClient {\r
 \r
     public delegate void TraficMetadataSelected(string ID, int variantID);\r
 \r
-    public partial class SearchResult : Form {\r
+    public partial class TrafficLookupResultSelector : Form {\r
 \r
         private List<TrafficItem> elements = new List<TrafficItem>();\r
         public TraficMetadataSelected metadataSelected { get; set; }\r
 \r
-        public SearchResult(List<TrafficItem> elements, TraficMetadataSelected metadataSelected) : this() {\r
+        public TrafficLookupResultSelector(List<TrafficItem> elements, TraficMetadataSelected metadataSelected) : this() {\r
             this.elements = elements;\r
             this.metadataSelected = metadataSelected;\r
             this.Text = Resources.KERESES_EREDMENYE;\r
@@ -25,7 +19,7 @@ namespace TrafficClient {
             FillDataGridView();\r
         }\r
 \r
-        public SearchResult() {\r
+        public TrafficLookupResultSelector() {\r
             InitializeComponent();\r
             this.Text = Resources.KERESES_EREDMENYE;\r
             SetColumns();\r
@@ -48,21 +42,15 @@ namespace TrafficClient {
                         AutoSizeMode = DataGridViewAutoSizeColumnMode.ColumnHeader,\r
                             DataPropertyName = "EpisodeTitle",\r
                             HeaderText = Resources.EPIZOD_CIM\r
-                    },\r
-                    new DataGridViewTextBoxColumn() {\r
-                        AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill,\r
-                            DataPropertyName = "EpisodeNumber",\r
-                            HeaderText = Resources.EPIZOD\r
                     }\r
                 }\r
-                );\r
+            );\r
         }\r
 \r
         private void FillDataGridView() {\r
             List<MamDisplay> displayedElements = new List<MamDisplay>();\r
             foreach (TrafficItem actual in elements) {\r
                 MamDisplay displayed = new MamDisplay() {\r
-                    EpisodeNumber = actual.EpisodeNumber,\r
                     EpisodeTitle = actual.EpisodeTitle,\r
                     MediaID = actual.MediaID,\r
                     Title = actual.Title,\r
similarity index 53%
rename from client/PlanAIRClient/Workers/AdvertisementWorker.cs
rename to client/PlanAIRClient/Workers/ADWorker.cs
index 9350a8b9b23e6b269963e79b776d2b1b4b957576..fa44b872db950b88abce27da502adb78f13a39aa 100644 (file)
@@ -5,28 +5,53 @@ using System.Data.SqlClient;
 using NLog;\r
 \r
 namespace TrafficClient.Workers {\r
-    public class AdvertisementWorker : TrafficWorker {\r
+    public class ADWorker : TrafficWorker {\r
 \r
         private static Logger logger = LogManager.GetCurrentClassLogger();\r
 \r
-        public AdvertisementWorker(SqlConnection connection, CliFSPReader cliFSPReader, TrafficErrorReporterDelegate errorReporter) :\r
+        public ADWorker(SqlConnection connection, CliFSPReader cliFSPReader, TrafficErrorReporterDelegate errorReporter) :\r
             base(connection, cliFSPReader, errorReporter) {\r
         }\r
 \r
-        public List<TrafficItem> GetAdvertisements(string strParam) {\r
-            List<clIFsp_EC_MAMAdvertismentResult> sqlResult = null;\r
+        private TrafficItem ToTrafficItem(clIFsp_EC_MAMAdvertismentResult data) {\r
+            return new TrafficItem() {\r
+                MediaID = data.t_MediaID,\r
+                Title = data.v_Title,\r
+                VariantID = data.t_SpotID,\r
+                OK = data.v_OkForAirs != null && "OK".Equals(data.v_OkForAirs)\r
+            };\r
+        }\r
+\r
+        private TrafficItemMetadata ToTrafficItemMetadata(clIFsp_EC_MAMAdvertismentResult data) {\r
+            return new TrafficItemMetadata() {\r
+                EpisodeID = data.t_MediaID,\r
+                EpisodeTitle = data.v_Title,\r
+                ProgID = data.t_SpotID.ToString(),\r
+                ProgTitle = data.v_Title\r
+            };\r
+        }\r
+\r
+        public List<TrafficItem> GetADs(string search, bool problematic) {\r
             List<TrafficItem> result = null;\r
             try {\r
                 TryConnect();\r
                 using (SqlCommand cmd = new SqlCommand("dbo.clIFsp_EC_MAM", connection)) {\r
                     cmd.CommandType = CommandType.StoredProcedure;\r
                     cmd.Parameters.AddWithValue("@Operation", 3001);\r
-                    //Hiányos 1\r
-                    cmd.Parameters.AddWithValue("@@@Options", 0);\r
+                    if (problematic)\r
+                        cmd.Parameters.AddWithValue("@@@Options", 1);\r
+                    else\r
+                        cmd.Parameters.AddWithValue("@@@Options", 0);\r
                     cmd.Parameters.AddWithValue("@@ItemID", DBNull.Value);\r
-                    cmd.Parameters.AddWithValue("@@StrParam1", strParam);\r
-                    sqlResult = ExecuteAndReadAdvertisement(cmd);\r
-                    result = ProcessMamAdvertismentResult(sqlResult);\r
+                    cmd.Parameters.AddWithValue("@@StrParam1", search);\r
+                    using (SqlDataReader reader = cmd.ExecuteReader()) {\r
+                        while (reader.Read()) {\r
+                            if (result == null)\r
+                                result = new List<TrafficItem>();\r
+                            clIFsp_EC_MAMAdvertismentResult item = cliFSPReader.ToclIFsp_MAMAdvertisementResult(reader);\r
+                            result.Add(ToTrafficItem(item));\r
+                        }\r
+                    }\r
                 }\r
             }\r
             catch (Exception e) {\r
@@ -39,29 +64,14 @@ namespace TrafficClient.Workers {
             return result;\r
         }\r
 \r
-        private List<TrafficItem> ProcessMamAdvertismentResult(List<clIFsp_EC_MAMAdvertismentResult> sqlResult) {\r
-            if (sqlResult == null)\r
-                return null;\r
-            List<TrafficItem> result = new List<TrafficItem>();\r
-            foreach (clIFsp_EC_MAMAdvertismentResult actual in sqlResult) {\r
-                TrafficItem actualObject = new TrafficItem() {\r
-                    MediaID = actual.t_MediaID,\r
-                    Title = actual.v_Title,\r
-                    VariantID = actual.t_SpotID\r
-                };\r
-                result.Add(actualObject);\r
-            }\r
-            return result;\r
-        }\r
-\r
-        public void SetADReadyToAir(int spotID, bool ok) {\r
+        public void SetADOK(int itemID, bool ok) {\r
             try {\r
                 TryConnect();\r
                 int options = ok ? 1 : 0;\r
                 using (SqlCommand cmd = new SqlCommand("dbo.clIFsp_EC_MAM", connection)) {\r
                     cmd.CommandType = CommandType.StoredProcedure;\r
                     cmd.Parameters.AddWithValue("@Operation", 3100);\r
-                    cmd.Parameters.AddWithValue("@@ItemID", spotID);\r
+                    cmd.Parameters.AddWithValue("@@ItemID", itemID);\r
                     cmd.Parameters.AddWithValue("@@@Options", options);\r
                     cmd.ExecuteNonQuery();\r
                 }\r
@@ -75,8 +85,7 @@ namespace TrafficClient.Workers {
             }\r
         }\r
 \r
-        public List<TrafficItemMetadata> GetAdvertisementArchiveMetadata(string strParam) {\r
-            List<clIFsp_EC_MAMAdvertismentResult> sqlResult = null;\r
+        public List<TrafficItemMetadata> GetADArchiveMetadata(string strParam) {\r
             List<TrafficItemMetadata> result = null;\r
             try {\r
                 TryConnect();\r
@@ -86,8 +95,14 @@ namespace TrafficClient.Workers {
                     cmd.Parameters.AddWithValue("@@@Options", 40);\r
                     cmd.Parameters.AddWithValue("@@ItemID", DBNull.Value);\r
                     cmd.Parameters.AddWithValue("@@StrParam1", strParam);\r
-                    sqlResult = ExecuteAndReadAdvertisement(cmd);\r
-                    result = ProcessAdvertisementArchiveMetadataResult(sqlResult);\r
+                    using (SqlDataReader reader = cmd.ExecuteReader()) {\r
+                        while (reader.Read()) {\r
+                            if (result == null)\r
+                                result = new List<TrafficItemMetadata>();\r
+                            clIFsp_EC_MAMAdvertismentResult item = cliFSPReader.ToclIFsp_MAMAdvertisementResult(reader);\r
+                            result.Add(ToTrafficItemMetadata(item));\r
+                        }\r
+                    }\r
                 }\r
             }\r
             catch (Exception e) {\r
@@ -100,20 +115,5 @@ namespace TrafficClient.Workers {
             return result;\r
         }\r
 \r
-        private List<TrafficItemMetadata> ProcessAdvertisementArchiveMetadataResult(List<clIFsp_EC_MAMAdvertismentResult> sqlResult) {\r
-            if (sqlResult == null)\r
-                return null;\r
-            List<TrafficItemMetadata> result = new List<TrafficItemMetadata>();\r
-            foreach (clIFsp_EC_MAMAdvertismentResult actual in sqlResult) {\r
-                TrafficItemMetadata actualObject = new TrafficItemMetadata() {\r
-                    EpisodeID = actual.t_MediaID,\r
-                    EpisodeTitle = actual.v_Title,\r
-                    ProgID = actual.t_SpotID.ToString(),\r
-                    ProgTitle = actual.v_Title\r
-                };\r
-                result.Add(actualObject);\r
-            }\r
-            return result;\r
-        }\r
     }\r
 }\r
diff --git a/client/PlanAIRClient/Workers/BroadcastWorker.cs b/client/PlanAIRClient/Workers/BroadcastWorker.cs
deleted file mode 100644 (file)
index a9120d8..0000000
+++ /dev/null
@@ -1,142 +0,0 @@
-using System;\r
-using System.Collections.Generic;\r
-using System.Data;\r
-using System.Data.SqlClient;\r
-using NLog;\r
-\r
-namespace TrafficClient.Workers {\r
-\r
-    public class BroadcastWorker : TrafficWorker {\r
-\r
-        private static Logger logger = LogManager.GetCurrentClassLogger();\r
-\r
-        public BroadcastWorker(SqlConnection connection, CliFSPReader cliFSPReader, TrafficErrorReporterDelegate errorReporter) \r
-            : base(connection, cliFSPReader, errorReporter){\r
-        }\r
-\r
-        public List<TrafficItem> GetBroadcasts(string strParam, DateTime? from, DateTime? to, bool missingCopia) {\r
-            List<clIFsp_EC_MAMBradocastResult> sqlResult = null;\r
-            List<TrafficItem> result = null;\r
-            try {\r
-                TryConnect();\r
-                using (SqlCommand cmd = new SqlCommand("dbo.clIFsp_EC_MAM", connection)) {\r
-                    cmd.CommandType = CommandType.StoredProcedure;\r
-                    cmd.Parameters.AddWithValue("@Operation", 1001);\r
-                    cmd.Parameters.AddWithValue("@@ItemID", DBNull.Value);\r
-                    if (missingCopia) {\r
-                        cmd.Parameters.AddWithValue("@@@Options", 8);\r
-                    } else {\r
-                        cmd.Parameters.AddWithValue("@@@Options", 0); //1 adná az élőket is\r
-                    }\r
-                    cmd.Parameters.AddWithValue("@@StrParam1", strParam);\r
-                    cmd.Parameters.AddWithValue("@@DateParam1", from.Value.Date);\r
-                    cmd.Parameters.AddWithValue("@@DateParam2", to.Value.Date);\r
-                    sqlResult = ExecuteAndReadBradcast(cmd);\r
-                    result = ProcessMamBroadcastResult(sqlResult);\r
-                }\r
-            }\r
-            catch (Exception e) {\r
-                logger.Error(e.Message);\r
-                errorReporter?.Invoke(DateTime.Now, "Error", String.Format("[Traffic] {0}", e.Message), System.Drawing.Color.Red);\r
-            }\r
-            finally {\r
-                connection.Close();\r
-            }\r
-            return result;\r
-        }\r
-\r
-        private List<TrafficItem> ProcessMamBroadcastResult(List<clIFsp_EC_MAMBradocastResult> sqlResult) {\r
-            if (sqlResult == null)\r
-                return null;\r
-            List<TrafficItem> result = new List<TrafficItem>();\r
-            foreach (clIFsp_EC_MAMBradocastResult actual in sqlResult) {\r
-                TrafficItem actualObject = new TrafficItem() {\r
-                    MediaID = actual.v_MediaID,\r
-                    EpisodeTitle = actual.v_EpTitle,\r
-                    Title = actual.v_ProgTitle,\r
-                    EpisodeNumber = actual.v_EpisodeID,\r
-                    VariantID = actual.v_VariantID.HasValue ? actual.v_VariantID.Value : -1,\r
-                    Episode = actual.v_Episode.HasValue ? actual.v_Episode.Value : (short)-1,\r
-                    NextBroadcastDate = actual.v_NextBroadcastDate\r
-                };\r
-                result.Add(actualObject);\r
-            }\r
-            return result;\r
-        }\r
-\r
-        private List<clIFsp_EC_MAMBradocastResult> ExecuteAndReadBradcast(SqlCommand cmd) {\r
-            List<clIFsp_EC_MAMBradocastResult> result = null;\r
-            using (SqlDataReader reader = cmd.ExecuteReader()) {\r
-                while (reader.Read()) {\r
-                    if (result == null)\r
-                        result = new List<clIFsp_EC_MAMBradocastResult>();\r
-                    clIFsp_EC_MAMBradocastResult item = cliFSPReader.ToclIFsp_MAMBroadcastResult(reader);\r
-                    result.Add(item);\r
-                }\r
-            }\r
-            return result;\r
-        }\r
-\r
-        public List<TrafficItemMetadata> GetBroadcastArchiveMetadata(string strParam) {\r
-            List<clIFsp_EC_MAMBradocastResult> sqlResult = null;\r
-            List<TrafficItemMetadata> result = null;\r
-            try {\r
-                TryConnect();\r
-                using (SqlCommand cmd = new SqlCommand("dbo.clIFsp_EC_MAM", connection)) {\r
-                    cmd.CommandType = CommandType.StoredProcedure;\r
-                    cmd.Parameters.AddWithValue("@Operation", 1001);\r
-                    cmd.Parameters.AddWithValue("@@@Options", 1);\r
-                    cmd.Parameters.AddWithValue("@@ItemID", DBNull.Value);\r
-                    cmd.Parameters.AddWithValue("@@StrParam1", strParam);\r
-                    sqlResult = ExecuteAndReadBradcast(cmd);\r
-                    result = ProcessaBroadcastArchiveMetadatResult(sqlResult);\r
-                }\r
-            }\r
-            catch (Exception e) {\r
-                logger.Error(e.Message);\r
-                errorReporter?.Invoke(DateTime.Now, "Error", String.Format("[Traffic] {0}", e.Message), System.Drawing.Color.Red);\r
-            }\r
-            finally {\r
-                connection.Close();\r
-            }\r
-            return result;\r
-        }\r
-\r
-        private List<TrafficItemMetadata> ProcessaBroadcastArchiveMetadatResult(List<clIFsp_EC_MAMBradocastResult> sqlResult) {\r
-            if (sqlResult == null)\r
-                return null;\r
-            List<TrafficItemMetadata> result = new List<TrafficItemMetadata>();\r
-            foreach (clIFsp_EC_MAMBradocastResult actual in sqlResult) {\r
-                TrafficItemMetadata actualObject = new TrafficItemMetadata() {\r
-                    EpisodeID = actual.v_EpisodeID,\r
-                    EpisodeTitle = actual.v_EpTitle,\r
-                    ProgID = actual.v_ProgrammeID.ToString(),\r
-                    ProgTitle = actual.v_ProgTitle,\r
-                };\r
-                result.Add(actualObject);\r
-            }\r
-            return result;\r
-        }\r
-\r
-        public void SetBroadcastReadyToAir(int itemID, bool ok) {\r
-            try {\r
-                TryConnect();\r
-                int options = ok ? 1 : 0;\r
-                using (SqlCommand cmd = new SqlCommand("dbo.clIFsp_EC_MAM", connection)) {\r
-                    cmd.CommandType = CommandType.StoredProcedure;\r
-                    cmd.Parameters.AddWithValue("@Operation", 1100);\r
-                    cmd.Parameters.AddWithValue("@@ItemID", itemID);\r
-                    cmd.Parameters.AddWithValue("@@@Options", options);\r
-                    cmd.ExecuteNonQuery();\r
-                }\r
-            }\r
-            catch (Exception e) {\r
-                logger.Error(e.Message);\r
-                errorReporter?.Invoke(DateTime.Now, "Error", String.Format("[Traffic] {0}", e.Message), System.Drawing.Color.Red);\r
-            }\r
-            finally {\r
-                connection.Close();\r
-            }\r
-        }\r
-    }\r
-}\r
diff --git a/client/PlanAIRClient/Workers/MaterialWorker.cs b/client/PlanAIRClient/Workers/MaterialWorker.cs
new file mode 100644 (file)
index 0000000..2003a17
--- /dev/null
@@ -0,0 +1,132 @@
+using System;\r
+using System.Collections.Generic;\r
+using System.Data;\r
+using System.Data.SqlClient;\r
+using NLog;\r
+using System.Diagnostics;\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, TrafficErrorReporterDelegate errorReporter) \r
+            : base(connection, cliFSPReader, errorReporter){\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
+                OK = data.v_OkForAir != null && "OK".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
+            };\r
+        }\r
+\r
+        public List<TrafficItem> GetMaterials(string strParam, bool problematic, DateTime? from, DateTime? to) {\r
+            List<TrafficItem> result = null;\r
+            try {\r
+                TryConnect();\r
+                using (SqlCommand cmd = new SqlCommand("dbo.clIFsp_EC_MAM", connection)) {\r
+                    cmd.CommandType = CommandType.StoredProcedure;\r
+                    cmd.Parameters.AddWithValue("@Operation", 1001);\r
+                    cmd.Parameters.AddWithValue("@@ItemID", DBNull.Value);\r
+                    if (problematic)\r
+                        cmd.Parameters.AddWithValue("@@@Options", 8);\r
+                    else \r
+                        cmd.Parameters.AddWithValue("@@@Options", 0);\r
+                    \r
+                    cmd.Parameters.AddWithValue("@@StrParam1", strParam);\r
+                    cmd.Parameters.AddWithValue("@@DateParam1", from.Value.Date);\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
+                logger.Error(e.Message);\r
+                errorReporter?.Invoke(DateTime.Now, "Error", String.Format("[Traffic] {0}", e.Message), System.Drawing.Color.Red);\r
+            }\r
+            finally {\r
+                connection.Close();\r
+            }\r
+            return result;\r
+        }\r
+\r
+\r
+        public List<TrafficItemMetadata> GetMaterialArchiveMetadata(string strParam) {\r
+            List<clIFsp_EC_MAMBradocastResult> sqlResult = null;\r
+            List<TrafficItemMetadata> result = null;\r
+            try {\r
+                TryConnect();\r
+                using (SqlCommand cmd = new SqlCommand("dbo.clIFsp_EC_MAM", connection)) {\r
+                    cmd.CommandType = CommandType.StoredProcedure;\r
+                    cmd.Parameters.AddWithValue("@Operation", 1001);\r
+                    cmd.Parameters.AddWithValue("@@@Options", 1);\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
+                logger.Error(e.Message);\r
+                errorReporter?.Invoke(DateTime.Now, "Error", String.Format("[Traffic] {0}", e.Message), System.Drawing.Color.Red);\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 = new SqlCommand("dbo.clIFsp_EC_MAM", connection)) {\r
+                    cmd.CommandType = CommandType.StoredProcedure;\r
+                    cmd.Parameters.AddWithValue("@Operation", 1100);\r
+                    cmd.Parameters.AddWithValue("@@ItemID", itemID);\r
+                    cmd.Parameters.AddWithValue("@@@Options", options);\r
+                    cmd.ExecuteNonQuery();\r
+                }\r
+            }\r
+            catch (Exception e) {\r
+                logger.Error(e.Message);\r
+                errorReporter?.Invoke(DateTime.Now, "Error", String.Format("[Traffic] {0}", e.Message), System.Drawing.Color.Red);\r
+            }\r
+            finally {\r
+                connection.Close();\r
+            }\r
+        }\r
+    }\r
+}\r
diff --git a/client/PlanAIRClient/Workers/PromoWorker.cs b/client/PlanAIRClient/Workers/PromoWorker.cs
new file mode 100644 (file)
index 0000000..db52dc1
--- /dev/null
@@ -0,0 +1,126 @@
+using System;\r
+using System.Collections.Generic;\r
+using System.Data;\r
+using System.Data.SqlClient;\r
+using NLog;\r
+using System.Drawing;\r
+using System.Diagnostics;\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, TrafficErrorReporterDelegate errorReporter)\r
+            : base(connection, cliFSPReader, errorReporter) {\r
+        }\r
+\r
+        private TrafficItem ToTrafficItem(clIFsp_EC_MAMPromotionalResult data) {\r
+            Debug.WriteLine(data.v_OkForAirs);\r
+            return new TrafficItem() {\r
+                MediaID = data.t_MediaID,\r
+                EpisodeTitle = data.v_Title,\r
+                Title = data.v_ProgTitle,\r
+                EpisodeNumber = data.v_Episode ?? 0,\r
+                NextBroadcastDate = data.t_PSStart,\r
+                VariantID = data.t_SpotID,\r
+                OK = data.v_OkForAirs != null && "OK".Equals(data.v_OkForAirs)\r
+            };\r
+\r
+        }\r
+\r
+        private TrafficItemMetadata ToTrafficItemMetadata(clIFsp_EC_MAMPromotionalResult data) {\r
+            return new TrafficItemMetadata() {\r
+                    EpisodeID = data.t_MediaID,\r
+                    ProgID = data.t_SpotID.ToString(),\r
+                    ProgTitle = data.v_ProgTitle,\r
+            };\r
+        }\r
+\r
+        public List<TrafficItem> GetPromos(string search, bool problematic) {\r
+            List<TrafficItem> result = null;\r
+            try {\r
+                TryConnect();\r
+                using (SqlCommand cmd = new SqlCommand("dbo.clIFsp_EC_MAM", connection)) {\r
+                    cmd.CommandType = CommandType.StoredProcedure;\r
+                    cmd.Parameters.AddWithValue("@Operation", 2001);\r
+                    if (problematic)\r
+                        cmd.Parameters.AddWithValue("@@@Options", 1);\r
+                    else\r
+                        cmd.Parameters.AddWithValue("@@@Options", 0);\r
+                    cmd.Parameters.AddWithValue("@@ItemID", DBNull.Value);\r
+                    cmd.Parameters.AddWithValue("@@StrParam1", search);\r
+\r
+                    using (SqlDataReader reader = cmd.ExecuteReader()) {\r
+                        while (reader.Read()) {\r
+                            if (result == null)\r
+                                result = new List<TrafficItem>();\r
+                            clIFsp_EC_MAMPromotionalResult item = cliFSPReader.ToclIFsp_MAMPromotionalResult(reader);\r
+                            result.Add(ToTrafficItem(item));\r
+                        }\r
+                    }\r
+                }\r
+            }\r
+            catch (Exception e) {\r
+                logger.Error(e.Message);\r
+                errorReporter?.Invoke(DateTime.Now, "Error", String.Format("[Traffic] {0}", e.Message), Color.Red);\r
+            }\r
+            finally {\r
+                connection.Close();\r
+            }\r
+            return result;\r
+        }\r
+        \r
+        public void SetPromoOK(int itemID, bool ok) {\r
+            try {\r
+                TryConnect();\r
+                int options = ok ? 1 : 0;\r
+                using (SqlCommand cmd = new SqlCommand("dbo.clIFsp_EC_MAM", connection)) {\r
+                    cmd.CommandType = CommandType.StoredProcedure;\r
+                    cmd.Parameters.AddWithValue("@Operation", 2100);\r
+                    cmd.Parameters.AddWithValue("@@ItemID", itemID);\r
+                    cmd.Parameters.AddWithValue("@@@Options", options);\r
+                    cmd.ExecuteNonQuery();\r
+                }\r
+            }\r
+            catch (Exception e) {\r
+                logger.Error(e.Message);\r
+                errorReporter?.Invoke(DateTime.Now, "Error", String.Format("[Traffic] {0}", e.Message), Color.Red);\r
+            }\r
+            finally {\r
+                connection.Close();\r
+            }\r
+        }\r
+\r
+        public List<TrafficItemMetadata> GetPromoArchiveMetadata(string strParam) {\r
+            List<TrafficItemMetadata> result = null;\r
+            try {\r
+                TryConnect();\r
+                using (SqlCommand cmd = new SqlCommand("dbo.clIFsp_EC_MAM", connection)) {\r
+                    cmd.CommandType = CommandType.StoredProcedure;\r
+                    cmd.Parameters.AddWithValue("@Operation", 2001);\r
+                    cmd.Parameters.AddWithValue("@@@Options", 40);\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<TrafficItemMetadata>();\r
+                            clIFsp_EC_MAMPromotionalResult item = cliFSPReader.ToclIFsp_MAMPromotionalResult(reader);\r
+                            result.Add(ToTrafficItemMetadata(item));\r
+                        }\r
+                    }\r
+                }\r
+            }\r
+            catch (Exception e) {\r
+                logger.Error(e.Message);\r
+                errorReporter?.Invoke(DateTime.Now, "Error", String.Format("[Traffic] {0}", e.Message), Color.Red);\r
+            }\r
+            finally {\r
+                connection.Close();\r
+            }\r
+            return result;\r
+        }\r
+\r
+    }\r
+}\r
diff --git a/client/PlanAIRClient/Workers/PromotionalWorker.cs b/client/PlanAIRClient/Workers/PromotionalWorker.cs
deleted file mode 100644 (file)
index 636116c..0000000
+++ /dev/null
@@ -1,103 +0,0 @@
-using System;\r
-using System.Collections.Generic;\r
-using System.Data;\r
-using System.Data.SqlClient;\r
-using NLog;\r
-\r
-namespace TrafficClient.Workers {\r
-    public class PromotionalWorker : TrafficWorker {\r
-\r
-        private static Logger logger = LogManager.GetCurrentClassLogger();\r
-\r
-        public PromotionalWorker(SqlConnection connection, CliFSPReader cliFSPReader, TrafficErrorReporterDelegate errorReporter)\r
-            : base(connection, cliFSPReader, errorReporter) {\r
-        }\r
-\r
-        public List<TrafficItem> GetPromotionals(string strParam) {\r
-            List<clIFsp_EC_MAMPromotionalResult> sqlResult = null;\r
-            List<TrafficItem> result = null;\r
-            try {\r
-                TryConnect();\r
-                using (SqlCommand cmd = new SqlCommand("dbo.clIFsp_EC_MAM", connection)) {\r
-                    cmd.CommandType = CommandType.StoredProcedure;\r
-                    cmd.Parameters.AddWithValue("@Operation", 2001);\r
-                    //Hiányos 1\r
-                    cmd.Parameters.AddWithValue("@@@Options", 0);\r
-                    cmd.Parameters.AddWithValue("@@ItemID", DBNull.Value);\r
-                    cmd.Parameters.AddWithValue("@@StrParam1", strParam);\r
-                    sqlResult = ExecuteAndReadPromotionals(cmd);\r
-                    result = ProcessMamPromotionalResult(sqlResult);\r
-                }\r
-            }\r
-            catch (Exception e) {\r
-                logger.Error(e.Message);\r
-                errorReporter?.Invoke(DateTime.Now, "Error", String.Format("[Traffic] {0}", e.Message), System.Drawing.Color.Red);\r
-            }\r
-            finally {\r
-                connection.Close();\r
-            }\r
-            return result;\r
-        }\r
-        \r
-        public void SetPromotionalReadyToAir(int spotID, bool ok) {\r
-            try {\r
-                TryConnect();\r
-                int options = ok ? 1 : 0;\r
-                using (SqlCommand cmd = new SqlCommand("dbo.clIFsp_EC_MAM", connection)) {\r
-                    cmd.CommandType = CommandType.StoredProcedure;\r
-                    cmd.Parameters.AddWithValue("@Operation", 2100);\r
-                    cmd.Parameters.AddWithValue("@@ItemID", spotID);\r
-                    cmd.Parameters.AddWithValue("@@@Options", options);\r
-                    cmd.ExecuteNonQuery();\r
-                }\r
-            }\r
-            catch (Exception e) {\r
-                logger.Error(e.Message);\r
-                errorReporter?.Invoke(DateTime.Now, "Error", String.Format("[Traffic] {0}", e.Message), System.Drawing.Color.Red);\r
-            }\r
-            finally {\r
-                connection.Close();\r
-            }\r
-        }\r
-\r
-        public List<TrafficItemMetadata> GetPromotionalArchiveMetadata(string strParam) {\r
-            List<clIFsp_EC_MAMPromotionalResult> sqlResult = null;\r
-            List<TrafficItemMetadata> result = null;\r
-            try {\r
-                TryConnect();\r
-                using (SqlCommand cmd = new SqlCommand("dbo.clIFsp_EC_MAM", connection)) {\r
-                    cmd.CommandType = CommandType.StoredProcedure;\r
-                    cmd.Parameters.AddWithValue("@Operation", 2001);\r
-                    cmd.Parameters.AddWithValue("@@@Options", 40);\r
-                    cmd.Parameters.AddWithValue("@@ItemID", DBNull.Value);\r
-                    cmd.Parameters.AddWithValue("@@StrParam1", strParam);\r
-                    sqlResult = ExecuteAndReadPromotionals(cmd);\r
-                    result = ProcessPromotionalArchiveMetadataResult(sqlResult);\r
-                }\r
-            }\r
-            catch (Exception e) {\r
-                logger.Error(e.Message);\r
-                errorReporter?.Invoke(DateTime.Now, "Error", String.Format("[Traffic] {0}", e.Message), System.Drawing.Color.Red);\r
-            }\r
-            finally {\r
-                connection.Close();\r
-            }\r
-            return result;\r
-        }\r
-\r
-        private List<TrafficItemMetadata> ProcessPromotionalArchiveMetadataResult(List<clIFsp_EC_MAMPromotionalResult> sqlResult) {\r
-            if (sqlResult == null)\r
-                return null;\r
-            List<TrafficItemMetadata> result = new List<TrafficItemMetadata>();\r
-            foreach (clIFsp_EC_MAMPromotionalResult actual in sqlResult) {\r
-                TrafficItemMetadata actualObject = new TrafficItemMetadata() {\r
-                    EpisodeID = actual.t_MediaID,\r
-                    ProgID = actual.t_SpotID.ToString(),\r
-                    ProgTitle = actual.v_ProgTitle,\r
-                };\r
-                result.Add(actualObject);\r
-            }\r
-            return result;\r
-        }\r
-    }\r
-}\r
index a40e081851ba1972e994c84161a996892636f39c..52363f615fcf30fe5a04f75947b2ce4f94326fd1 100644 (file)
@@ -1,5 +1,4 @@
 using System;\r
-using System;\r
 using System.Collections.Generic;\r
 using System.Data;\r
 using System.Data.SqlClient;\r
@@ -14,7 +13,30 @@ namespace TrafficClient.Workers {
             base(connection, cliFSPReader, errorReporter) {\r
         }\r
 \r
-        public List<Segment> GetBroadcastSegments(int itemID) {\r
+        private Segment ToSegment(clIFsp_EC_MAMPromotionalResult item) {\r
+            return new Segment() {\r
+                TCIn = item.t_TcIn.HasValue ? item.t_TcIn.Value : 0,\r
+                TCOut = item.t_TcOut.HasValue ? item.t_TcOut.Value : 0,\r
+            };\r
+        }\r
+\r
+        private Segment ToSegment(clIFsp_EC_SegmentResult item) {\r
+            return new Segment() {\r
+                TCIn = item.v_TcIn.HasValue ? item.v_TcIn.Value : 0,\r
+                TCOut = item.v_TcOut.HasValue ? item.v_TcOut.Value : 0,\r
+                Comment = item.v_SegTitle,\r
+                Optional = item.v_Dropable.HasValue ? item.v_Dropable.Value : false\r
+            };\r
+        }\r
+\r
+        private Segment ToSegment(clIFsp_EC_MAMAdvertismentResult item) {\r
+            return new Segment() {\r
+                TCIn = item.t_TcIn.HasValue ? item.t_TcIn.Value : 0,\r
+                TCOut = item.t_TcOut.HasValue ? item.t_TcOut.Value : 0\r
+            };\r
+        }\r
+\r
+        public List<Segment> GetMaterialSegments(int itemID) {\r
             List<Segment> result = null;\r
             try {\r
                 TryConnect();\r
@@ -24,12 +46,12 @@ namespace TrafficClient.Workers {
                     cmd.Parameters.AddWithValue("@@@Options", DBNull.Value);\r
                     cmd.Parameters.AddWithValue("@@ItemID", itemID);\r
                     using (SqlDataReader reader = cmd.ExecuteReader()) {\r
-                        List<clIFsp_EC_SegmentResult> list = new List<clIFsp_EC_SegmentResult>();\r
                         while (reader.Read()) {\r
+                            if (result == null)\r
+                                result = new List<Segment>();\r
                             clIFsp_EC_SegmentResult item = cliFSPReader.ToclIFsp_SegmentResult(reader);\r
-                            list.Add(item);\r
+                            result.Add(ToSegment(item));\r
                         }\r
-                        result = ProcessSegmentResult(list);\r
                     }\r
                 }\r
             }\r
@@ -43,35 +65,16 @@ namespace TrafficClient.Workers {
             return result;\r
         }\r
 \r
-        private List<Segment> ProcessSegmentResult(List<clIFsp_EC_SegmentResult> sqlResult) {\r
-            if (sqlResult == null)\r
-                return null;\r
-            List<Segment> result = new List<Segment>();\r
-            foreach (clIFsp_EC_SegmentResult actual in sqlResult) {\r
-                Segment actualObject = new Segment() {\r
-                    TCIn = actual.v_TcIn.HasValue ? actual.v_TcIn.Value : -1,\r
-                    TCOut = actual.v_TcOut.HasValue ? actual.v_TcOut.Value : -1,\r
-                    Comment = actual.v_SegTitle,\r
-                    Optional = actual.v_Dropable.HasValue ? actual.v_Dropable.Value : false\r
-                };\r
-                result.Add(actualObject);\r
-            }\r
-            return result;\r
-        }\r
-\r
-        public List<Segment> GetPromoSegments(string strParam) {\r
-            List<Segment> result = null;\r
-            List<clIFsp_EC_MAMPromotionalResult> sqlResult = null;\r
+        public void DeleteMaterialSegments(int itemID) {\r
             try {\r
                 TryConnect();\r
                 using (SqlCommand cmd = new SqlCommand("dbo.clIFsp_EC_MAM", connection)) {\r
                     cmd.CommandType = CommandType.StoredProcedure;\r
-                    cmd.Parameters.AddWithValue("@Operation", 2001);\r
-                    cmd.Parameters.AddWithValue("@@@Options", 16);\r
-                    cmd.Parameters.AddWithValue("@@ItemID", DBNull.Value);\r
-                    cmd.Parameters.AddWithValue("@@StrParam1", strParam);\r
-                    sqlResult = ExecuteAndReadPromotionals(cmd);\r
-                    result = GetPromoSegmentFromResult(sqlResult);\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
                 }\r
             }\r
             catch (Exception e) {\r
@@ -81,37 +84,19 @@ namespace TrafficClient.Workers {
             finally {\r
                 connection.Close();\r
             }\r
-            return result;\r
         }\r
 \r
-        private List<Segment> GetPromoSegmentFromResult(List<clIFsp_EC_MAMPromotionalResult> sqlResult) {\r
-            if (sqlResult == null)\r
-                return null;\r
-            //egy promónak egy szegmense van\r
-            if (!sqlResult[0].t_TcIn.HasValue || !sqlResult[0].t_TcOut.HasValue)\r
-                return null;\r
-            List<Segment> result = new List<Segment>();\r
-            Segment segment = new Segment() {\r
-                TCIn = sqlResult[0].t_TcIn.HasValue ? (long)sqlResult[0].t_TcIn.Value : 0,\r
-                TCOut = sqlResult[0].t_TcOut.HasValue ? (long)sqlResult[0].t_TcOut.Value : 0,\r
-            };\r
-            result.Add(segment);\r
-            return result;\r
-        }\r
-\r
-        public List<Segment> GetAdvertisementSegments(string strParam) {\r
-            List<Segment> result = null;\r
-            List<clIFsp_EC_MAMAdvertismentResult> sqlResult = null;\r
+        public void DeleteMaterialSegment(int itemID, int segmentID) {\r
             try {\r
                 TryConnect();\r
                 using (SqlCommand cmd = new SqlCommand("dbo.clIFsp_EC_MAM", connection)) {\r
                     cmd.CommandType = CommandType.StoredProcedure;\r
-                    cmd.Parameters.AddWithValue("@Operation", 3001);\r
-                    cmd.Parameters.AddWithValue("@@@Options", 4);\r
-                    cmd.Parameters.AddWithValue("@@ItemID", DBNull.Value);\r
-                    cmd.Parameters.AddWithValue("@@StrParam1", strParam);\r
-                    sqlResult = ExecuteAndReadAdvertisement(cmd);\r
-                    result = GetAdvertisementSegmentFromResult(sqlResult);\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
@@ -121,34 +106,25 @@ namespace TrafficClient.Workers {
             finally {\r
                 connection.Close();\r
             }\r
-            return result;\r
-        }\r
-\r
-        private List<Segment> GetAdvertisementSegmentFromResult(List<clIFsp_EC_MAMAdvertismentResult> sqlResult) {\r
-            if (sqlResult == null)\r
-                return null;\r
-            List<Segment> result = new List<Segment>();\r
-            //egy reklémnak egy szegmense van\r
-            if (!sqlResult[0].t_TcIn.HasValue || !sqlResult[0].t_TcOut.HasValue)\r
-                return null;\r
-            Segment segment = new Segment() {\r
-                TCIn = (long)sqlResult[0].t_TcIn.Value,\r
-                TCOut = (long)sqlResult[0].t_TcOut.Value,\r
-            };\r
-            result.Add(segment);\r
-            return result;\r
         }\r
 \r
-        public void DeleteSegments(int itemID) {\r
+        public void AddSegment(int itemID, Segment segment) {\r
+            object strparam = segment.Comment;\r
+            if (String.IsNullOrEmpty(segment.Comment))\r
+                strparam = DBNull.Value;\r
             try {\r
                 TryConnect();\r
                 using (SqlCommand cmd = new SqlCommand("dbo.clIFsp_EC_MAM", connection)) {\r
+                    int optionalParam = segment.Optional ? 1 : 0;\r
                     cmd.CommandType = CommandType.StoredProcedure;\r
-                    cmd.Parameters.AddWithValue("@Operation", 1110);\r
+                    cmd.Parameters.AddWithValue("@Operation", 1115);\r
                     cmd.Parameters.AddWithValue("@@ItemID", itemID);\r
-                    cmd.Parameters.AddWithValue("@@@Options", DBNull.Value);\r
+                    cmd.Parameters.AddWithValue("@@IntParam1", segment.TCIn);\r
+                    cmd.Parameters.AddWithValue("@@IntParam2", segment.TCOut);\r
+                    cmd.Parameters.AddWithValue("@@StrParam1", strparam);\r
+                    cmd.Parameters.AddWithValue("@@StrParam2", DBNull.Value);\r
+                    cmd.Parameters.AddWithValue("@@@Options", optionalParam);\r
                     cmd.ExecuteNonQuery();\r
-                    logger.Info(String.Format("Segments deleted from itemID {0}", itemID));\r
                 }\r
             }\r
             catch (Exception e) {\r
@@ -160,17 +136,25 @@ namespace TrafficClient.Workers {
             }\r
         }\r
 \r
-        public void DeleteSegment(int itemID, int segmentID) {\r
+        public List<Segment> GetPromoSegments(string strParam) {\r
+            List<Segment> result = null;\r
             try {\r
                 TryConnect();\r
                 using (SqlCommand cmd = new SqlCommand("dbo.clIFsp_EC_MAM", connection)) {\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("@@@Options", DBNull.Value);\r
-                    cmd.ExecuteNonQuery();\r
-                    logger.Info(String.Format("{0} segment deleted from itemID: {1}", segmentID, itemID));\r
+                    cmd.Parameters.AddWithValue("@Operation", 2001);\r
+                    cmd.Parameters.AddWithValue("@@@Options", 16);\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<Segment>();\r
+\r
+                            clIFsp_EC_MAMPromotionalResult item = cliFSPReader.ToclIFsp_MAMPromotionalResult(reader);\r
+                            result.Add(ToSegment(item));\r
+                        }\r
+                    }\r
                 }\r
             }\r
             catch (Exception e) {\r
@@ -180,26 +164,27 @@ namespace TrafficClient.Workers {
             finally {\r
                 connection.Close();\r
             }\r
+            return result;\r
         }\r
 \r
-        //string strParam, long tcIn, long tcOut, bool optional\r
-        public void AddSegmentToCopia(int itemID, Segment segment) {\r
-            object strparam = segment.Comment;\r
-            if (String.IsNullOrEmpty(segment.Comment))\r
-                strparam = DBNull.Value;\r
+        public List<Segment> GetADSegments(string strParam) {\r
+            List<Segment> result = null;\r
             try {\r
                 TryConnect();\r
                 using (SqlCommand cmd = new SqlCommand("dbo.clIFsp_EC_MAM", connection)) {\r
-                    int optionalParam = segment.Optional ? 1 : 0;\r
                     cmd.CommandType = CommandType.StoredProcedure;\r
-                    cmd.Parameters.AddWithValue("@Operation", 1115);\r
-                    cmd.Parameters.AddWithValue("@@ItemID", itemID);\r
-                    cmd.Parameters.AddWithValue("@@IntParam1", segment.TCIn);\r
-                    cmd.Parameters.AddWithValue("@@IntParam2", segment.TCOut);\r
-                    cmd.Parameters.AddWithValue("@@StrParam1", strparam);\r
-                    cmd.Parameters.AddWithValue("@@StrParam2", DBNull.Value);\r
-                    cmd.Parameters.AddWithValue("@@@Options", optionalParam);\r
-                    cmd.ExecuteNonQuery();\r
+                    cmd.Parameters.AddWithValue("@Operation", 3001);\r
+                    cmd.Parameters.AddWithValue("@@@Options", 4);\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<Segment>();\r
+                            clIFsp_EC_MAMAdvertismentResult item = cliFSPReader.ToclIFsp_MAMAdvertisementResult(reader);\r
+                            result.Add(ToSegment(item));\r
+                        }\r
+                    }\r
                 }\r
             }\r
             catch (Exception e) {\r
@@ -209,6 +194,8 @@ namespace TrafficClient.Workers {
             finally {\r
                 connection.Close();\r
             }\r
+            return result;\r
         }\r
+\r
     }\r
 }\r
index e4b7d811dbf1d3eccf430d069565c80e9ed8b772..20a5ce2afc0939b37e9d5a79811dbf893130e6c6 100644 (file)
@@ -1,6 +1,4 @@
-using System;\r
-using System.Collections.Generic;\r
-using System.Data;\r
+using System.Data;\r
 using System.Data.SqlClient;\r
 \r
 namespace TrafficClient.Workers {\r
@@ -22,54 +20,5 @@ namespace TrafficClient.Workers {
             }\r
         }\r
 \r
-\r
-        protected List<clIFsp_EC_MAMPromotionalResult> ExecuteAndReadPromotionals(SqlCommand cmd) {\r
-            List<clIFsp_EC_MAMPromotionalResult> result = null;\r
-            try {\r
-                using (SqlDataReader reader = cmd.ExecuteReader()) {\r
-                    while (reader.Read()) {\r
-                        if (result == null)\r
-                            result = new List<clIFsp_EC_MAMPromotionalResult>();\r
-                        clIFsp_EC_MAMPromotionalResult item = cliFSPReader.ToclIFsp_MAMPromotionalResult(reader);\r
-                        result.Add(item);\r
-                    }\r
-                }\r
-            }\r
-            catch (Exception e) {\r
-                errorReporter?.Invoke(DateTime.Now, "Error", String.Format("[Traffic] {0}", e.Message), System.Drawing.Color.Red);\r
-            }\r
-            return result;\r
-        }\r
-\r
-        protected List<clIFsp_EC_MAMAdvertismentResult> ExecuteAndReadAdvertisement(SqlCommand cmd) {\r
-            List<clIFsp_EC_MAMAdvertismentResult> result = null;\r
-            using (SqlDataReader reader = cmd.ExecuteReader()) {\r
-                while (reader.Read()) {\r
-                    if (result == null)\r
-                        result = new List<clIFsp_EC_MAMAdvertismentResult>();\r
-                    clIFsp_EC_MAMAdvertismentResult item = cliFSPReader.ToclIFsp_MAMAdvertisementResult(reader);\r
-                    result.Add(item);\r
-                }\r
-            }\r
-            return result;\r
-        }\r
-\r
-        protected List<TrafficItem> ProcessMamPromotionalResult(List<clIFsp_EC_MAMPromotionalResult> sqlResult) {\r
-            if (sqlResult == null)\r
-                return null;\r
-            List<TrafficItem> result = new List<TrafficItem>();\r
-            foreach (clIFsp_EC_MAMPromotionalResult actual in sqlResult) {\r
-                TrafficItem actualObject = new TrafficItem() {\r
-                    MediaID = actual.t_MediaID,\r
-                    EpisodeTitle = actual.v_Title,\r
-                    Title = actual.v_ProgTitle,\r
-                    Episode = actual.v_Episode.HasValue ? actual.v_Episode.Value : (short)-1,\r
-                    NextBroadcastDate = actual.t_PSStart,\r
-                    VariantID = actual.t_SpotID\r
-                };\r
-                result.Add(actualObject);\r
-            }\r
-            return result;\r
-        }\r
     }\r
 }\r