git-tfs-id: [http://tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube...
authorVásáry Dániel <daniel.vasary@userrendszerhaz.hu>
Wed, 18 Oct 2017 14:05:12 +0000 (14:05 +0000)
committerVásáry Dániel <daniel.vasary@userrendszerhaz.hu>
Wed, 18 Oct 2017 14:05:12 +0000 (14:05 +0000)
client/Maestro/MaestroForm.Metadata.cs
client/Maestro/MaestroForm.Target.cs
client/Maestro/Targets/UNCTargetProcessor.cs

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