From: Vásáry Dániel Date: Thu, 26 Oct 2017 10:57:42 +0000 (+0000) Subject: git-tfs-id: [http://tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube... X-Git-Url: http://git.useribm.hu/?a=commitdiff_plain;h=8fe04d4c6a810cf65cf279256068c430a4bd85f9;p=mediacube.git git-tfs-id: [tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube;C30673 --- diff --git a/client/IntegrationTests/MaestroIT.cs b/client/IntegrationTests/MaestroIT.cs index 35ee458e..13c6d216 100644 --- a/client/IntegrationTests/MaestroIT.cs +++ b/client/IntegrationTests/MaestroIT.cs @@ -13,6 +13,7 @@ using System.Runtime.ConstrainedExecution; using System.Security; using BethesdaConsentFormWCFSvc; using System.IO; +using System.Text.RegularExpressions; namespace IntegrationTests { public sealed class SafeTokenHandle : SafeHandleZeroOrMinusOneIsInvalid { @@ -64,6 +65,47 @@ namespace IntegrationTests { } } + void testRegex(string id, string exp, bool expect) { + Match match = Regex.Match(id, exp); + Debug.WriteLine(String.Format($"{id} : {match.Success} {expect}")); + } + + [TestMethod] + public void TestTrafficRegex() { + const string exp = "^[M,P,R]{1}[0-9]{6}[A-Z]{1}$"; + testRegex("M000000A", exp, true); + testRegex("P000000B", exp, true); + testRegex("R000000C", exp, true); + testRegex("R000000C.", exp, false); + testRegex("R0000000C", exp, false); + testRegex("M00000A", exp, false); + testRegex("M0000000", exp, false); + testRegex("Q000000A", exp, false); + } + + [TestMethod] + public void TestMaterialRegex() { + const string exp = "^M{1}[0-9]{6}[A-Z]{1}$"; + testRegex("M000000A", exp, true); + testRegex("P000000B", exp, false); + testRegex("R000000C", exp, false); + testRegex("A3333333", exp, false); + testRegex("55555.", exp, false); + testRegex("44444S", exp, false); + testRegex("M000000.", exp, false); + testRegex("M0000000.", exp, false); + } + + [TestMethod] + public void TestOctopusRegex() { + const string exp = "^[0-9]+$"; + testRegex("1111", exp, true); + testRegex("2222222222", exp, true); + testRegex("A3333333", exp, false); + testRegex("55555.", exp, false); + testRegex("44444S", exp, false); + } + [TestMethod] public void TestFTPTarget() { Target configuration = new Target() { diff --git a/client/Maestro/Configuration/configuration-editor.json b/client/Maestro/Configuration/configuration-editor.json index d7ccb3a9..fc3b409e 100644 --- a/client/Maestro/Configuration/configuration-editor.json +++ b/client/Maestro/Configuration/configuration-editor.json @@ -1,7 +1,8 @@ -{ + +{ "title": "Szerkesztő", "active": true, - "startInTray": true, + "startInTray": false, "enableCustomMetadataId": true, "player": { "enabled": true, diff --git a/client/Maestro/Maestro.csproj b/client/Maestro/Maestro.csproj index 716098e0..abd8d0da 100644 --- a/client/Maestro/Maestro.csproj +++ b/client/Maestro/Maestro.csproj @@ -175,7 +175,6 @@ - Component diff --git a/client/Maestro/MaestroForm.Designer.cs b/client/Maestro/MaestroForm.Designer.cs index 789ec690..6f3803fa 100644 --- a/client/Maestro/MaestroForm.Designer.cs +++ b/client/Maestro/MaestroForm.Designer.cs @@ -33,12 +33,12 @@ namespace Maestro { System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle8 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle9 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle10 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle11 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle12 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle13 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle(); this.groupSource = new System.Windows.Forms.GroupBox(); this.dataGridSource = new System.Windows.Forms.DataGridView(); this.bindingSource = new System.Windows.Forms.BindingSource(this.components); @@ -74,14 +74,6 @@ namespace Maestro { this.tabControl2 = new System.Windows.Forms.TabControl(); this.tabPage1 = new System.Windows.Forms.TabPage(); this.dataGridJobs = new System.Windows.Forms.DataGridView(); - this.bindingSourceJobs = new System.Windows.Forms.BindingSource(this.components); - this.tabPage2 = new System.Windows.Forms.TabPage(); - this.dataGridMessages = new System.Windows.Forms.DataGridView(); - this.timeDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.Level = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.messageDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.systemMessageBindingSource = new System.Windows.Forms.BindingSource(this.components); - this.metadataInfoBindingSource = new System.Windows.Forms.BindingSource(this.components); this.columnLabel = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.columnID = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.Progress = new Maestro.Commons.DataGridViewProgressColumn(); @@ -91,6 +83,14 @@ namespace Maestro { this.columnInput = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.columnOutput = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.columnKillDate = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.bindingSourceJobs = new System.Windows.Forms.BindingSource(this.components); + this.tabPage2 = new System.Windows.Forms.TabPage(); + this.dataGridMessages = new System.Windows.Forms.DataGridView(); + this.timeDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.Level = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.messageDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.systemMessageBindingSource = new System.Windows.Forms.BindingSource(this.components); + this.metadataInfoBindingSource = new System.Windows.Forms.BindingSource(this.components); this.groupSource.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.dataGridSource)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.bindingSource)).BeginInit(); @@ -659,6 +659,82 @@ namespace Maestro { this.dataGridJobs.CellEnter += new System.Windows.Forms.DataGridViewCellEventHandler(this.dataGridJobs_CellEnter); this.dataGridJobs.MouseClick += new System.Windows.Forms.MouseEventHandler(this.dataGridJobs_MouseClick); // + // columnLabel + // + this.columnLabel.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.DisplayedCells; + this.columnLabel.DataPropertyName = "Label"; + this.columnLabel.HeaderText = "Label"; + this.columnLabel.Name = "columnLabel"; + this.columnLabel.Width = 63; + // + // columnID + // + this.columnID.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.DisplayedCells; + this.columnID.DataPropertyName = "ID"; + dataGridViewCellStyle5.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.columnID.DefaultCellStyle = dataGridViewCellStyle5; + this.columnID.HeaderText = "ID"; + this.columnID.Name = "columnID"; + this.columnID.Width = 44; + // + // Progress + // + this.Progress.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None; + this.Progress.DataPropertyName = "Progress"; + this.Progress.HeaderText = ""; + this.Progress.MinimumWidth = 100; + this.Progress.Name = "Progress"; + // + // columnStatus + // + this.columnStatus.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.DisplayedCells; + this.columnStatus.DataPropertyName = "Status"; + dataGridViewCellStyle6.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.columnStatus.DefaultCellStyle = dataGridViewCellStyle6; + this.columnStatus.HeaderText = "Status"; + this.columnStatus.Name = "columnStatus"; + this.columnStatus.Width = 66; + // + // columnStarted + // + this.columnStarted.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.DisplayedCells; + this.columnStarted.DataPropertyName = "Started"; + this.columnStarted.HeaderText = "Started"; + this.columnStarted.Name = "columnStarted"; + this.columnStarted.Width = 71; + // + // columnFinished + // + this.columnFinished.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.DisplayedCells; + this.columnFinished.DataPropertyName = "Finished"; + this.columnFinished.HeaderText = "Finished"; + this.columnFinished.Name = "columnFinished"; + this.columnFinished.Width = 79; + // + // columnInput + // + this.columnInput.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.DisplayedCells; + this.columnInput.DataPropertyName = "Input"; + this.columnInput.HeaderText = "Input"; + this.columnInput.Name = "columnInput"; + this.columnInput.Width = 59; + // + // columnOutput + // + this.columnOutput.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.DisplayedCells; + this.columnOutput.DataPropertyName = "Output"; + this.columnOutput.HeaderText = "Output"; + this.columnOutput.Name = "columnOutput"; + this.columnOutput.Width = 68; + // + // columnKillDate + // + this.columnKillDate.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.DisplayedCells; + this.columnKillDate.DataPropertyName = "KillDate"; + this.columnKillDate.HeaderText = "KillDate"; + this.columnKillDate.Name = "columnKillDate"; + this.columnKillDate.Width = 75; + // // tabPage2 // this.tabPage2.Controls.Add(this.dataGridMessages); @@ -755,82 +831,6 @@ namespace Maestro { // this.metadataInfoBindingSource.DataSource = typeof(Maestro.Metadata.MetadataInfo); // - // columnLabel - // - this.columnLabel.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.DisplayedCells; - this.columnLabel.DataPropertyName = "Label"; - this.columnLabel.HeaderText = "Label"; - this.columnLabel.Name = "columnLabel"; - this.columnLabel.Width = 63; - // - // columnID - // - this.columnID.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.DisplayedCells; - this.columnID.DataPropertyName = "ID"; - dataGridViewCellStyle5.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); - this.columnID.DefaultCellStyle = dataGridViewCellStyle5; - this.columnID.HeaderText = "ID"; - this.columnID.Name = "columnID"; - this.columnID.Width = 44; - // - // Progress - // - this.Progress.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None; - this.Progress.DataPropertyName = "Progress"; - this.Progress.HeaderText = ""; - this.Progress.MinimumWidth = 100; - this.Progress.Name = "Progress"; - // - // columnStatus - // - this.columnStatus.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.DisplayedCells; - this.columnStatus.DataPropertyName = "Status"; - dataGridViewCellStyle6.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); - this.columnStatus.DefaultCellStyle = dataGridViewCellStyle6; - this.columnStatus.HeaderText = "Status"; - this.columnStatus.Name = "columnStatus"; - this.columnStatus.Width = 66; - // - // columnStarted - // - this.columnStarted.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.DisplayedCells; - this.columnStarted.DataPropertyName = "Started"; - this.columnStarted.HeaderText = "Started"; - this.columnStarted.Name = "columnStarted"; - this.columnStarted.Width = 71; - // - // columnFinished - // - this.columnFinished.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.DisplayedCells; - this.columnFinished.DataPropertyName = "Finished"; - this.columnFinished.HeaderText = "Finished"; - this.columnFinished.Name = "columnFinished"; - this.columnFinished.Width = 79; - // - // columnInput - // - this.columnInput.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.DisplayedCells; - this.columnInput.DataPropertyName = "Input"; - this.columnInput.HeaderText = "Input"; - this.columnInput.Name = "columnInput"; - this.columnInput.Width = 59; - // - // columnOutput - // - this.columnOutput.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.DisplayedCells; - this.columnOutput.DataPropertyName = "Output"; - this.columnOutput.HeaderText = "Output"; - this.columnOutput.Name = "columnOutput"; - this.columnOutput.Width = 68; - // - // columnKillDate - // - this.columnKillDate.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.DisplayedCells; - this.columnKillDate.DataPropertyName = "KillDate"; - this.columnKillDate.HeaderText = "KillDate"; - this.columnKillDate.Name = "columnKillDate"; - this.columnKillDate.Width = 75; - // // MaestroForm // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); diff --git a/client/Maestro/MaestroForm.Metadata.cs b/client/Maestro/MaestroForm.Metadata.cs index e9bf3d0c..47cd215a 100644 --- a/client/Maestro/MaestroForm.Metadata.cs +++ b/client/Maestro/MaestroForm.Metadata.cs @@ -15,11 +15,17 @@ using Model; namespace Maestro { public partial class MaestroForm { private const string ARCHIVEID_PREFIX = "MC-"; + private const string REGEXP_TRAFFICMATERIALID = "^M{1}[0-9]{6}[A-Z]{1}$"; + private const string REGEXP_TRAFFICADID = "^R{1}[0-9]{6}[A-Z]{1}$"; + private const string REGEXP_TRAFFICPROMOID = "^P{1}[0-9]{6}[A-Z]{1}$"; + private const string REGEXP_OCTOPUSID = "^[0-9]+$"; private MetadataInfo selectedMetadata; private List segments; private MediaCubeApi mediaCubeApi; private ArchiveMetadata archiveMetadata; private BindingList movieSegments; + private static MetadataType[] validTypes = { MetadataType.TrafficAD, MetadataType.TrafficMaterial, MetadataType.TrafficPromo }; + private ToolTip ttMetadata = new ToolTip(); public MetadataInfo SelectedMetadata { get { @@ -30,6 +36,7 @@ namespace Maestro { movieSegments = null; segments = null; textSelectedMetadata.Text = value?.ID; + ttMetadata.SetToolTip(textSelectedMetadata, value?.Tooltip); } } @@ -83,20 +90,28 @@ namespace Maestro { form.ShowDialog(); } - private SourceIDType GetSourceType(string id) { - SourceIDType result = SourceIDType.MediaCube; - if (!String.IsNullOrEmpty(id)) { - Match match = Regex.Match(id, "[A-Z]{1}[0-9]{6}[A-Z]{1}"); - if (match.Success) - result = SourceIDType.TrafficID; - else { - //"^[0-9]+$"; - match = Regex.Match(id, "[0-9]"); - if (match.Success) - result = SourceIDType.OctopusID; - } - } - return result; + private MetadataType GuessMetadataType(string id) { + if (String.IsNullOrEmpty(id)) + return MetadataType.None; + Match match = null; + + match = Regex.Match(id, REGEXP_TRAFFICMATERIALID); + if (match.Success) + return MetadataType.TrafficMaterial; + + match = Regex.Match(id, REGEXP_TRAFFICPROMOID); + if (match.Success) + return MetadataType.TrafficPromo; + + match = Regex.Match(id, REGEXP_TRAFFICADID); + if (match.Success) + return MetadataType.TrafficAD; + + match = Regex.Match(id, REGEXP_OCTOPUSID); + if (match.Success) + return MetadataType.OctopusPlaceHolder; + + return MetadataType.MediaCube; } private void OnDefineSegmentsClick(object sender, EventArgs e) { @@ -136,18 +151,18 @@ namespace Maestro { private ArchiveMetadata GetArchiveMetadata() { ArchiveMetadata result = null; - SourceIDType idType = GetSourceType(textSelectedMetadata.Text); Cursor.Current = Cursors.WaitCursor; - switch (idType) { - case SourceIDType.MediaCube: + MetadataType metadataType = GuessMetadataType(textSelectedMetadata.Text); + switch (metadataType) { + case MetadataType.MediaCube: result = GetMediaCubeMetadata(); textSelectedMetadata.Text = result.itemHouseId; break; - case SourceIDType.OctopusID: + case MetadataType.OctopusPlaceHolder: result = GetOctopusMetadata(); break; - case SourceIDType.TrafficID: - result = GetTrafficMetadata(); + case MetadataType.TrafficMaterial: + result = GetTrafficMetadata(metadataType); break; } Cursor.Current = Cursors.Default; @@ -164,13 +179,12 @@ namespace Maestro { return result; } - private ArchiveMetadata GetTrafficMetadata() { + private ArchiveMetadata GetTrafficMetadata(MetadataType metadataType) { string id = textSelectedMetadata.Text; if (String.IsNullOrEmpty(id)) return null; TrafficAPI api = trafficIDSelector.trafficAPI; List trafficResult = null; - MetadataType metadataType = GetTrafficMetadataType(id); switch (metadataType) { case MetadataType.TrafficMaterial: trafficResult = api.GetMaterialMetadata(id); @@ -241,22 +255,24 @@ namespace Maestro { model.mediaDescription = story.Script; } - private MetadataType GetTrafficMetadataType(string id) { - MetadataType result = MetadataType.None; - if (id.Length < 1) - return result; - switch (id[0]) { - case 'M': - result = MetadataType.TrafficMaterial; - break; - case 'P': - result = MetadataType.TrafficPromo; - break; - case 'R': - result = MetadataType.TrafficAD; - break; + private void OnMetadataIDChanged(object sender, EventArgs e) { + if (String.IsNullOrEmpty(textSelectedMetadata.Text)) { + SelectedMetadata = null; + } else { + if (SelectedMetadata == null || !textSelectedMetadata.Text.Equals(SelectedMetadata.ID)) { + SelectedMetadata = new MetadataInfo() { + Kind = MetadataType.MediaCube, + ID = textSelectedMetadata.Text, + Tooltip = "MediaCube azonosító" + }; + } } - return result; + + UpdateProcessorButtonsEnabled(); + UpdateDefineSegmentEnabled(); + UpdateEditArchiveMetadataEnabled(); + UpdateLookupMetadataEnabled(); + archiveMetadata = null; } private void OnOctopusIDSelected(string id, string name) { @@ -267,13 +283,11 @@ namespace Maestro { return; } SelectedMetadata = new MetadataInfo() { - Kind = MetadataType.OctopusStory, - Tooltip = "Story ID", - ID = name, + Kind = MetadataType.OctopusPlaceHolder, + Tooltip = "Octopus azonosító", + ID = id, VariantID = int.Parse(id) }; - UpdateEditArchiveMetadataEnabled(); - UpdateDefineSegmentEnabled(); } private void OnTrafficIDSelected(string selectedID, int variantID) { @@ -283,23 +297,33 @@ namespace Maestro { SelectedMetadata = null; return; } + MetadataType metadataType = GuessMetadataType(selectedID); + string tooltip = null; + switch (metadataType) { + case MetadataType.TrafficAD: + tooltip = "Traffic reklám azonosító"; + break; + case MetadataType.TrafficMaterial: + tooltip = "Traffic műsor azonosító"; + break; + case MetadataType.TrafficPromo: + tooltip = "Traffic promó azonosító"; + break; + } SelectedMetadata = new MetadataInfo() { - Kind = GetTrafficMetadataType(selectedID), - Tooltip = "Epizod ID", + Kind = metadataType, + Tooltip = tooltip, ID = selectedID, VariantID = variantID }; - UpdateEditArchiveMetadataEnabled(); - UpdateDefineSegmentEnabled(); } private void UpdateEditArchiveMetadataEnabled() { -// ctxiModifyArchiveMetadata.Enabled = !String.IsNullOrEmpty(textSelectedMetadata.Text); - ctxiModifyArchiveMetadata.Enabled = true; + // ctxiModifyArchiveMetadata.Enabled = !String.IsNullOrEmpty(textSelectedMetadata.Text); + ctxiModifyArchiveMetadata.Enabled = SelectedSource != null && SelectedMetadata != null; } private void UpdateDefineSegmentEnabled() { - MetadataType[] validTypes = { MetadataType.TrafficAD, MetadataType.TrafficMaterial, MetadataType.TrafficPromo }; ctxiDefineSegments.Enabled = Configuration.Player != null && Configuration.Player.SegmentEditor && diff --git a/client/Maestro/MaestroForm.Source.cs b/client/Maestro/MaestroForm.Source.cs index 9322b1ac..e0f3958c 100644 --- a/client/Maestro/MaestroForm.Source.cs +++ b/client/Maestro/MaestroForm.Source.cs @@ -216,21 +216,24 @@ namespace Maestro { } private void buttonMetadata_Click(object sender, EventArgs e) { - switch (GetSourceType(SelectedSource?.Prefix)) { - case SourceIDType.TrafficID: - LookupTraffic(); + Cursor.Current = Cursors.WaitCursor; + MetadataType metadataType = GuessMetadataType(SelectedSource?.Prefix); + switch (metadataType) { + case MetadataType.TrafficMaterial: + case MetadataType.TrafficPromo: + case MetadataType.TrafficAD: + LookupTraffic(metadataType); break; - case SourceIDType.OctopusID: + case MetadataType.OctopusPlaceHolder: LookupOctopus(); break; } + Cursor.Current = Cursors.Default; } - private void LookupTraffic() { + private void LookupTraffic(MetadataType metadataType) { TrafficAPI api = trafficIDSelector.trafficAPI; - Cursor.Current = Cursors.WaitCursor; List result = null; - MetadataType metadataType = GetTrafficMetadataType(SelectedSource?.Prefix); switch (metadataType) { case MetadataType.TrafficMaterial: result = api.GetMaterials(SelectedSource?.Prefix, false); @@ -244,7 +247,6 @@ namespace Maestro { } if (result == null || result.Count == 0) { MessageBox.Show(this, StringResources.NINCS_TALALAT); - Cursor.Current = Cursors.Default; return; } if (result.Count == 1) { @@ -255,32 +257,32 @@ namespace Maestro { 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(SelectedSource?.Prefix); + // if (stories == null || stories.Count() == 0) { + // LookupOctopusMOS(); + // Cursor.Current = Cursors.Default; + // return; + // } + // List list = stories.ToList(); + // if (list.Count == 1) { + // UpdateEditArchiveMetadataEnabled(); + // textSelectedMetadata.Text = list[0].ID; + // octopusMetadataSelected?.Invoke(list[0].ID, null); + // } else { + // OctopusLookupResultSelector box = new OctopusLookupResultSelector(list, octopusMetadataSelected); + // box.ShowDialog(); + // } + // Cursor.Current = Cursors.Default; + //} + private void LookupOctopus() { OctopusAPI api = octopusIDSelector.GetClient(); - Cursor.Current = Cursors.WaitCursor; - IEnumerable stories = api.GetStoriesById(SelectedSource?.Prefix); - if (stories == null || stories.Count() == 0) { - LookupOctopusMOS(api); - Cursor.Current = Cursors.Default; - return; - } - List list = stories.ToList(); - if (list.Count == 1) { - UpdateEditArchiveMetadataEnabled(); - textSelectedMetadata.Text = list[0].ID; - octopusMetadataSelected?.Invoke(list[0].ID, null); - } else { - OctopusLookupResultSelector box = new OctopusLookupResultSelector(list, octopusMetadataSelected); - box.ShowDialog(); - } - Cursor.Current = Cursors.Default; - } - - private void LookupOctopusMOS(OctopusAPI api) { IEnumerable mosIDs = api.GetMosObjectsByID(SelectedSource?.Prefix); if (mosIDs == null) { MessageBox.Show(this, StringResources.NINCS_TALALAT); @@ -295,15 +297,15 @@ namespace Maestro { UpdateEditArchiveMetadataEnabled(); textSelectedMetadata.Text = list[0].ID; octopusMetadataSelected?.Invoke(list[0].ID, null); - //octopusIDSelector.IDSelectedFromOutside(list[0].ID); - return; + } else { + OctopusLookupResultSelector box = new OctopusLookupResultSelector(list, octopusMetadataSelected); + box.ShowDialog(); } - OctopusLookupResultSelector box = new OctopusLookupResultSelector(list, octopusMetadataSelected); - box.ShowDialog(); } private void UpdateLookupMetadataEnabled() { - buttonMetadata.Enabled = !String.IsNullOrEmpty(SelectedSource?.Prefix) && GetSourceType(SelectedSource?.Prefix) != SourceIDType.MediaCube; + MetadataType metadataType = GuessMetadataType(SelectedSource?.Prefix); + buttonMetadata.Enabled = !String.IsNullOrEmpty(SelectedSource?.Prefix) && metadataType != MetadataType.MediaCube && metadataType != MetadataType.None; } } diff --git a/client/Maestro/MaestroForm.Target.cs b/client/Maestro/MaestroForm.Target.cs index 61304216..bae458b5 100644 --- a/client/Maestro/MaestroForm.Target.cs +++ b/client/Maestro/MaestroForm.Target.cs @@ -105,7 +105,7 @@ namespace Maestro { } private bool EnsureSegments(Target target) { - if (target.SaveSegments && segments == null) { + if (target.SaveSegments && (segments == null || segments.Count == 0)) { if (selectedMetadata?.VariantID != null && selectedMetadata?.VariantID != 0) switch (selectedMetadata.Kind) { case MetadataType.TrafficMaterial: { @@ -176,16 +176,6 @@ namespace Maestro { }; } - private bool IsOffCheckAble(String text) { - List checkBoxes = new List(currentProcessors.Keys); - foreach (CheckBox actual in checkBoxes) { - Target target = actual.Tag as Target; - if (text.Equals(target.Reference)) - return false; - } - return true; - } - private void HandleCheckBoxReferences(string reference, bool check) { if (String.IsNullOrEmpty(reference)) return; @@ -209,14 +199,6 @@ namespace Maestro { return result; } - private void OnMetadataIDChanged(object sender, EventArgs e) { - UpdateProcessorButtonsEnabled(); - UpdateDefineSegmentEnabled(); - UpdateEditArchiveMetadataEnabled(); - UpdateLookupMetadataEnabled(); - archiveMetadata = null; - } - private void ChangeProcessButtonsState(bool enabled) { if (panelActions.Controls == null) return; diff --git a/client/Maestro/Metadata/IDTypes.cs b/client/Maestro/Metadata/IDTypes.cs deleted file mode 100644 index cd21a3f7..00000000 --- a/client/Maestro/Metadata/IDTypes.cs +++ /dev/null @@ -1,7 +0,0 @@ -namespace Maestro.Metadata { - public enum SourceIDType { - TrafficID = 1, - OctopusID = 2, - MediaCube = 0 - } -} diff --git a/client/Maestro/Metadata/MetadataType.cs b/client/Maestro/Metadata/MetadataType.cs index 19083e9e..184ae174 100644 --- a/client/Maestro/Metadata/MetadataType.cs +++ b/client/Maestro/Metadata/MetadataType.cs @@ -2,6 +2,6 @@ namespace Maestro.Metadata { public enum MetadataType { - None, OctopusStory, OctopusPlaceHolder, TrafficMaterial = TrafficMetadataType.TrafficMaterial, TrafficPromo = TrafficMetadataType.TrafficPromo, TrafficAD = TrafficMetadataType.TrafficAD + None, MediaCube, OctopusStory, OctopusPlaceHolder, TrafficMaterial = TrafficMetadataType.TrafficMaterial, TrafficPromo = TrafficMetadataType.TrafficPromo, TrafficAD = TrafficMetadataType.TrafficAD } } diff --git a/client/MediaCube.sln b/client/MediaCube.sln index 195b8e13..05a5e7a0 100644 --- a/client/MediaCube.sln +++ b/client/MediaCube.sln @@ -1,6 +1,6 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 15 -VisualStudioVersion = 15.0.26430.14 +VisualStudioVersion = 15.0.26430.15 MinimumVisualStudioVersion = 10.0.40219.1 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DxPlay", "DxPlay\DxPlay.csproj", "{0B44B3D7-52D7-4C0E-9B1C-F48CEEDA36FE}" EndProject @@ -48,8 +48,8 @@ Global {BAF3E174-5D82-40FA-9E62-8C76ADBEA1E4}.Debug|x86.Build.0 = Debug|x86 {BAF3E174-5D82-40FA-9E62-8C76ADBEA1E4}.Release|Any CPU.ActiveCfg = Release|Any CPU {BAF3E174-5D82-40FA-9E62-8C76ADBEA1E4}.Release|Any CPU.Build.0 = Release|Any CPU - {BAF3E174-5D82-40FA-9E62-8C76ADBEA1E4}.Release|x64.ActiveCfg = Release|Any CPU - {BAF3E174-5D82-40FA-9E62-8C76ADBEA1E4}.Release|x64.Build.0 = Release|Any CPU + {BAF3E174-5D82-40FA-9E62-8C76ADBEA1E4}.Release|x64.ActiveCfg = Release|x64 + {BAF3E174-5D82-40FA-9E62-8C76ADBEA1E4}.Release|x64.Build.0 = Release|x64 {BAF3E174-5D82-40FA-9E62-8C76ADBEA1E4}.Release|x86.ActiveCfg = Release|Any CPU {BAF3E174-5D82-40FA-9E62-8C76ADBEA1E4}.Release|x86.Build.0 = Release|Any CPU {CEFD0348-DED4-453E-BF3A-0B52F8890AB3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU @@ -60,8 +60,8 @@ Global {CEFD0348-DED4-453E-BF3A-0B52F8890AB3}.Debug|x86.Build.0 = Debug|x86 {CEFD0348-DED4-453E-BF3A-0B52F8890AB3}.Release|Any CPU.ActiveCfg = Release|Any CPU {CEFD0348-DED4-453E-BF3A-0B52F8890AB3}.Release|Any CPU.Build.0 = Release|Any CPU - {CEFD0348-DED4-453E-BF3A-0B52F8890AB3}.Release|x64.ActiveCfg = Release|Any CPU - {CEFD0348-DED4-453E-BF3A-0B52F8890AB3}.Release|x64.Build.0 = Release|Any CPU + {CEFD0348-DED4-453E-BF3A-0B52F8890AB3}.Release|x64.ActiveCfg = Release|x64 + {CEFD0348-DED4-453E-BF3A-0B52F8890AB3}.Release|x64.Build.0 = Release|x64 {CEFD0348-DED4-453E-BF3A-0B52F8890AB3}.Release|x86.ActiveCfg = Release|Any CPU {CEFD0348-DED4-453E-BF3A-0B52F8890AB3}.Release|x86.Build.0 = Release|Any CPU {8CC7C930-9DBF-487B-AED5-776937A649D5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU @@ -72,8 +72,8 @@ Global {8CC7C930-9DBF-487B-AED5-776937A649D5}.Debug|x86.Build.0 = Debug|x86 {8CC7C930-9DBF-487B-AED5-776937A649D5}.Release|Any CPU.ActiveCfg = Release|Any CPU {8CC7C930-9DBF-487B-AED5-776937A649D5}.Release|Any CPU.Build.0 = Release|Any CPU - {8CC7C930-9DBF-487B-AED5-776937A649D5}.Release|x64.ActiveCfg = Release|Any CPU - {8CC7C930-9DBF-487B-AED5-776937A649D5}.Release|x64.Build.0 = Release|Any CPU + {8CC7C930-9DBF-487B-AED5-776937A649D5}.Release|x64.ActiveCfg = Release|x64 + {8CC7C930-9DBF-487B-AED5-776937A649D5}.Release|x64.Build.0 = Release|x64 {8CC7C930-9DBF-487B-AED5-776937A649D5}.Release|x86.ActiveCfg = Release|Any CPU {8CC7C930-9DBF-487B-AED5-776937A649D5}.Release|x86.Build.0 = Release|Any CPU {4A61E975-F8DB-4BBF-BEFF-72FE67B2C08B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU @@ -84,8 +84,8 @@ Global {4A61E975-F8DB-4BBF-BEFF-72FE67B2C08B}.Debug|x86.Build.0 = Debug|x86 {4A61E975-F8DB-4BBF-BEFF-72FE67B2C08B}.Release|Any CPU.ActiveCfg = Release|Any CPU {4A61E975-F8DB-4BBF-BEFF-72FE67B2C08B}.Release|Any CPU.Build.0 = Release|Any CPU - {4A61E975-F8DB-4BBF-BEFF-72FE67B2C08B}.Release|x64.ActiveCfg = Release|Any CPU - {4A61E975-F8DB-4BBF-BEFF-72FE67B2C08B}.Release|x64.Build.0 = Release|Any CPU + {4A61E975-F8DB-4BBF-BEFF-72FE67B2C08B}.Release|x64.ActiveCfg = Release|x64 + {4A61E975-F8DB-4BBF-BEFF-72FE67B2C08B}.Release|x64.Build.0 = Release|x64 {4A61E975-F8DB-4BBF-BEFF-72FE67B2C08B}.Release|x86.ActiveCfg = Release|Any CPU {4A61E975-F8DB-4BBF-BEFF-72FE67B2C08B}.Release|x86.Build.0 = Release|Any CPU {616D8912-16A4-493B-BC45-53BF2A5D9B92}.Debug|Any CPU.ActiveCfg = Debug|Any CPU @@ -96,7 +96,8 @@ Global {616D8912-16A4-493B-BC45-53BF2A5D9B92}.Debug|x86.Build.0 = Debug|x86 {616D8912-16A4-493B-BC45-53BF2A5D9B92}.Release|Any CPU.ActiveCfg = Release|Any CPU {616D8912-16A4-493B-BC45-53BF2A5D9B92}.Release|Any CPU.Build.0 = Release|Any CPU - {616D8912-16A4-493B-BC45-53BF2A5D9B92}.Release|x64.ActiveCfg = Release|Any CPU + {616D8912-16A4-493B-BC45-53BF2A5D9B92}.Release|x64.ActiveCfg = Release|x64 + {616D8912-16A4-493B-BC45-53BF2A5D9B92}.Release|x64.Build.0 = Release|x64 {616D8912-16A4-493B-BC45-53BF2A5D9B92}.Release|x86.ActiveCfg = Release|x86 {616D8912-16A4-493B-BC45-53BF2A5D9B92}.Release|x86.Build.0 = Release|x86 {A7A21311-CB0E-465F-8AD6-829FAF093F00}.Debug|Any CPU.ActiveCfg = Debug|Any CPU @@ -107,8 +108,8 @@ Global {A7A21311-CB0E-465F-8AD6-829FAF093F00}.Debug|x86.Build.0 = Debug|x86 {A7A21311-CB0E-465F-8AD6-829FAF093F00}.Release|Any CPU.ActiveCfg = Release|Any CPU {A7A21311-CB0E-465F-8AD6-829FAF093F00}.Release|Any CPU.Build.0 = Release|Any CPU - {A7A21311-CB0E-465F-8AD6-829FAF093F00}.Release|x64.ActiveCfg = Release|Any CPU - {A7A21311-CB0E-465F-8AD6-829FAF093F00}.Release|x64.Build.0 = Release|Any CPU + {A7A21311-CB0E-465F-8AD6-829FAF093F00}.Release|x64.ActiveCfg = Release|x64 + {A7A21311-CB0E-465F-8AD6-829FAF093F00}.Release|x64.Build.0 = Release|x64 {A7A21311-CB0E-465F-8AD6-829FAF093F00}.Release|x86.ActiveCfg = Release|Any CPU {A7A21311-CB0E-465F-8AD6-829FAF093F00}.Release|x86.Build.0 = Release|Any CPU {8C51D508-1759-4C10-84A4-80965FD074FF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU @@ -119,8 +120,8 @@ Global {8C51D508-1759-4C10-84A4-80965FD074FF}.Debug|x86.Build.0 = Debug|Any CPU {8C51D508-1759-4C10-84A4-80965FD074FF}.Release|Any CPU.ActiveCfg = Release|Any CPU {8C51D508-1759-4C10-84A4-80965FD074FF}.Release|Any CPU.Build.0 = Release|Any CPU - {8C51D508-1759-4C10-84A4-80965FD074FF}.Release|x64.ActiveCfg = Release|Any CPU - {8C51D508-1759-4C10-84A4-80965FD074FF}.Release|x64.Build.0 = Release|Any CPU + {8C51D508-1759-4C10-84A4-80965FD074FF}.Release|x64.ActiveCfg = Release|x64 + {8C51D508-1759-4C10-84A4-80965FD074FF}.Release|x64.Build.0 = Release|x64 {8C51D508-1759-4C10-84A4-80965FD074FF}.Release|x86.ActiveCfg = Release|Any CPU {8C51D508-1759-4C10-84A4-80965FD074FF}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection diff --git a/client/OctopusClient/OctopusIDSelector.cs b/client/OctopusClient/OctopusIDSelector.cs index 2f1f6c2a..425250f8 100644 --- a/client/OctopusClient/OctopusIDSelector.cs +++ b/client/OctopusClient/OctopusIDSelector.cs @@ -68,7 +68,7 @@ namespace OctopusClient { HideCheckBox(treeOctopus, actualNode); MosObject[] mosObjects = story.MosObjects; foreach (MosObject mosObject in mosObjects) { - TreeNode node = actualNode.Nodes.Add(mosObject.ObjID, String.Format($"{mosObject.ObjID}")); + TreeNode node = actualNode.Nodes.Add(mosObject.ObjID, String.Format($"{mosObject.ID} {mosObject.ObjID}")); node.Tag = mosObject.ID; } } @@ -91,7 +91,7 @@ namespace OctopusClient { HideCheckBox(treeOctopus, actualNode); MosObject[] mosObjects = story.MosObjects; foreach (MosObject mosObject in mosObjects) { - TreeNode node = actualNode.Nodes.Add(mosObject.ObjID, String.Format($"{mosObject.ObjID}")); + TreeNode node = actualNode.Nodes.Add(mosObject.ObjID, String.Format($"{mosObject.ID} {mosObject.ObjID}")); node.Tag = mosObject.ID; } } diff --git a/client/PlanAIRClient/TrafficIDSelector.cs b/client/PlanAIRClient/TrafficIDSelector.cs index f717a45e..e125561d 100644 --- a/client/PlanAIRClient/TrafficIDSelector.cs +++ b/client/PlanAIRClient/TrafficIDSelector.cs @@ -131,7 +131,7 @@ namespace TrafficClient { } private void OnDataGridKeyDown(object sender, KeyEventArgs e) { - if (e.KeyCode == Keys.Space && dgTraffic.CurrentCell.GetType() != typeof(DataGridViewCheckBoxCell)) + if (e.KeyCode == Keys.Space && dgTraffic.CurrentCell.ColumnIndex != 0) OnSelectionChanged(dgTraffic.SelectedRows[0]); } }