git-tfs-id: [http://tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube...
authorBellai Ádám <USER\adam.bellai>
Fri, 6 Oct 2017 12:20:24 +0000 (12:20 +0000)
committerBellai Ádám <USER\adam.bellai>
Fri, 6 Oct 2017 12:20:24 +0000 (12:20 +0000)
client/Maestro/ArchiveMetadataForm.Designer.cs [moved from client/Maestro/ArchiveMetadata.Designer.cs with 97% similarity]
client/Maestro/ArchiveMetadataForm.cs [moved from client/Maestro/ArchiveMetadata.cs with 83% similarity]
client/Maestro/ArchiveMetadataForm.resx [moved from client/Maestro/ArchiveMetadata.resx with 100% similarity]
client/Maestro/Maestro.csproj
client/Maestro/MaestroForm.Metadata.cs
client/Maestro/MaestroForm.Target.cs
client/Maestro/Metadata/ArchiveMetadata.cs
client/Maestro/Targets/FTPTargetProcessor.cs
client/Maestro/Targets/FXPTargetProcessor.cs
client/Maestro/Targets/UNCTargetProcessor.cs

similarity index 97%
rename from client/Maestro/ArchiveMetadata.Designer.cs
rename to client/Maestro/ArchiveMetadataForm.Designer.cs
index 01206e4392cb762303f9c2fc221757f13ed0e073..e316a623a64dd1cc81b8cc73770b1818306462cb 100644 (file)
@@ -1,5 +1,5 @@
 namespace Maestro {\r
-    partial class ArchiveMetadata {\r
+    partial class ArchiveMetadataForm {\r
         /// <summary>\r
         /// Required designer variable.\r
         /// </summary>\r
             this.tableLayoutPanel1.Size = new System.Drawing.Size(565, 357);\r
             this.tableLayoutPanel1.TabIndex = 3;\r
             // \r
-            // ArchiveMetadata\r
+            // ArchiveMetadataForm\r
             // \r
             this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);\r
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;\r
             this.Controls.Add(this.tableLayoutPanel1);\r
             this.Controls.Add(this.groupBox1);\r
             this.Icon = global::Maestro.Properties.Resources.AppIcon;\r
-            this.Name = "ArchiveMetadata";\r
+            this.Name = "ArchiveMetadataForm";\r
             this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;\r
             this.Text = "Archive metaadatok módosítása";\r
             this.groupBox1.ResumeLayout(false);\r
similarity index 83%
rename from client/Maestro/ArchiveMetadata.cs
rename to client/Maestro/ArchiveMetadataForm.cs
index c21aab2beedb9fcd45eb041228d43665458b8889..be7ce9da4060e99ca3f5747ceb84f32285bfec80 100644 (file)
@@ -2,16 +2,16 @@
 using Maestro.Metadata;\r
 \r
 namespace Maestro {\r
-    public partial class ArchiveMetadata : Form {\r
+    public partial class ArchiveMetadataForm : Form {\r
 \r
-        private ArchiveMetadataModel model;\r
+        private ArchiveMetadata model;\r
 \r
-        public ArchiveMetadata(ArchiveMetadataModel model) : this() {\r
+        public ArchiveMetadataForm(ArchiveMetadata model) : this() {\r
             this.model = model;\r
             FillTheTextBoxes();\r
         }\r
 \r
-        public ArchiveMetadata() {\r
+        public ArchiveMetadataForm() {\r
             InitializeComponent();\r
         }\r
 \r
index e536122bfc71c8baec1e25630441be944430563f..b237afc2f19e98bbe0b7ea7f58df0dec77669482 100644 (file)
     <Reference Include="WindowsBase" />\r
   </ItemGroup>\r
   <ItemGroup>\r
-    <Compile Include="ArchiveMetadata.cs">\r
+    <Compile Include="ArchiveMetadataForm.cs">\r
       <SubType>Form</SubType>\r
     </Compile>\r
-    <Compile Include="ArchiveMetadata.Designer.cs">\r
-      <DependentUpon>ArchiveMetadata.cs</DependentUpon>\r
+    <Compile Include="ArchiveMetadataForm.Designer.cs">\r
+      <DependentUpon>ArchiveMetadataForm.cs</DependentUpon>\r
     </Compile>\r
     <Compile Include="Commons\DataGridViewProgressColumn.cs" />\r
     <Compile Include="Commons\ObjectExtensions.cs" />\r
     <Compile Include="MaestroForm.Metadata.cs">\r
       <SubType>Form</SubType>\r
     </Compile>\r
-    <Compile Include="MaestroForm.Target.cs">\r
-      <SubType>Form</SubType>\r
-    </Compile>\r
+    <Compile Include="MaestroForm.Target.cs" />\r
     <Compile Include="Metadata\ArchiveMetadata.cs" />\r
     <Compile Include="Metadata\IDTypes.cs" />\r
     <Compile Include="Metadata\MenuButton.cs">\r
     <Compile Include="Targets\SegmentConverter.cs" />\r
     <Compile Include="Targets\TargetProcessor.cs" />\r
     <Compile Include="Targets\ITargetProcessor.cs" />\r
-    <EmbeddedResource Include="ArchiveMetadata.resx">\r
-      <DependentUpon>ArchiveMetadata.cs</DependentUpon>\r
+    <EmbeddedResource Include="ArchiveMetadataForm.resx">\r
+      <DependentUpon>ArchiveMetadataForm.cs</DependentUpon>\r
     </EmbeddedResource>\r
     <EmbeddedResource Include="MaestroForm.resx">\r
       <DependentUpon>MaestroForm.cs</DependentUpon>\r
index 7d95d55c2c90d7eaa04b218bc114a9358e187f26..14c17c322ddbe772caa5eb8baa56f85461d3cbe3 100644 (file)
@@ -16,7 +16,7 @@ namespace Maestro {
         private MetadataInfo selectedMetadata;\r
         private List<Segment> segments = new List<Segment>();\r
         private MediaCubeApi mediaCubeApi;\r
-        private ArchiveMetadataModel model;\r
+        private ArchiveMetadata archiveMetadatamodel;\r
         public MetadataInfo SelectedMetadata {\r
             get {\r
                 return selectedMetadata;\r
@@ -77,7 +77,7 @@ namespace Maestro {
         }\r
 \r
         private void ModifyArchiveMetadataClick(object sender, EventArgs e) {\r
-            ArchiveMetadata form = new ArchiveMetadata(model);\r
+            ArchiveMetadataForm form = new ArchiveMetadataForm(archiveMetadatamodel);\r
             form.ShowDialog();\r
         }\r
         \r
index f2fdc3b3497912e7b1ca1668a4e139ae087fb57d..a95a6bf836816a65cef7735e9e3599afa7d70571 100644 (file)
@@ -9,8 +9,22 @@ using System.Collections.Generic;
 using System.Text.RegularExpressions;\r
 using TrafficClient;\r
 using OctopusClient;\r
+using JobEngineClient;\r
 \r
 namespace Maestro {\r
+\r
+    public class TargetProcessorParametersWrapper {\r
+        public Source sourceConfig { get; set; }\r
+        public Target targetConfig { get; set; }\r
+        public string inputFileName { get; set; }\r
+        public string id { get; set; }\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 int variantID { get; set; }\r
+    }\r
+\r
     public partial class MaestroForm {\r
 \r
         private SegmentConverter segmentConverter;\r
@@ -42,9 +56,13 @@ namespace Maestro {
                         string fileName = actualRow.Cells[1].Value as string;\r
                         string typeName = string.Format("{0}.{1}", typeof(ITargetProcessor).Namespace, target.Processor);\r
                         Type type = Type.GetType(typeName);\r
+                        int variantID = selectedMetadata.VariantID;\r
+                        TrafficAPI api = trafficIDSelector.trafficAPI;\r
                         ISourceItem selectedFile = GetSourceItemFromBindingSource(fileName);//bindingSource.Current as ISourceItem;\r
                         string id = selectedMetadata == null ? textSelectedMetadata.Text : selectedMetadata.ID;\r
-                        object[] parameters = new object[] { this, Configuration.Source, target, selectedFile.Name, id, segments, mediaCubeApi, model };\r
+                        ArchiveMetadata archiveMetadataClone = ArchiveMetadata.DeepClone(archiveMetadatamodel);\r
+                        List<Segment> segmentsClone = new List<Segment>(segments);\r
+                        object[] parameters = new object[] { this, Configuration.Source, target, selectedFile.Name, id, segmentsClone, mediaCubeApi, archiveMetadataClone, api, variantID };\r
                         ITargetProcessor processor = (ITargetProcessor)Activator.CreateInstance(type, parameters);\r
                         processors.Add(processor);\r
                     }\r
@@ -123,18 +141,18 @@ namespace Maestro {
         private void EnableArchiveMetadataButtonAndCreateMetadataModel() {\r
             ctxiModifyArchiveMetadata.Enabled = selectedMetadata != null;\r
             if (ctxiModifyArchiveMetadata.Enabled) {\r
-                model = new ArchiveMetadataModel();\r
+                archiveMetadatamodel = new ArchiveMetadata();\r
                 Cursor.Current = Cursors.WaitCursor;\r
                 IDTypes idType = GetTypeOfSelectedMetadata();\r
                 if (idType == IDTypes.OctopusID)\r
-                    FillTheModelFromOctopus(model);\r
+                    FillTheModelFromOctopus(archiveMetadatamodel);\r
                 else //if (idType == IDTypes.TrafficID)\r
-                    FillTheModelFromTraffic(model);\r
+                    FillTheModelFromTraffic(archiveMetadatamodel);\r
             } else\r
-                model = null;\r
+                archiveMetadatamodel = null;\r
         }\r
 \r
-        private void FillTheModelFromTraffic(ArchiveMetadataModel model) {\r
+        private void FillTheModelFromTraffic(ArchiveMetadata model) {\r
             string id = selectedMetadata.ID;\r
             TrafficAPI api = trafficIDSelector.trafficAPI;\r
             List<ArchiveMatadataWrapper> result = null;\r
@@ -155,7 +173,7 @@ namespace Maestro {
             model.mediaDescription = actualResult.EpisodeDescription;\r
         }\r
 \r
-        private void FillTheModelFromOctopus(ArchiveMetadataModel model) {\r
+        private void FillTheModelFromOctopus(ArchiveMetadata model) {\r
             string id = selectedMetadata.ID;\r
             OctopusAPI api = octopusIDSelector.GetClient();\r
             IEnumerable<Story> storyEnum = api.GetStoriesById(id);\r
@@ -170,7 +188,7 @@ namespace Maestro {
             }\r
         }\r
 \r
-        private void FillModelFromStories(ArchiveMetadataModel model, List<Story> stories, OctopusAPI api) {\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
index dd8dbaeb7eec33d3ab4eb13d03d3304eeff94a7a..a2e49515ab9ecd7512be71547e5941a896e061ba 100644 (file)
@@ -1,7 +1,12 @@
-using Newtonsoft.Json;\r
+using System;\r
+using Newtonsoft.Json;\r
+using System.Runtime.Serialization.Formatters.Binary;\r
+using System.IO;\r
 \r
 namespace Maestro.Metadata {\r
-    public class ArchiveMetadataModel {\r
+\r
+    [Serializable()]\r
+    public class ArchiveMetadata {\r
 \r
         //todo rename a Stuffra??\r
         public string itemHouseId { get; set; }\r
@@ -16,5 +21,15 @@ namespace Maestro.Metadata {
             //return String.Format("{{\n \"Anyag azonosító\": \"{0}\",\n, \"Anyag cím\": \"{1}\",\n \"Anyag leírása\": \"{2}\",\n \"Média azonosító\": \"{3}\",\n \"Média cím\": \"{4}\",\n \"Média leírás\": \"{5}\"  \n}}",\r
             //    StuffID, StuffTitle, StuffDescription, MediaID, MediaTitle, MediaDescription);\r
         }\r
+\r
+        public static ArchiveMetadata DeepClone(ArchiveMetadata obj) {\r
+            using (var ms = new MemoryStream()) {\r
+                var formatter = new BinaryFormatter();\r
+                formatter.Serialize(ms, obj);\r
+                ms.Position = 0;\r
+\r
+                return (ArchiveMetadata)formatter.Deserialize(ms);\r
+            }\r
+        }\r
     }\r
 }\r
index 5265c543de12a63efdcd102e8360f1ee9ad8e1c9..983670bbe56fc5c463cf05dcc4b3216b87070c89 100644 (file)
@@ -17,8 +17,11 @@ namespace Maestro.Targets {
         private readonly Logger logger = LogManager.GetCurrentClassLogger();\r
         protected FtpClient targetFTP;\r
 \r
-        public FTPTargetProcessor(Control parent, Source sourceConfig, Target targetConfig, string inputFileName, string id, List<Segment> segments, MediaCubeApi mediaCubeApi, ArchiveMetadataModel archiveMetadata)\r
-            : base(parent, sourceConfig, targetConfig, inputFileName, id, segments, mediaCubeApi, archiveMetadata) {\r
+        public FTPTargetProcessor(Control parent, Source sourceConfig, Target targetConfig, \r
+            string inputFileName, string id, List<Segment> segments, \r
+            MediaCubeApi mediaCubeApi, ArchiveMetadata archiveMetadata,\r
+            TrafficAPI client, int variantID)\r
+            : base(parent, sourceConfig, targetConfig, inputFileName, id, segments, mediaCubeApi, archiveMetadata, client, variantID) {\r
             FtpTrace.LogFunctions = false;\r
             Uri inputUri = new Uri(String.Format("{0}/{1}", sourceConfig.Local.Address.LocalPath, inputFileName));\r
             inputFile = new FileInfo(inputUri.LocalPath);\r
index 51d47dd112b406256a67cfaa6ed54befa4636b55..52e4a835e042462b430d8fd97022e137f68750b1 100644 (file)
@@ -17,8 +17,11 @@ namespace Maestro.Targets {
         private Logger logger = LogManager.GetCurrentClassLogger();\r
         private Source sourceConfig;\r
 \r
-        public FXPTargetProcessor(Control parent, Source sourceConfig, Target targetConfig, string inputFileName, string id, List<Segment> segments, MediaCubeApi mediaCubeApi, ArchiveMetadataModel model) :\r
-            base(parent, sourceConfig, targetConfig, inputFileName, id, segments, mediaCubeApi, model) {\r
+        public FXPTargetProcessor(Control parent, Source sourceConfig, Target targetConfig, \r
+            string inputFileName, string id, List<Segment> segments,\r
+            MediaCubeApi mediaCubeApi, ArchiveMetadata archiveMetadata,\r
+            TrafficAPI client, int variantID) :\r
+            base(parent, sourceConfig, targetConfig, inputFileName, id, segments, mediaCubeApi, archiveMetadata, client, variantID) {\r
             this.sourceConfig = sourceConfig;\r
         }\r
 \r
index 2350a9d6277a94998e9425d8a7a5c7132448da67..e74c9ad938b7d28857c29b5c06b2b5b48ce1a725 100644 (file)
@@ -30,15 +30,23 @@ namespace Maestro.Targets {
         protected FileInfo inputFile;\r
         protected string workingDir;\r
         protected List<Segment> segments;\r
-        protected ArchiveMetadataModel archiveMetadata;\r
+        protected ArchiveMetadata archiveMetadata;\r
+        protected TrafficAPI client;\r
+        protected int variantID;\r
+\r
         public WorkflowAction workFlowAction { get; set; }\r
 \r
-        public UNCTargetProcessor(Control parent, Source sourceConfig, Target targetConfig, string inputFileName, string id, List<Segment> segments, MediaCubeApi mediaCubeApi, ArchiveMetadataModel archiveMetadata)\r
+        public UNCTargetProcessor(Control parent, Source sourceConfig, Target targetConfig,\r
+            string inputFileName, string id, List<Segment> segments,\r
+            MediaCubeApi mediaCubeApi, ArchiveMetadata archiveMetadata, \r
+            TrafficAPI client, int variantID)\r
             : base(parent) {\r
             this.mediaCubeApi = mediaCubeApi;\r
             this.targetConfig = targetConfig;\r
             this.archiveMetadata = archiveMetadata;\r
             this.segments = segments;\r
+            this.client = client;\r
+            this.variantID = variantID;\r
             InputName = inputFileName;\r
             Input = Path.Combine(sourceConfig.Local.Address.LocalPath, inputFileName);\r
             inputFile = new FileInfo(Input);\r
@@ -93,14 +101,10 @@ namespace Maestro.Targets {
                 SaveSegments();\r
         }\r
 \r
-        \r
         private void SaveSegments() {\r
-            MaestroForm maestroForm = parent as MaestroForm;\r
-            TrafficMetadata metadata = maestroForm.Configuration.Metadatas.Where(m => { return m is TrafficMetadata; }).FirstOrDefault() as TrafficMetadata;\r
-            TrafficAPI client = new TrafficAPI(metadata.Server.Address.OriginalString, metadata.Server.UserName, metadata.Server.Password, metadata.Server.Timeout);\r
-            client.DeleteSegments(maestroForm.SelectedMetadata.VariantID);\r
+            client.DeleteSegments(variantID);\r
             foreach (Segment actual in segments) {\r
-                client.AddSegmentToCopia(maestroForm.SelectedMetadata.VariantID, actual.Comment, actual.TCIn, actual.TCOut, actual.Optional);\r
+                client.AddSegmentToCopia(variantID, actual.Comment, actual.TCIn, actual.TCOut, actual.Optional);\r
             }\r
         }\r
 \r