From 183ce39cc377f7bfa2ff76f2e61ea9cfb7f428cf Mon Sep 17 00:00:00 2001 From: =?utf8?q?V=C3=A1s=C3=A1ry=20D=C3=A1niel?= Date: Thu, 23 Nov 2017 09:54:54 +0000 Subject: [PATCH] git-tfs-id: [http://tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube;C30757 --- client/IntegrationTests/MaestroIT.cs | 1 - client/IntegrationTests/PlanAIRTests.cs | 3 +- client/Maestro/MaestroForm.Metadata.cs | 55 ++++++--------- client/Maestro/MaestroForm.Source.cs | 1 - client/Maestro/MaestroForm.Target.cs | 27 ++++---- client/MaestroShared/MaestroShared.csproj | 13 ++-- client/MaestroShared/Metadata/MetadataType.cs | 6 +- .../Metadata/SegmentConverter.cs | 30 -------- client/MaestroShared/Metadata/Timecode.cs | 4 ++ .../Targets/TargetProcessorParameter.cs | 5 +- .../Targets/TargetUpdateTrafficMessage.cs | 12 ++++ .../Targets/UNCTargetProcessor.cs | 16 +++-- client/MaestroShared/packages.config | 1 + client/PlanAIRClient/Segment.cs | 8 --- client/PlanAIRClient/TrafficAPI.cs | 17 ++--- client/PlanAIRClient/TrafficClient.csproj | 8 ++- client/PlanAIRClient/Workers/SegmentWorker.cs | 69 ++++++++++--------- 17 files changed, 122 insertions(+), 154 deletions(-) delete mode 100644 client/MaestroShared/Metadata/SegmentConverter.cs create mode 100644 client/MaestroShared/Targets/TargetUpdateTrafficMessage.cs delete mode 100644 client/PlanAIRClient/Segment.cs diff --git a/client/IntegrationTests/MaestroIT.cs b/client/IntegrationTests/MaestroIT.cs index f0b67ccf..9c63ea2e 100644 --- a/client/IntegrationTests/MaestroIT.cs +++ b/client/IntegrationTests/MaestroIT.cs @@ -141,7 +141,6 @@ namespace IntegrationTests { TargetConfig = configuration, InputFileName = @"c:\tmp\watch\tcdrone.MXF", ID = "000000", - Segments = null, MediaCubeApi = null, ArchiveMetadata = null }; diff --git a/client/IntegrationTests/PlanAIRTests.cs b/client/IntegrationTests/PlanAIRTests.cs index e78e43c6..3999eb5f 100644 --- a/client/IntegrationTests/PlanAIRTests.cs +++ b/client/IntegrationTests/PlanAIRTests.cs @@ -1,6 +1,7 @@ using Microsoft.VisualStudio.TestTools.UnitTesting; using TrafficClient; using System.Collections.Generic; +using MaestroShared.Metadata; namespace IntegrationTests { [TestClass] @@ -24,7 +25,7 @@ namespace IntegrationTests { [TestMethod] public void GetSegmentReadyTest() { //Exercise - List actual = sut.GetMaterialSegments(ITEM_ID); + List actual = sut.GetMaterialSegments(ITEM_ID); //Verify Assert.IsTrue(actual.Count > 0); diff --git a/client/Maestro/MaestroForm.Metadata.cs b/client/Maestro/MaestroForm.Metadata.cs index 18a10c9e..0065614b 100644 --- a/client/Maestro/MaestroForm.Metadata.cs +++ b/client/Maestro/MaestroForm.Metadata.cs @@ -12,6 +12,7 @@ using MediaCubeClient; using Model; using MaestroShared.Configuration; using MaestroShared.Metadata; +using MaestroShared.Targets; namespace Maestro { public partial class MaestroForm { @@ -24,7 +25,6 @@ namespace Maestro { private const string REGEXP_OCTOPUSPLACEHOLDERVERSIONEDID = "^[0-9]+_[0-9]+-[0-9]{3}$"; private MetadataInfo selectedMetadata; - private List segments; private BindingList movieSegments; private MediaCubeApi mediaCubeApi; private ArchiveMetadata archiveMetadata; @@ -37,7 +37,7 @@ namespace Maestro { } set { selectedMetadata = value; - segments = null; + movieSegments = null; textSelectedMetadata.Text = value?.ID; ttMetadata.SetToolTip(textSelectedMetadata, GetMetadataTypeTooltip(value?.Kind)); } @@ -50,6 +50,12 @@ namespace Maestro { textSelectedMetadata.ReadOnly = !Configuration.EnableCustomMetadataId; UpdateDefineSegmentEnabled(); UpdateEditArchiveMetadataEnabled(); + + MessageBus.Subscribe(m => OnTargetUpdateTrafficMessage(m)); + } + + private void OnTargetUpdateTrafficMessage(TargetUpdateTrafficMessage message) { + trafficIDSelector.trafficAPI.UpdateTrafficInformation(message.VariantID, message.Ready, message.MetadataType, message.Segments); } private void InitializeTrafficSelector() { @@ -152,19 +158,27 @@ namespace Maestro { if (SelectedSource?.FileInfo == null) return; Cursor = Cursors.WaitCursor; - CreateEditableSegments(); + if (movieSegments == null || movieSegments.Count == 0) + QuerySegments(); + if (movieSegments == null) + movieSegments = new BindingList(); PlayerForm player = new PlayerForm(ref movieSegments); player.AutoStart = Configuration.Player.AutoStart; player.SegmentEditor = Configuration.Player.SegmentEditor; player.Open(SelectedSource.FileInfo); Cursor = Cursors.Default; player.ShowDialog(); - CreateSegments(movieSegments); UpdateDefineSegmentsStatus(); } + private void QuerySegments() { + List storedSegments = GetSegments(); + if (storedSegments != null && storedSegments.Count > 0) + movieSegments = new BindingList(storedSegments); + } + private void UpdateDefineSegmentsStatus() { - if(segments == null || segments.Count == 0) + if(movieSegments == null || movieSegments.Count == 0) btnDefineSegments.Image = Properties.Resources.ic_playlist_add_check_black_24dp_1x; else btnDefineSegments.Image = Properties.Resources.ic_playlist_add_check_black_24dp_1x_green; @@ -177,35 +191,9 @@ namespace Maestro { btnEditMetadata.Image = Properties.Resources.ic_receipt_black_24dp_1x_green; } - private void CreateSegments(BindingList movieSegments) { - if (movieSegments == null || movieSegments.Count == 0) { - segments = null; - return; - } - if (segments != null) - segments.Clear(); - foreach (MovieSegment actual in movieSegments) { - Segment actualSegment = segmentConverter.ConvertToSegment(actual); - if (segments == null) - segments = new List(); - segments.Add(actualSegment); - } - } - - private void CreateEditableSegments() { - if (segments == null) - segments = GetSegments(); - movieSegments = new BindingList(); - if (segments != null) { - foreach (Segment segment in segments) { - MovieSegment movieSegment = segmentConverter.ConvertToMovieSegment(segment); - movieSegments.Add(movieSegment); - } - } - } - private List GetSegments() { - List result = null; + private List GetSegments() { + List result = null; switch (selectedMetadata.Kind) { case MetadataType.TrafficMaterial: { result = trafficIDSelector.trafficAPI.GetMaterialSegments(selectedMetadata.VariantID); @@ -340,7 +328,6 @@ namespace Maestro { } } - segments = null; movieSegments = null; archiveMetadata = null; diff --git a/client/Maestro/MaestroForm.Source.cs b/client/Maestro/MaestroForm.Source.cs index 05abdfcb..e348ff35 100644 --- a/client/Maestro/MaestroForm.Source.cs +++ b/client/Maestro/MaestroForm.Source.cs @@ -34,7 +34,6 @@ namespace Maestro { } textSelectedSource.Text = selectedSource?.Name; archiveMetadata = null; - segments = null; movieSegments = null; UpdateProcessorButtonsEnabled(); UpdateDefineSegmentEnabled(); diff --git a/client/Maestro/MaestroForm.Target.cs b/client/Maestro/MaestroForm.Target.cs index 427a108b..6b8361d3 100644 --- a/client/Maestro/MaestroForm.Target.cs +++ b/client/Maestro/MaestroForm.Target.cs @@ -3,19 +3,16 @@ using System; using System.Linq; using System.Windows.Forms; using System.Collections.Generic; -using TrafficClient; using MaestroShared.Configuration; using MaestroShared.Metadata; using MaestroShared.Targets; using MaestroShared.Target; -using System.Diagnostics; +using System.ComponentModel; namespace Maestro { public partial class MaestroForm { - private SegmentConverter segmentConverter; - private void InitializeTarget() { btnExecute.Enabled = false; if (Configuration.Targets == null) @@ -29,7 +26,6 @@ namespace Maestro { } UpdateProcessorButtonsEnabled(); - segmentConverter = new SegmentConverter(); } private void CreateTarget(Target target) { @@ -102,24 +98,26 @@ namespace Maestro { private bool EnsureSegments(Target target) { - if ((target.SaveMorpheusMetadata || target.SaveSegments) && (segments == null || segments.Count == 0)) { - if (selectedMetadata?.VariantID != null && selectedMetadata?.VariantID != 0) - segments = GetSegments(); - if (segments == null) { + if ((target.SaveMorpheusMetadata || target.SaveSegments) && (movieSegments == null || movieSegments.Count == 0)) { + if (selectedMetadata?.VariantID != null && selectedMetadata?.VariantID != 0) { + List storedSegments = GetSegments(); + if (storedSegments != null && storedSegments.Count > 0) + movieSegments = new BindingList(storedSegments); + } + if (movieSegments == null) { MessageBox.Show(String.Format("A {0} folyamat nem futtatható szegmens adatok nélkül.", target.Label)); return false; } - CreateEditableSegments(); switch (selectedMetadata.Kind) { case MetadataType.TrafficPromo: { - if (segments.Count != 1) { + if (movieSegments.Count != 1) { MessageBox.Show(String.Format("Promó anyagnak csak egy szegmens adata lehet.")); return false; } break; } case MetadataType.TrafficAD: { - if (segments.Count != 1) { + if (movieSegments.Count != 1) { MessageBox.Show(String.Format("Reklám anyagnak csak egy szegmens adata lehet.")); return false; } @@ -152,19 +150,18 @@ namespace Maestro { private TargetProcessorParameter CreateProcessorParameter(Target target, ISourceItem sourceItem) { return new TargetProcessorParameter() { - TrafficApi = trafficIDSelector.trafficAPI, MediaCubeApi = mediaCubeApi, SourceConfig = Configuration.Source, TargetConfig = target, ID = textSelectedMetadata.Text, MetadataText = SelectedMetadata?.MetadataText, InputFileName = sourceItem.Name, - Segments = segments == null ? null : new List(segments), MovieSegments = movieSegments == null ? null : movieSegments.ToList(), ArchiveMetadata = ArchiveMetadata.DeepClone(archiveMetadata), VariantID = selectedMetadata == null ? 0 : selectedMetadata.VariantID, MetadataKind = selectedMetadata == null ? MetadataType.None : selectedMetadata.Kind, - UserName = TrayApplicationContext.UserName + UserName = TrayApplicationContext.UserName, + MessageBus = MessageBus }; } diff --git a/client/MaestroShared/MaestroShared.csproj b/client/MaestroShared/MaestroShared.csproj index e7f1955c..d0282625 100644 --- a/client/MaestroShared/MaestroShared.csproj +++ b/client/MaestroShared/MaestroShared.csproj @@ -55,6 +55,9 @@ ..\packages\FluentFTP.19.1.2\lib\net45\FluentFTP.dll + + ..\packages\LinkDotNet.MessageBus.Contracts.0.1.1\lib\LinkDotNet.MessageHandling.Contracts.dll + ..\packages\Newtonsoft.Json.10.0.3\lib\net45\Newtonsoft.Json.dll @@ -93,9 +96,9 @@ - + @@ -106,18 +109,10 @@ {cefd0348-ded4-453e-bf3a-0b52f8890ab3} MediaCubeClient - - {8cc7c930-9dbf-487b-aed5-776937a649d5} - OctopusClient - {8c51d508-1759-4c10-84a4-80965fd074ff} PasswordEncrypter - - {a7a21311-cb0e-465f-8ad6-829faf093f00} - TrafficClient - \ No newline at end of file diff --git a/client/MaestroShared/Metadata/MetadataType.cs b/client/MaestroShared/Metadata/MetadataType.cs index 5d54ef7a..537457e3 100644 --- a/client/MaestroShared/Metadata/MetadataType.cs +++ b/client/MaestroShared/Metadata/MetadataType.cs @@ -1,7 +1,5 @@ -using TrafficClient; - -namespace MaestroShared.Metadata { +namespace MaestroShared.Metadata { public enum MetadataType { - None = 6, MediaCube = 5, OctopusStory = 4, OctopusPlaceHolder = 3, TrafficMaterial = TrafficMetadataType.TrafficMaterial, TrafficPromo = TrafficMetadataType.TrafficPromo, TrafficAD = TrafficMetadataType.TrafficAD + None, MediaCube, OctopusStory, OctopusPlaceHolder, TrafficMaterial, TrafficPromo, TrafficAD } } diff --git a/client/MaestroShared/Metadata/SegmentConverter.cs b/client/MaestroShared/Metadata/SegmentConverter.cs deleted file mode 100644 index 1f631ac2..00000000 --- a/client/MaestroShared/Metadata/SegmentConverter.cs +++ /dev/null @@ -1,30 +0,0 @@ -using TrafficClient; - -namespace MaestroShared.Metadata { - public class SegmentConverter { - - public MovieSegment ConvertToMovieSegment(Segment source) { - Timecode tcIn = new Timecode(); - Timecode tcOut = new Timecode(); - tcIn.Set((int)source.TCIn); - tcOut.Set((int)source.TCOut); - MovieSegment result = new MovieSegment() { - Comment = source.Comment, - Optional = source.Optional, - TCIn = tcIn, - TCOut = tcOut - }; - return result; - } - - public Segment ConvertToSegment(MovieSegment source) { - Segment result = new Segment() { - Comment = source.Comment, - Optional = source.Optional, - TCIn = source.TCIn.Frames, - TCOut = source.TCOut.Frames - }; - return result; - } - } -} diff --git a/client/MaestroShared/Metadata/Timecode.cs b/client/MaestroShared/Metadata/Timecode.cs index 6d92c1f1..506ca690 100644 --- a/client/MaestroShared/Metadata/Timecode.cs +++ b/client/MaestroShared/Metadata/Timecode.cs @@ -11,6 +11,10 @@ namespace MaestroShared.Metadata { } + public Timecode(long frames) : this() { + Set(frames); + } + public Timecode(Timecode tc) { if (tc == null) return; diff --git a/client/MaestroShared/Targets/TargetProcessorParameter.cs b/client/MaestroShared/Targets/TargetProcessorParameter.cs index d7860313..e60d1ff2 100644 --- a/client/MaestroShared/Targets/TargetProcessorParameter.cs +++ b/client/MaestroShared/Targets/TargetProcessorParameter.cs @@ -1,8 +1,8 @@ using System.Collections.Generic; -using TrafficClient; using MediaCubeClient; using MaestroShared.Configuration; using MaestroShared.Metadata; +using LinkDotNet.MessageHandling.Contracts; namespace MaestroShared.Target { public class TargetProcessorParameter { @@ -11,13 +11,12 @@ namespace MaestroShared.Target { public string InputFileName { get; set; } public string ID { get; set; } public string MetadataText { get; set; } - public List Segments { get; set; } public List MovieSegments { get; set; } public MediaCubeApi MediaCubeApi { get; set; } public ArchiveMetadata ArchiveMetadata { get; set; } - public TrafficAPI TrafficApi { get; set; } public int VariantID { get; set; } public MetadataType MetadataKind { get; set; } public string UserName { get; set; } + public IMessageBus MessageBus { get; set; } } } diff --git a/client/MaestroShared/Targets/TargetUpdateTrafficMessage.cs b/client/MaestroShared/Targets/TargetUpdateTrafficMessage.cs new file mode 100644 index 00000000..e5fb23be --- /dev/null +++ b/client/MaestroShared/Targets/TargetUpdateTrafficMessage.cs @@ -0,0 +1,12 @@ +using LinkDotNet.MessageHandling.Contracts; +using MaestroShared.Metadata; +using System.Collections.Generic; + +namespace MaestroShared.Targets { + public class TargetUpdateTrafficMessage : IMessage { + public int VariantID { get; set; } + public bool Ready { get; set; } + public MetadataType MetadataType { get; set; } + public List Segments { get; set; } + } +} diff --git a/client/MaestroShared/Targets/UNCTargetProcessor.cs b/client/MaestroShared/Targets/UNCTargetProcessor.cs index 33038f92..94a054aa 100644 --- a/client/MaestroShared/Targets/UNCTargetProcessor.cs +++ b/client/MaestroShared/Targets/UNCTargetProcessor.cs @@ -2,7 +2,6 @@ using System; using System.IO; using System.Windows.Forms; -using TrafficClient; using Model; using System.Text; using System.Globalization; @@ -161,15 +160,24 @@ namespace MaestroShared.Targets { CreateArchiveMetadata(); if (Parameters.TargetConfig.SaveMorpheusMetadata && Parameters.ArchiveMetadata != null && Parameters.MovieSegments != null && Parameters.MovieSegments.Count > 0) UploadMorpheusMetadata(); - if (Parameters.TargetConfig.SaveSegments && Parameters.Segments != null) - Parameters.TrafficApi.UpdateTrafficInformation(Parameters.VariantID, true, (TrafficMetadataType)Parameters.MetadataKind, Parameters.Segments); - + if (Parameters.TargetConfig.SaveSegments && Parameters.MovieSegments != null) + UpdateTrafficInformation(); if (Parameters.TargetConfig.SendEmailOnSuccess && !String.IsNullOrEmpty(Parameters.TargetConfig.SuccessEmailRecipient) && !String.IsNullOrEmpty(Parameters.TargetConfig.SuccessEmailPattern)) SendEmail(Parameters.TargetConfig.SuccessEmailRecipient, Parameters.TargetConfig.SuccessEmailPattern); Status = READY; Message = SUCCESS; } + private void UpdateTrafficInformation() { + TargetUpdateTrafficMessage message = new TargetUpdateTrafficMessage { + VariantID = Parameters.VariantID, + Ready = true, + MetadataType = Parameters.MetadataKind, + Segments = Parameters.MovieSegments + }; + + } + private void UploadNexioMetadata() { String xml = null; string name = GetOutputName(); diff --git a/client/MaestroShared/packages.config b/client/MaestroShared/packages.config index 19cd1669..da5b7eff 100644 --- a/client/MaestroShared/packages.config +++ b/client/MaestroShared/packages.config @@ -1,6 +1,7 @@  + \ No newline at end of file diff --git a/client/PlanAIRClient/Segment.cs b/client/PlanAIRClient/Segment.cs deleted file mode 100644 index 980935fc..00000000 --- a/client/PlanAIRClient/Segment.cs +++ /dev/null @@ -1,8 +0,0 @@ -namespace TrafficClient { - public class Segment { - public long TCIn { get; set; } - public long TCOut { get; set; } - public bool Optional { get; set; } - public string Comment { get; set; } - } -} diff --git a/client/PlanAIRClient/TrafficAPI.cs b/client/PlanAIRClient/TrafficAPI.cs index 12da38af..e4915e15 100644 --- a/client/PlanAIRClient/TrafficAPI.cs +++ b/client/PlanAIRClient/TrafficAPI.cs @@ -5,6 +5,7 @@ using System.Data.SqlClient; using NLog; using TrafficClient.Workers; using LinkDotNet.MessageHandling.Contracts; +using MaestroShared.Metadata; namespace TrafficClient { public class TrafficAPI { @@ -36,23 +37,23 @@ namespace TrafficClient { return materialWorker.GetMaterialArchiveMetadata(strParam); } - public void UpdateTrafficInformation(int itemID, bool ready, TrafficMetadataType kind, List segments) { + public void UpdateTrafficInformation(int itemID, bool ready, MetadataType kind, List segments) { switch (kind) { - case TrafficMetadataType.TrafficMaterial: { + case MetadataType.TrafficMaterial: { materialWorker.SetMaterialOK(itemID, false); segmentWorker.DeleteMaterialSegments(itemID); - foreach (Segment actualSegment in segments) + foreach (MovieSegment actualSegment in segments) segmentWorker.AddMaterialSegment(itemID, actualSegment); materialWorker.SetMaterialOK(itemID, ready); break; } - case TrafficMetadataType.TrafficAD: { + case MetadataType.TrafficAD: { if (segments != null && segments.Count == 1) segmentWorker.AddADSegment(itemID, segments[0]); adWorker.SetADOK(itemID, true); break; } - case TrafficMetadataType.TrafficPromo: { + case MetadataType.TrafficPromo: { promoWorker.SetPromoOK(itemID, true); if (segments != null && segments.Count == 1) segmentWorker.AddPromoSegment(itemID, segments[0]); @@ -77,15 +78,15 @@ namespace TrafficClient { return adWorker.GetADArchiveMetadata(strParam); } - public List GetMaterialSegments(int itemID) { + public List GetMaterialSegments(int itemID) { return segmentWorker.GetMaterialSegments(itemID); } - public List GetPromoSegments(string strParam) { + public List GetPromoSegments(string strParam) { return segmentWorker.GetPromoSegments(strParam); } - public List GetADSegments(string strParam) { + public List GetADSegments(string strParam) { return segmentWorker.GetADSegments(strParam); } diff --git a/client/PlanAIRClient/TrafficClient.csproj b/client/PlanAIRClient/TrafficClient.csproj index e0678caf..6c7966ac 100644 --- a/client/PlanAIRClient/TrafficClient.csproj +++ b/client/PlanAIRClient/TrafficClient.csproj @@ -112,7 +112,6 @@ TrafficLookupResultSelector.cs - TrafficClasses.dbml @@ -177,6 +176,11 @@ TrafficIDSelector.cs - + + + {d4417174-f21e-4ce2-ae5c-8eb30c9a9625} + MaestroShared + + \ No newline at end of file diff --git a/client/PlanAIRClient/Workers/SegmentWorker.cs b/client/PlanAIRClient/Workers/SegmentWorker.cs index f96b2224..b986d1f3 100644 --- a/client/PlanAIRClient/Workers/SegmentWorker.cs +++ b/client/PlanAIRClient/Workers/SegmentWorker.cs @@ -4,6 +4,7 @@ using System.Data; using System.Data.SqlClient; using NLog; using LinkDotNet.MessageHandling.Contracts; +using MaestroShared.Metadata; namespace TrafficClient.Workers { public class SegmentWorker : TrafficWorker { @@ -14,31 +15,31 @@ namespace TrafficClient.Workers { base(connection, cliFSPReader, messageBus) { } - 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 MovieSegment ToSegment(clIFsp_EC_MAMPromotionalResult item) { + return new MovieSegment() { + TCIn = item.t_TcIn.HasValue ? new Timecode(item.t_TcIn.Value) : new Timecode(), + TCOut = item.t_TcOut.HasValue ? new Timecode(item.t_TcOut.Value) : new Timecode(), }; } - 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, + private MovieSegment ToSegment(clIFsp_EC_SegmentResult item) { + return new MovieSegment() { + TCIn = item.v_TcIn.HasValue ? new Timecode(item.v_TcIn.Value) : new Timecode(), + TCOut = item.v_TcOut.HasValue ? new Timecode(item.v_TcOut.Value) : new Timecode(), 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 + private MovieSegment ToSegment(clIFsp_EC_MAMAdvertismentResult item) { + return new MovieSegment() { + TCIn = item.t_TcIn.HasValue ? new Timecode(item.t_TcIn.Value) : new Timecode(), + TCOut = item.t_TcOut.HasValue ? new Timecode(item.t_TcOut.Value) : new Timecode() }; } - public List GetMaterialSegments(int itemID) { - List result = null; + public List GetMaterialSegments(int itemID) { + List result = null; try { TryConnect(); using (SqlCommand cmd = new SqlCommand("dbo.clIFsp_EC_MAM", connection)) { @@ -49,7 +50,7 @@ namespace TrafficClient.Workers { using (SqlDataReader reader = cmd.ExecuteReader()) { while (reader.Read()) { if (result == null) - result = new List(); + result = new List(); clIFsp_EC_SegmentResult item = cliFSPReader.ToclIFsp_SegmentResult(reader); result.Add(ToSegment(item)); } @@ -106,7 +107,7 @@ namespace TrafficClient.Workers { } } - public void AddMaterialSegment(int itemID, Segment segment) { + public void AddMaterialSegment(int itemID, MovieSegment segment) { object comment = segment.Comment; if (String.IsNullOrEmpty(segment.Comment)) comment = DBNull.Value; @@ -117,8 +118,8 @@ namespace TrafficClient.Workers { 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("@@IntParam1", segment.TCIn.Frames); + cmd.Parameters.AddWithValue("@@IntParam2", segment.TCOut.Frames); cmd.Parameters.AddWithValue("@@StrParam1", comment); cmd.Parameters.AddWithValue("@@StrParam2", DBNull.Value); cmd.Parameters.AddWithValue("@@@Options", optionalParam); @@ -133,7 +134,7 @@ namespace TrafficClient.Workers { } } - public void AddADSegment(int itemID, Segment segment) { + public void AddADSegment(int itemID, MovieSegment segment) { object comment = segment.Comment; if (String.IsNullOrEmpty(segment.Comment)) comment = DBNull.Value; @@ -145,8 +146,8 @@ namespace TrafficClient.Workers { cmd.Parameters.AddWithValue("@Operation", 3100); 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("@@IntParam1", segment.TCIn.Frames); + cmd.Parameters.AddWithValue("@@IntParam2", segment.TCOut.Frames); cmd.Parameters.AddWithValue("@@StrParam1", comment); cmd.ExecuteNonQuery(); } @@ -159,7 +160,7 @@ namespace TrafficClient.Workers { } } - public void AddPromoSegment(int itemID, Segment segment) { + public void AddPromoSegment(int itemID, MovieSegment segment) { object comment = segment.Comment; if (String.IsNullOrEmpty(segment.Comment)) comment = DBNull.Value; @@ -171,8 +172,8 @@ namespace TrafficClient.Workers { cmd.Parameters.AddWithValue("@Operation", 2100); 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("@@IntParam1", segment.TCIn.Frames); + cmd.Parameters.AddWithValue("@@IntParam2", segment.TCOut.Frames); cmd.Parameters.AddWithValue("@@StrParam2", comment); cmd.ExecuteNonQuery(); } @@ -185,8 +186,8 @@ namespace TrafficClient.Workers { } } - public List GetPromoSegments(string strParam) { - List result = null; + public List GetPromoSegments(string strParam) { + List result = null; try { TryConnect(); using (SqlCommand cmd = new SqlCommand("dbo.clIFsp_EC_MAM", connection)) { @@ -198,11 +199,11 @@ namespace TrafficClient.Workers { using (SqlDataReader reader = cmd.ExecuteReader()) { while (reader.Read()) { if (result == null) - result = new List(); + result = new List(); clIFsp_EC_MAMPromotionalResult item = cliFSPReader.ToclIFsp_MAMPromotionalResult(reader); - Segment segment = ToSegment(item); - if (segment.TCOut != 0) + MovieSegment segment = ToSegment(item); + if (segment.TCOut.Frames != 0) result.Add(segment); } } @@ -217,8 +218,8 @@ namespace TrafficClient.Workers { return result; } - public List GetADSegments(string strParam) { - List result = null; + public List GetADSegments(string strParam) { + List result = null; try { TryConnect(); using (SqlCommand cmd = new SqlCommand("dbo.clIFsp_EC_MAM", connection)) { @@ -230,10 +231,10 @@ namespace TrafficClient.Workers { using (SqlDataReader reader = cmd.ExecuteReader()) { while (reader.Read()) { if (result == null) - result = new List(); + result = new List(); clIFsp_EC_MAMAdvertismentResult item = cliFSPReader.ToclIFsp_MAMAdvertisementResult(reader); - Segment segment = ToSegment(item); - if (segment.TCOut != 0) + MovieSegment segment = ToSegment(item); + if (segment.TCOut.Frames != 0) result.Add(segment); } } -- 2.54.0