\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
};\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
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
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
\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
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
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
}\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