git-tfs-id: [http://tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube...
authorBellai Ádám <USER\adam.bellai>
Thu, 5 Oct 2017 15:04:19 +0000 (15:04 +0000)
committerBellai Ádám <USER\adam.bellai>
Thu, 5 Oct 2017 15:04:19 +0000 (15:04 +0000)
client/DxPlay/PlayerForm.Designer.cs
client/DxPlay/PlayerForm.cs
client/Maestro/MaestroForm.Designer.cs
client/Maestro/MaestroForm.Metadata.cs
client/Maestro/MaestroForm.Target.cs
client/Maestro/MaestroForm.cs
client/Maestro/Targets/UNCTargetProcessor.cs
client/PlanAIRClient/TrafficAPI.cs

index 5c8a8f6ae88e727196392b93888e94e56fe6b334..d1875909056fd38560124e2b6d9f17f7e6c267b3 100644 (file)
@@ -61,8 +61,8 @@ namespace DxPlay {
             this.defineOneSegmentToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\r
             this.splitSegmentAtCurrentPositionToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\r
             this.deleteSegmentToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\r
-            this.actualPositionToIntroToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();\r
-            this.actualPositionToOutroToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();\r
+            this.actualPositionToIntroToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\r
+            this.actualPositionToOutroToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\r
             this.panel2.SuspendLayout();\r
             this.panel3.SuspendLayout();\r
             ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();\r
@@ -319,45 +319,45 @@ namespace DxPlay {
             this.defineOneSegmentToolStripMenuItem,\r
             this.splitSegmentAtCurrentPositionToolStripMenuItem,\r
             this.deleteSegmentToolStripMenuItem,\r
-            this.actualPositionToIntroToolStripMenuItem1,\r
-            this.actualPositionToOutroToolStripMenuItem1});\r
+            this.actualPositionToIntroToolStripMenuItem,\r
+            this.actualPositionToOutroToolStripMenuItem});\r
             this.ctxmSegmentActions.Name = "ctxmSegmentActions";\r
-            this.ctxmSegmentActions.Size = new System.Drawing.Size(302, 114);\r
+            this.ctxmSegmentActions.Size = new System.Drawing.Size(296, 114);\r
             // \r
             // defineOneSegmentToolStripMenuItem\r
             // \r
             this.defineOneSegmentToolStripMenuItem.Name = "defineOneSegmentToolStripMenuItem";\r
-            this.defineOneSegmentToolStripMenuItem.Size = new System.Drawing.Size(301, 22);\r
+            this.defineOneSegmentToolStripMenuItem.Size = new System.Drawing.Size(295, 22);\r
             this.defineOneSegmentToolStripMenuItem.Text = "Define one segment for movie";\r
             this.defineOneSegmentToolStripMenuItem.Click += new System.EventHandler(this.OnDefineOneSegmentClick);\r
             // \r
             // splitSegmentAtCurrentPositionToolStripMenuItem\r
             // \r
             this.splitSegmentAtCurrentPositionToolStripMenuItem.Name = "splitSegmentAtCurrentPositionToolStripMenuItem";\r
-            this.splitSegmentAtCurrentPositionToolStripMenuItem.Size = new System.Drawing.Size(301, 22);\r
+            this.splitSegmentAtCurrentPositionToolStripMenuItem.Size = new System.Drawing.Size(295, 22);\r
             this.splitSegmentAtCurrentPositionToolStripMenuItem.Text = "Split segment at current position";\r
             this.splitSegmentAtCurrentPositionToolStripMenuItem.Click += new System.EventHandler(this.OnSplitSegmentAtCurrentPositionClick);\r
             // \r
             // deleteSegmentToolStripMenuItem\r
             // \r
             this.deleteSegmentToolStripMenuItem.Name = "deleteSegmentToolStripMenuItem";\r
-            this.deleteSegmentToolStripMenuItem.Size = new System.Drawing.Size(301, 22);\r
+            this.deleteSegmentToolStripMenuItem.Size = new System.Drawing.Size(295, 22);\r
             this.deleteSegmentToolStripMenuItem.Text = "Delete segment";\r
             this.deleteSegmentToolStripMenuItem.Click += new System.EventHandler(this.OnDeleteSegmentClick);\r
             // \r
-            // actualPositionToIntroToolStripMenuItem1\r
+            // actualPositionToIntroToolStripMenuItem\r
             // \r
