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