From: Vásáry Dániel Date: Wed, 18 Oct 2017 14:05:12 +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=806cdab878a8edf59d9ba2b812384988fded9e78;p=mediacube.git git-tfs-id: [tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube;C30645 --- diff --git a/client/Maestro/MaestroForm.Metadata.cs b/client/Maestro/MaestroForm.Metadata.cs index b980d1b0..5d7da90c 100644 --- a/client/Maestro/MaestroForm.Metadata.cs +++ b/client/Maestro/MaestroForm.Metadata.cs @@ -88,15 +88,16 @@ namespace Maestro { private IDTypes GetSelectedMetadataType() { IDTypes result = IDTypes.None; - if (String.IsNullOrEmpty(selectedMetadata.ID)) + string id = textSelectedMetadata.Text; + if (String.IsNullOrEmpty(id)) return IDTypes.None; string pattern = "[A-Z]{1}[0-9]{6}[A-Z]{1}"; - Match match = Regex.Match(selectedMetadata.ID, pattern); + Match match = Regex.Match(id, pattern); if (match.Success) { result = IDTypes.TrafficID; } else { pattern = "^[0-9]+$"; - match = Regex.Match(selectedMetadata.ID, pattern); + match = Regex.Match(id, pattern); result = match.Success ? IDTypes.OctopusID : IDTypes.None; } return result; @@ -146,5 +147,95 @@ namespace Maestro { }; // EnableArchiveMetadataButtonAndCreateMetadataModel(); } + + private void EnableArchiveMetadataButtonAndCreateMetadataModel() { + ctxiModifyArchiveMetadata.Enabled = selectedMetadata != null; + if (ctxiModifyArchiveMetadata.Enabled) { + archiveMetadata = GetArchiveMetadata(); + } else + archiveMetadata = null; + } + + private ArchiveMetadata GetArchiveMetadata() { + ArchiveMetadata result = null; + Cursor.Current = Cursors.WaitCursor; + IDTypes idType = GetSelectedMetadataType(); + if (idType == IDTypes.OctopusID) + result = GetOctopusMetadata(); + else //if (idType == IDTypes.TrafficID) + result = GetTrafficMetadata(); + Cursor.Current = Cursors.Default; + return result; + } + + private ArchiveMetadata GetTrafficMetadata() { + string id = textSelectedMetadata.Text; + if (String.IsNullOrEmpty(id)) + return null; + TrafficAPI api = trafficIDSelector.trafficAPI; + List trafficResult = null; + if (id.StartsWith("M")) + trafficResult = api.GetBroadcastArchiveMetadata(id); + else if (id.StartsWith("P")) + trafficResult = api.GetPromotionalArchiveMetadata(id); + else if (id.StartsWith("R")) + trafficResult = api.GetAdvertisementArchiveMetadata(id); + if (trafficResult == null) + return null; + ArchiveMetadata result = new ArchiveMetadata(); + ArchiveMatadataWrapper actualResult = trafficResult[0]; + result.itemHouseId = actualResult.ProgID; + result.itemTitle = actualResult.ProgTitle; + result.itemDescription = actualResult.ProgDescription; + result.mediaHouseId = actualResult.EpisodeID; + result.mediaTitle = !String.IsNullOrEmpty(actualResult.EpisodeTitle) ? actualResult.EpisodeTitle : actualResult.ProgTitle; + result.mediaDescription = actualResult.EpisodeDescription; + return result; + } + + private ArchiveMetadata GetOctopusMetadata() { + ArchiveMetadata result = new ArchiveMetadata(); + string id = textSelectedMetadata.Text; + OctopusAPI api = octopusIDSelector.GetClient(); + IEnumerable storyEnum = api.GetStoriesById(id); + if (storyEnum != null) + FillModelFromStories(result, storyEnum.ToList(), api); + else { + IEnumerable storiesEnum = api.GetStoriesByPlaceHolderId(id); + if (storiesEnum != null) { + List stories = storiesEnum.ToList(); + FillModelFromStories(result, stories, api); + } + } + return result; + } + + private void FillModelFromStories(ArchiveMetadata model, List stories, OctopusAPI api) { + if (stories == null || stories.Count == 0) + return; + Story story = stories[0]; + if (story.StoryFolders != null) { + IEnumerable storyFoldersEnum = api.GetStoryFoldersByStoryID(story.ID); + if (storyFoldersEnum == null) + return; + List storyFolders = storyFoldersEnum.ToList(); + StoryFolder folder = storyFolders[0]; + model.itemHouseId = folder.ID; + model.itemTitle = folder.Name; + } else if (story.Rundowns != null) { + IEnumerable rundownsEnum = api.GetRundownsByStoryID(story.ID); + if (rundownsEnum == null) + return; + List rundowns = rundownsEnum.ToList(); + Rundown rundown = rundowns[0]; + model.itemHouseId = rundown.ID; + model.itemTitle = rundown.Name; + model.itemDescription = rundown.Start; + } + model.mediaHouseId = story.ID; + model.mediaTitle = story.Name; + model.mediaDescription = story.Script; + } + } } diff --git a/client/Maestro/MaestroForm.Target.cs b/client/Maestro/MaestroForm.Target.cs index 17b1f669..39b1348f 100644 --- a/client/Maestro/MaestroForm.Target.cs +++ b/client/Maestro/MaestroForm.Target.cs @@ -8,10 +8,7 @@ using Maestro.Metadata; using System.Collections.Generic; using System.Text.RegularExpressions; using TrafficClient; -using OctopusClient; using JobEngineClient; -using DxPlay; -using System.ComponentModel; namespace Maestro { @@ -23,7 +20,7 @@ namespace Maestro { public List Segments { get; set; } public MediaCubeApi MediaCubeApi { get; set; } public ArchiveMetadata ArchiveMetadata { get; set; } - public TrafficAPI Client { get; set; } + public TrafficAPI TrafficApi { get; set; } public int VariantID { get; set; } } @@ -133,14 +130,14 @@ namespace Maestro { private TargetProcessorParameter CreateProcessorParameter(Target target, ISourceItem sourceItem) { return new TargetProcessorParameter() { - ArchiveMetadata = ArchiveMetadata.DeepClone(archiveMetadata), - Client = trafficIDSelector.trafficAPI, - ID = textSelectedMetadata.Text, - InputFileName = sourceItem.Name, + TrafficApi = trafficIDSelector.trafficAPI, MediaCubeApi = mediaCubeApi, - Segments = segments == null ? null : new List(segments), SourceConfig = Configuration.Source, TargetConfig = target, + ID = textSelectedMetadata.Text, + InputFileName = sourceItem.Name, + Segments = segments == null ? null : new List(segments), + ArchiveMetadata = ArchiveMetadata.DeepClone(archiveMetadata), VariantID = selectedMetadata == null ? 0 : selectedMetadata.VariantID }; } @@ -221,94 +218,6 @@ namespace Maestro { EnableArchiveMetadataButtonAndCreateMetadataModel(); } - private void EnableArchiveMetadataButtonAndCreateMetadataModel() { - ctxiModifyArchiveMetadata.Enabled = selectedMetadata != null; - if (ctxiModifyArchiveMetadata.Enabled) { - archiveMetadata = GetArchiveMetadata(); - } else - archiveMetadata = null; - } - - private ArchiveMetadata GetArchiveMetadata() { - ArchiveMetadata result = null; - Cursor.Current = Cursors.WaitCursor; - IDTypes idType = GetSelectedMetadataType(); - if (idType == IDTypes.OctopusID) - result = GetOctopusMetadata(); - else //if (idType == IDTypes.TrafficID) - result = GetTrafficMetadata(); - Cursor.Current = Cursors.Default; - return result; - } - - private ArchiveMetadata GetTrafficMetadata() { - string id = selectedMetadata.ID; - if (id == null) - return null; - TrafficAPI api = trafficIDSelector.trafficAPI; - List trafficResult = null; - if (id.StartsWith("M")) - trafficResult = api.GetBroadcastArchiveMetadata(id); - else if (id.StartsWith("P")) - trafficResult = api.GetPromotionalArchiveMetadata(id); - else if (id.StartsWith("R")) - trafficResult = api.GetAdvertisementArchiveMetadata(id); - if (trafficResult == null) - return null; - ArchiveMetadata result = new ArchiveMetadata(); - ArchiveMatadataWrapper actualResult = trafficResult[0]; - result.itemHouseId = actualResult.ProgID; - result.itemTitle = actualResult.ProgTitle; - result.itemDescription = actualResult.ProgDescription; - result.mediaHouseId = actualResult.EpisodeID; - result.mediaTitle = !String.IsNullOrEmpty(actualResult.EpisodeTitle) ? actualResult.EpisodeTitle : actualResult.ProgTitle; - result.mediaDescription = actualResult.EpisodeDescription; - return result; - } - - private ArchiveMetadata GetOctopusMetadata() { - ArchiveMetadata result = new ArchiveMetadata(); - string id = selectedMetadata.ID; - OctopusAPI api = octopusIDSelector.GetClient(); - IEnumerable storyEnum = api.GetStoriesById(id); - if (storyEnum != null) - FillModelFromStories(result, storyEnum.ToList(), api); - else { - IEnumerable storiesEnum = api.GetStoriesByPlaceHolderId(id); - if (storiesEnum != null) { - List stories = storiesEnum.ToList(); - FillModelFromStories(result, stories, api); - } - } - return result; - } - - private void FillModelFromStories(ArchiveMetadata model, List stories, OctopusAPI api) { - if (stories == null || stories.Count == 0) - return; - Story story = stories[0]; - if (story.StoryFolders != null) { - IEnumerable storyFoldersEnum = api.GetStoryFoldersByStoryID(story.ID); - if (storyFoldersEnum == null) - return; - List storyFolders = storyFoldersEnum.ToList(); - StoryFolder folder = storyFolders[0]; - model.itemHouseId = folder.ID; - model.itemTitle = folder.Name; - } else if (story.Rundowns != null) { - IEnumerable rundownsEnum = api.GetRundownsByStoryID(story.ID); - if (rundownsEnum == null) - return; - List rundowns = rundownsEnum.ToList(); - Rundown rundown = rundowns[0]; - model.itemHouseId = rundown.ID; - model.itemTitle = rundown.Name; - model.itemDescription = rundown.Start; - } - model.mediaHouseId = story.ID; - model.mediaTitle = story.Name; - model.mediaDescription = story.Script; - } private void IsSelectedFileAnID() { IDType = IDTypes.None; diff --git a/client/Maestro/Targets/UNCTargetProcessor.cs b/client/Maestro/Targets/UNCTargetProcessor.cs index 6fa28f5b..dbfc6917 100644 --- a/client/Maestro/Targets/UNCTargetProcessor.cs +++ b/client/Maestro/Targets/UNCTargetProcessor.cs @@ -102,9 +102,9 @@ namespace Maestro.Targets { if (parameters.TargetConfig.CreateMetadata && parameters.ArchiveMetadata != null) CreateMetadata(); if (parameters.TargetConfig.SaveSegments && parameters.Segments != null) { - parameters.Client.BroadcastOKForAir(parameters.VariantID, false); + parameters.TrafficApi.BroadcastOKForAir(parameters.VariantID, false); SaveSegments(); - parameters.Client.BroadcastOKForAir(parameters.VariantID, true); + parameters.TrafficApi.BroadcastOKForAir(parameters.VariantID, true); } if (parameters.TargetConfig.SendEmailOnSuccess && !String.IsNullOrEmpty(parameters.TargetConfig.SuccessEmailRecipient) && !String.IsNullOrEmpty(parameters.TargetConfig.SuccessEmailPattern)) SendEmail(parameters.TargetConfig.SuccessEmailRecipient, parameters.TargetConfig.SuccessEmailPattern); @@ -137,9 +137,9 @@ namespace Maestro.Targets { } private void SaveSegments() { - parameters.Client.DeleteSegments(parameters.VariantID); + parameters.TrafficApi.DeleteSegments(parameters.VariantID); foreach (Segment actual in parameters.Segments) { - parameters.Client.AddSegmentToCopia(parameters.VariantID, actual.Comment, actual.TCIn, actual.TCOut, actual.Optional); + parameters.TrafficApi.AddSegmentToCopia(parameters.VariantID, actual.Comment, actual.TCIn, actual.TCOut, actual.Optional); } }