-            this.actualPositionToIntroToolStripMenuItem1.Name = "actualPositionToIntroToolStripMenuItem1";\r
-            this.actualPositionToIntroToolStripMenuItem1.Size = new System.Drawing.Size(301, 22);\r
-            this.actualPositionToIntroToolStripMenuItem1.Text = "actualPositionToIntroToolStripMenuItem1";\r
-            this.actualPositionToIntroToolStripMenuItem1.Click += new System.EventHandler(this.OnActualPositionToIntroToolStripMenuItem1Click);\r
+            this.actualPositionToIntroToolStripMenuItem.Name = "actualPositionToIntroToolStripMenuItem";\r
+            this.actualPositionToIntroToolStripMenuItem.Size = new System.Drawing.Size(295, 22);\r
+            this.actualPositionToIntroToolStripMenuItem.Text = "actualPositionToIntroToolStripMenuItem";\r
+            this.actualPositionToIntroToolStripMenuItem.Click += new System.EventHandler(this.OnActualPositionToTCInToolStripMenuItem1Click);\r
             // \r
-            // actualPositionToOutroToolStripMenuItem1\r
+            // actualPositionToOutroToolStripMenuItem\r
             // \r
-            this.actualPositionToOutroToolStripMenuItem1.Name = "actualPositionToOutroToolStripMenuItem1";\r
-            this.actualPositionToOutroToolStripMenuItem1.Size = new System.Drawing.Size(301, 22);\r
-            this.actualPositionToOutroToolStripMenuItem1.Text = "actualPositionToOutroToolStripMenuItem1";\r
-            this.actualPositionToOutroToolStripMenuItem1.Click += new System.EventHandler(this.OnActualPositionToOutroToolStripMenuItem1Click);\r
+            this.actualPositionToOutroToolStripMenuItem.Name = "actualPositionToOutroToolStripMenuItem";\r
+            this.actualPositionToOutroToolStripMenuItem.Size = new System.Drawing.Size(295, 22);\r
+            this.actualPositionToOutroToolStripMenuItem.Text = "actualPositionToOutroToolStripMenuItem";\r
+            this.actualPositionToOutroToolStripMenuItem.Click += new System.EventHandler(this.OnActualPositionToTCOutToolStripMenuItem1Click);\r
             // \r
             // PlayerForm\r
             // \r
@@ -406,8 +406,8 @@ namespace DxPlay {
         private DataGridView dgSegments;\r
         private BindingSource bsSegments;\r
         private ToolStripMenuItem deleteSegmentToolStripMenuItem;\r
-        private ToolStripMenuItem actualPositionToIntroToolStripMenuItem1;\r
-        private ToolStripMenuItem actualPositionToOutroToolStripMenuItem1;\r
+        private ToolStripMenuItem actualPositionToIntroToolStripMenuItem;\r
+        private ToolStripMenuItem actualPositionToOutroToolStripMenuItem;\r
     }\r
 }\r
 \r
index 6a2a24dee58de90738fd67e492aeaad3b2ac0f5d..9834d16b4efad809da37e5b8648341cebeb0405d 100644 (file)
@@ -274,7 +274,7 @@ namespace DxPlay {
             }\r
             return result;\r
         }\r
-\r
+        \r
         private void PlayerForm_FormClosing(object sender, FormClosingEventArgs e) {\r
             if (m_play != null) {\r
                 m_play.Stop();\r
@@ -310,6 +310,12 @@ namespace DxPlay {
                 TCOut = new Timecode(m_mediaDescription.FirstFrame, m_mediaDescription.Duration)\r
             };\r
             segments.Add(segment);\r
+            //if (outro == null)\r
+            //    segments.Add(segment);\r
+            //else {\r
+            //    int index = segments.Count - 2;\r
+            //    segments.Insert(index, segment);\r
+            //}\r
         }\r
 \r
         private void OnDeleteSegmentClick(object sender, EventArgs e) {\r
@@ -324,14 +330,83 @@ namespace DxPlay {
 \r
         }\r
 \r
-        private void OnActualPositionToIntroToolStripMenuItem1Click(object sender, EventArgs e) {\r
-            //todo\r
+        //todo stringetket resources file-ba\r
+        private void OnActualPositionToTCInToolStripMenuItem1Click(object sender, EventArgs e) {\r
+            MovieSegment currentSegment = GetCurrentSegment();\r
+            if (currentSegment != null) {\r
+                if (currentSegment.TCIn != null) {\r
+                    DialogResult dialogResult = MessageBox.Show("Biztos felül akarja írni az belépõt?", "Belépõ felülírása", MessageBoxButtons.YesNo);\r
+                    if (dialogResult == DialogResult.Yes)\r
+                        currentSegment.TCIn = m_play.CurrentTC;\r
+                } else\r
+                    currentSegment.TCIn = m_play.CurrentTC;\r
+            }\r
+\r
+\r
+            //if (intro != null) {\r
+            //    DialogResult dialogResult = MessageBox.Show("Biztos felül akarja írni az belépõt?", "Belépõ felülírása", MessageBoxButtons.YesNo);\r
+            //    if (dialogResult == DialogResult.Yes) {\r
+            //        segments.RemoveAt(0);\r
+            //        CreateAndAddIntroToSegments();\r
+            //    }\r
+            //} else\r
+            //    CreateAndAddIntroToSegments();\r
+        }\r
+\r
+        //private void CreateAndAddIntroToSegments() {\r
+        //    intro = new MovieSegment() {\r
+        //        TCIn = new Timecode(m_mediaDescription.FirstFrame),\r
+        //        TCOut = m_play.CurrentTC\r
+        //    };\r
+        //    segments.Insert(0, intro);\r
+        //}\r
+\r
+        private void OnActualPositionToTCOutToolStripMenuItem1Click(object sender, EventArgs e) {\r
+            MovieSegment currentSegment = GetCurrentSegment();\r
+            if (currentSegment != null) {\r
+                if (currentSegment.TCOut != null) {\r
+                    DialogResult dialogResult = MessageBox.Show("Biztos felül akarja írni a kilépõt?", "Kilépõ felülírása", MessageBoxButtons.YesNo);\r
+                    if (dialogResult == DialogResult.Yes) {\r
+                        currentSegment.TCOut = m_play.CurrentTC;\r
+                    }\r
+                } else\r
+                    currentSegment.TCOut = m_play.CurrentTC;\r
+            }\r
+\r
+\r
+\r
+            //if (outro != null) {\r
+            //    DialogResult dialogResult = MessageBox.Show("Biztos felül akarja írni a kilépõt?", "Kilépõ felülírása", MessageBoxButtons.YesNo);\r
+            //    if (dialogResult == DialogResult.Yes) {\r
+            //        int outroIndex = segments.Count - 1;\r
+            //        segments.RemoveAt(outroIndex);\r
+            //        CreateAndAddOutroToSegments();\r
+            //    }\r
+            //} else\r
+            //    CreateAndAddOutroToSegments();\r
         }\r
 \r
-        private void OnActualPositionToOutroToolStripMenuItem1Click(object sender, EventArgs e) {\r
-            //todo\r
+        private MovieSegment GetCurrentSegment() {\r
+            DataGridViewRow selectedRow = dgSegments.SelectedRows[0];\r
+            for (int i = 0; i < dgSegments.Rows.Count; i++) {\r
+                DataGridViewRow actual = dgSegments.Rows[i];\r
+                if (selectedRow.Equals(actual)) {\r
+                    return segments[i];\r
+                }\r
+\r
+            }\r
+            return null;\r
         }\r
 \r
+        //private void CreateAndAddOutroToSegments() {\r
+        //    outro = new MovieSegment() {\r
+        //        TCIn = m_play.CurrentTC,\r
+        //        TCOut = new Timecode(m_play.CurrentTC, m_play.MediaDescription.Duration)\r
+        //    };\r
+        //    int index = segments.Count;\r
+        //    segments.Insert(index, outro);\r
+        //}\r
+\r
         private void OnSplitSegmentAtCurrentPositionClick(object sender, EventArgs e) {\r
 \r
             MovieSegment segment = segments.Where(s => m_play.CurrentTC.Frames > s.TCIn.Frames && m_play.CurrentTC.Frames < s.TCOut.Frames).FirstOrDefault();\r
index cba2bd62404f9b25aaf0a82252130dc68196668a..df6ddc149532b5c701545b1f718298f150f77fa0 100644 (file)
@@ -66,8 +66,6 @@ namespace Maestro {
             this.splitContainer2 = new System.Windows.Forms.SplitContainer();\r
             this.groupActions = new System.Windows.Forms.GroupBox();\r
             this.dataGridJobs = new System.Windows.Forms.DataGridView();\r
-            this.bindingSourceJobs = new System.Windows.Forms.BindingSource(this.components);\r
-            this.metadataInfoBindingSource = new System.Windows.Forms.BindingSource(this.components);\r
             this.columnID = new System.Windows.Forms.DataGridViewTextBoxColumn();\r
             this.columnStatus = new System.Windows.Forms.DataGridViewTextBoxColumn();\r
             this.columnProgress = new Maestro.Commons.DataGridViewProgressColumn();\r
@@ -75,6 +73,8 @@ namespace Maestro {
             this.columnFinished = new System.Windows.Forms.DataGridViewTextBoxColumn();\r
             this.columnInput = new System.Windows.Forms.DataGridViewTextBoxColumn();\r
             this.columnOutput = new System.Windows.Forms.DataGridViewTextBoxColumn();\r
+            this.bindingSourceJobs = new System.Windows.Forms.BindingSource(this.components);\r
+            this.metadataInfoBindingSource = new System.Windows.Forms.BindingSource(this.components);\r
             this.groupSource.SuspendLayout();\r
             ((System.ComponentModel.ISupportInitialize)(this.dataGridSource)).BeginInit();\r
             ((System.ComponentModel.ISupportInitialize)(this.bindingSource)).BeginInit();\r
@@ -581,10 +581,6 @@ namespace Maestro {
             this.dataGridJobs.TabIndex = 0;\r
             this.dataGridJobs.CellEnter += new System.Windows.Forms.DataGridViewCellEventHandler(this.dataGridJobs_CellEnter);\r
             // \r
-            // metadataInfoBindingSource\r
-            // \r
-            this.metadataInfoBindingSource.DataSource = typeof(Maestro.Metadata.MetadataInfo);\r
-            // \r
             // columnID\r
             // \r
             this.columnID.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.DisplayedCells;\r
@@ -653,6 +649,10 @@ namespace Maestro {
             this.columnOutput.Name = "columnOutput";\r
             this.columnOutput.Width = 68;\r
             // \r
+            // metadataInfoBindingSource\r
+            // \r
+            this.metadataInfoBindingSource.DataSource = typeof(Maestro.Metadata.MetadataInfo);\r
+            // \r
             // MaestroForm\r
             // \r
             this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);\r
index 88cba312e348b195ab5b53ee55234f634204bf5c..91ffa1e713518c4895e4c80555175b48a01e2259 100644 (file)
@@ -90,7 +90,7 @@ namespace Maestro {
             if (match.Success) {\r
                 result = IDTypes.TrafficID;\r
             } else {\r
-                pattern = "[0-9]";\r
+                pattern = "^[0-9]+$";\r
                 match = Regex.Match(selectedMetadata.ID, pattern);\r
                 result = match.Success ? IDTypes.OctopusID : IDTypes.None;\r
             }\r
@@ -112,6 +112,7 @@ namespace Maestro {
         }\r
 \r
         private void ConvertMovieSegmentsToSegments(BindingList<MovieSegment> movieSegments) {\r
+            segments.Clear();\r
             foreach (MovieSegment actual in movieSegments) {\r
                 Segment actualSegment = segmentConverter.ConvertToSegment(actual);\r
                 segments.Add(actualSegment);\r
@@ -137,7 +138,7 @@ namespace Maestro {
                 ID = selectedID,\r
                 VariantID = variantID\r
             };\r
-            EnableArchiveMetadataButtonAndCreateMetadataModel();\r
+           // EnableArchiveMetadataButtonAndCreateMetadataModel();\r
         }\r
     }\r
 }\r
index 17a16d91bcb507f22fd6c1a72540efd47f760d79..7b4cab5a0f6b2b42bfe0f0940031c398248dff22 100644 (file)
@@ -128,7 +128,7 @@ namespace Maestro {
                 IDTypes idType = GetTypeOfSelectedMetadata();\r
                 if (idType == IDTypes.OctopusID)\r
                     FillTheModelFromOctopus(model);\r
-                else if (idType == IDTypes.TrafficID)\r
+                else //if (idType == IDTypes.TrafficID)\r
                     FillTheModelFromTraffic(model);\r
             } else\r
                 model = null;\r
@@ -137,7 +137,15 @@ namespace Maestro {
         private void FillTheModelFromTraffic(ArchiveMetadataModel model) {\r
             string id = selectedMetadata.ID;\r
             TrafficAPI api = trafficIDSelector.trafficAPI;\r
-            List<ArchiveMatadataWrapper> result = api.SearchArchiveMetadata(id); ;\r
+            List<ArchiveMatadataWrapper> result = null;\r
+            if (id.StartsWith("M"))\r
+                result = api.SearchArchiveMetadataBroadcast(id);\r
+            else if (id.StartsWith("P"))\r
+                result = api.SearchArchiveMetadataPromotional(id);\r
+            else if (id.StartsWith("R"))\r
+                result = api.SearchArchiveMetadataAdvertisement(id);\r
+            if (result == null)\r
+                return;\r
             ArchiveMatadataWrapper actualResult = result[0];\r
             model.itemHouseId = actualResult.ProgID;\r
             model.itemTitle = actualResult.ProgTitle;\r
@@ -163,6 +171,8 @@ namespace Maestro {
         }\r
 \r
         private void FillModelFromStories(ArchiveMetadataModel 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
index a3c13d1c760effb828d0b72dc0fa972ca5f9110c..8bd406acbee270b9e0f7bf2b0bd25ada0e294889 100644 (file)
@@ -168,9 +168,6 @@ namespace Maestro {
                 case Metadata.IDTypes.OctopusID:\r
                     SetOctopusIDToMetadataText();\r
                     break;\r
-                    //case Metadata.IDTypes.None:\r
-                    //    MessageBox.Show(this, StringResources.NINCS_TALALAT);\r
-                    //    break;\r
             }\r
         }\r
 \r
@@ -238,6 +235,7 @@ namespace Maestro {
                 return;\r
             }\r
             if (result.Count == 1) {\r
+                trafficMetadataSelected?.Invoke(result[0].MediaID, result[0].VariantID);\r
                 EnableArchiveMetadataButtonAndCreateMetadataModel();\r
                 textSelectedMetadata.Text = result[0].MediaID;\r
                 return;\r
index 615abcf64e4738045f82b53755388c44965cfb7c..423671e480425321285745f44cfd917723e498c7 100644 (file)
@@ -89,7 +89,7 @@ namespace Maestro.Targets {
                 UploadKillDateFile();\r
             if (targetConfig.UseMetadata && archiveMetadata != null)\r
                 CreateMetadata();\r
-            if (targetConfig.SaveSegments && segments != null && segments.Count > 0) \r
+            if (targetConfig.SaveSegments && segments != null)\r
                 SaveSegments();\r
         }\r
 \r
index 948f6b02c603b4de80b314d1b2c04813d40e8110..44cbf7726bd9b73cb87391bfad531b0b9dbeb5be 100644 (file)
@@ -212,7 +212,7 @@ namespace TrafficClient {
             return result;\r
         }\r
 \r
-        public List<ArchiveMatadataWrapper> SearchArchiveMetadata(string strParam) {\r
+        public List<ArchiveMatadataWrapper> SearchArchiveMetadataBroadcast(string strParam) {\r
             List<clIFsp_EC_MAMBradocastResult> sqlResult = null;\r
             List<ArchiveMatadataWrapper> result = null;\r
             try {\r
@@ -224,7 +224,7 @@ namespace TrafficClient {
                     cmd.Parameters.AddWithValue("@@ItemID", DBNull.Value);\r
                     cmd.Parameters.AddWithValue("@@StrParam1", strParam);\r
                     sqlResult = ExecuteAndReadBradcast(cmd);\r
-                    result = ProcessArchiveResult(sqlResult);\r
+                    result = ProcessArchiveBroadcastResult(sqlResult);\r
                 }\r
             }\r
             catch (Exception e) {\r
@@ -237,7 +237,57 @@ namespace TrafficClient {
             return result;\r
         }\r
 \r
-        private List<ArchiveMatadataWrapper> ProcessArchiveResult(List<clIFsp_EC_MAMBradocastResult> sqlResult) {\r
+        public List<ArchiveMatadataWrapper> SearchArchiveMetadataPromotional(string strParam) {\r
+            List<clIFsp_EC_MAMPromotionalResult> sqlResult = null;\r
+            List<ArchiveMatadataWrapper> result = null;\r
+            try {\r
+                TryConnect();\r
+                using (SqlCommand cmd = new SqlCommand("dbo.clIFsp_EC_MAM", connection)) {\r
+                    cmd.CommandType = CommandType.StoredProcedure;\r
+                    cmd.Parameters.AddWithValue("@Operation", 2001);\r
+                    cmd.Parameters.AddWithValue("@@@Options", 40);\r
+                    cmd.Parameters.AddWithValue("@@ItemID", DBNull.Value);\r
+                    cmd.Parameters.AddWithValue("@@StrParam1", strParam);\r
+                    sqlResult = ExecuteAndReadPromotionals(cmd);\r
+                    result = ProcessArchivePromotionalResult(sqlResult);\r
+                }\r
+            }\r
+            catch (Exception e) {\r
+                logger.Error(e.Message);\r
+                throw e;\r
+            }\r
+            finally {\r
+                connection.Close();\r
+            }\r
+            return result;\r
+        }\r
+\r
+        public List<ArchiveMatadataWrapper> SearchArchiveMetadataAdvertisement(string strParam) {\r
+            List<clIFsp_EC_MAMAdvertismentResult> sqlResult = null;\r
+            List<ArchiveMatadataWrapper> result = null;\r
+            try {\r
+                TryConnect();\r
+                using (SqlCommand cmd = new SqlCommand("dbo.clIFsp_EC_MAM", connection)) {\r
+                    cmd.CommandType = CommandType.StoredProcedure;\r
+                    cmd.Parameters.AddWithValue("@Operation", 3001);\r
+                    cmd.Parameters.AddWithValue("@@@Options", 40);\r
+                    cmd.Parameters.AddWithValue("@@ItemID", DBNull.Value);\r
+                    cmd.Parameters.AddWithValue("@@StrParam1", strParam);\r
+                    sqlResult = ExecuteAndReadAdvertisement(cmd);\r
+                    result = ProcessArchiveAdvertisementResult(sqlResult);\r
+                }\r
+            }\r
+            catch (Exception e) {\r
+                logger.Error(e.Message);\r
+                throw e;\r
+            }\r
+            finally {\r
+                connection.Close();\r
+            }\r
+            return result;\r
+        }\r
+\r
+        private List<ArchiveMatadataWrapper> ProcessArchiveBroadcastResult(List<clIFsp_EC_MAMBradocastResult> sqlResult) {\r
             if (sqlResult == null)\r
                 return null;\r
             List<ArchiveMatadataWrapper> result = new List<ArchiveMatadataWrapper>();\r
@@ -253,6 +303,37 @@ namespace TrafficClient {
             return result;\r
         }\r
 \r
+        private List<ArchiveMatadataWrapper> ProcessArchivePromotionalResult(List<clIFsp_EC_MAMPromotionalResult> sqlResult) {\r
+            if (sqlResult == null)\r
+                return null;\r
+            List<ArchiveMatadataWrapper> result = new List<ArchiveMatadataWrapper>();\r
+            foreach (clIFsp_EC_MAMPromotionalResult actual in sqlResult) {\r
+                ArchiveMatadataWrapper actualObject = new ArchiveMatadataWrapper() {\r
+                    EpisodeID = actual.t_MediaID,\r
+                    ProgID = actual.t_SpotID.ToString(),\r
+                    ProgTitle = actual.v_ProgTitle,\r
+                };\r
+                result.Add(actualObject);\r
+            }\r
+            return result;\r
+        }\r
+\r
+        private List<ArchiveMatadataWrapper> ProcessArchiveAdvertisementResult(List<clIFsp_EC_MAMAdvertismentResult> sqlResult) {\r
+            if (sqlResult == null)\r
+                return null;\r
+            List<ArchiveMatadataWrapper> result = new List<ArchiveMatadataWrapper>();\r
+            foreach (clIFsp_EC_MAMAdvertismentResult actual in sqlResult) {\r
+                ArchiveMatadataWrapper actualObject = new ArchiveMatadataWrapper() {\r
+                    EpisodeID = actual.t_MediaID,\r
+                    EpisodeTitle = actual.v_Title,\r
+                    ProgID = actual.t_SpotID.ToString(),\r
+                    ProgTitle = actual.v_Title\r
+                };\r
+                result.Add(actualObject);\r
+            }\r
+            return result;\r
+        }\r
+\r
         public List<MamResultWrapper> SearchPromotional(string strParam) {\r
             List<clIFsp_EC_MAMPromotionalResult> sqlResult = null;\r
             List<MamResultWrapper> result = null;\r