git-tfs-id: [http://tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube...
authorBellai Ádám <USER\adam.bellai>
Fri, 13 Oct 2017 14:46:27 +0000 (14:46 +0000)
committerBellai Ádám <USER\adam.bellai>
Fri, 13 Oct 2017 14:46:27 +0000 (14:46 +0000)
client/Maestro/MaestroForm.Designer.cs
client/Maestro/MaestroForm.cs
client/Maestro/MaestroForm.resx
client/Maestro/StringResources.Designer.cs
client/Maestro/StringResources.resx
client/Maestro/Targets/ITargetProcessor.cs
client/Maestro/Targets/TargetProcessor.cs
client/Maestro/Targets/UNCTargetProcessor.cs

index aaebcbcf73f93d9fd181df2cc8e387c925bdf69c..603ec587fda4e60ee1f4c3619cb6836a738147aa 100644 (file)
@@ -74,6 +74,7 @@ namespace Maestro {
             this.tabControl2 = new System.Windows.Forms.TabControl();\r
             this.tabPage1 = new System.Windows.Forms.TabPage();\r
             this.dataGridJobs = new System.Windows.Forms.DataGridView();\r
+            this.columnLabel = new System.Windows.Forms.DataGridViewTextBoxColumn();\r
             this.columnID = new System.Windows.Forms.DataGridViewTextBoxColumn();\r
             this.columnStatus = new System.Windows.Forms.DataGridViewTextBoxColumn();\r
             this.columnProgress = new Maestro.Commons.DataGridViewProgressColumn();\r
@@ -81,6 +82,7 @@ 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.columnKillDate = new System.Windows.Forms.DataGridViewTextBoxColumn();\r
             this.bindingSourceJobs = new System.Windows.Forms.BindingSource(this.components);\r
             this.tabPage2 = new System.Windows.Forms.TabPage();\r
             this.dataGridMessages = new System.Windows.Forms.DataGridView();\r
@@ -608,13 +610,15 @@ namespace Maestro {
             this.dataGridJobs.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle4;\r
             this.dataGridJobs.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;\r
             this.dataGridJobs.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {\r
+            this.columnLabel,\r
             this.columnID,\r
             this.columnStatus,\r
             this.columnProgress,\r
             this.columnStarted,\r
             this.columnFinished,\r
             this.columnInput,\r
-            this.columnOutput});\r
+            this.columnOutput,\r
+            this.columnKillDate});\r
             this.dataGridJobs.DataSource = this.bindingSourceJobs;\r
             dataGridViewCellStyle8.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;\r
             dataGridViewCellStyle8.BackColor = System.Drawing.SystemColors.Window;\r
@@ -644,6 +648,16 @@ namespace Maestro {
             this.dataGridJobs.Size = new System.Drawing.Size(988, 92);\r
             this.dataGridJobs.TabIndex = 0;\r
             this.dataGridJobs.CellEnter += new System.Windows.Forms.DataGridViewCellEventHandler(this.dataGridJobs_CellEnter);\r
+            this.dataGridJobs.MouseClick += new System.Windows.Forms.MouseEventHandler(this.dataGridJobs_MouseClick);\r
+            // \r
+            // columnLabel\r
+            // \r
+            this.columnLabel.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.DisplayedCells;\r
+            this.columnLabel.DataPropertyName = "Label";\r
+            this.columnLabel.Frozen = true;\r
+            this.columnLabel.HeaderText = "Label";\r
+            this.columnLabel.Name = "columnLabel";\r
+            this.columnLabel.Width = 63;\r
             // \r
             // columnID\r
             // \r
@@ -713,6 +727,14 @@ namespace Maestro {
             this.columnOutput.Name = "columnOutput";\r
             this.columnOutput.Width = 68;\r
             // \r
+            // columnKillDate\r
+            // \r
+            this.columnKillDate.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.DisplayedCells;\r
+            this.columnKillDate.DataPropertyName = "KillDate";\r
+            this.columnKillDate.HeaderText = "KillDate";\r
+            this.columnKillDate.Name = "columnKillDate";\r
+            this.columnKillDate.Width = 75;\r
+            // \r
             // tabPage2\r
             // \r
             this.tabPage2.Controls.Add(this.dataGridMessages);\r
@@ -898,13 +920,6 @@ namespace Maestro {
         private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;\r
         private TrafficClient.TrafficIDSelector trafficIDSelector;\r
         private System.Windows.Forms.Button buttonMetadata;\r
-        private System.Windows.Forms.DataGridViewTextBoxColumn columnID;\r
-        private System.Windows.Forms.DataGridViewTextBoxColumn columnStatus;\r
-        private Commons.DataGridViewProgressColumn columnProgress;\r
-        private System.Windows.Forms.DataGridViewTextBoxColumn columnStarted;\r
-        private System.Windows.Forms.DataGridViewTextBoxColumn columnFinished;\r
-        private System.Windows.Forms.DataGridViewTextBoxColumn columnInput;\r
-        private System.Windows.Forms.DataGridViewTextBoxColumn columnOutput;\r
         private System.Windows.Forms.TabControl tabControl2;\r
         private System.Windows.Forms.TabPage tabPage1;\r
         private System.Windows.Forms.TabPage tabPage2;\r
@@ -916,6 +931,15 @@ namespace Maestro {
         private System.Windows.Forms.DataGridViewTextBoxColumn timeDataGridViewTextBoxColumn;\r
         private System.Windows.Forms.DataGridViewTextBoxColumn Level;\r
         private System.Windows.Forms.DataGridViewTextBoxColumn messageDataGridViewTextBoxColumn;\r
+        private System.Windows.Forms.DataGridViewTextBoxColumn columnLabel;\r
+        private System.Windows.Forms.DataGridViewTextBoxColumn columnID;\r
+        private System.Windows.Forms.DataGridViewTextBoxColumn columnStatus;\r
+        private Commons.DataGridViewProgressColumn columnProgress;\r
+        private System.Windows.Forms.DataGridViewTextBoxColumn columnStarted;\r
+        private System.Windows.Forms.DataGridViewTextBoxColumn columnFinished;\r
+        private System.Windows.Forms.DataGridViewTextBoxColumn columnInput;\r
+        private System.Windows.Forms.DataGridViewTextBoxColumn columnOutput;\r
+        private System.Windows.Forms.DataGridViewTextBoxColumn columnKillDate;\r
     }\r
 }\r
 \r
index 815bda0fde9ee1f3896983d767070e795bbcb80f..1b30c2a215a358b9074e46a0c1f9a3860b7edc57 100644 (file)
@@ -13,8 +13,7 @@ using System.Threading;
 using TrafficClient;\r
 using OctopusClient;\r
 using System.Linq;\r
-using System.Collections.Generic;\r
-using System.ComponentModel;\r
+using System.IO;\r
 \r
 namespace Maestro {\r
 \r
@@ -66,6 +65,7 @@ namespace Maestro {
             columnOutput.HeaderText = StringResources.CEL;\r
             columnProgress.HeaderText = StringResources.ALLAPOT;\r
             columnStatus.HeaderText = StringResources.STATUSZ;\r
+            columnLabel.HeaderText = StringResources.CIM;\r
             ctxiDefineSegments.Text = StringResources.SZEGMENS_LETREHOZASA;\r
             ctxiModifyArchiveMetadata.Text = StringResources.ARCHÍV_METAADATOK_MODOSITASA;\r
         }\r
@@ -120,6 +120,8 @@ namespace Maestro {
                     if (jobsQueue.TryTake(out job)) {\r
                         (this).SafeCall(() => {\r
                             int position = jobs.IndexOf(job);\r
+                            if (position == -1)\r
+                                return;\r
                             bindingSourceJobs.Position = position;\r
                             dataGridJobs.FirstDisplayedScrollingRowIndex = position;\r
                         });\r
@@ -289,5 +291,49 @@ namespace Maestro {
                 txtSorceFilter.Text = string.Empty;\r
             }\r
         }\r
+\r
+        private void dataGridJobs_MouseClick(object sender, MouseEventArgs e) {\r
+            if (e.Button == MouseButtons.Right && dataGridJobs.SelectedRows.Count == 1) {\r
+                ContextMenu popupMenu = new ContextMenu();\r
+                MenuItem makeFileToProtected = new MenuItem(StringResources.ALLOMANY_VEDETTE_TETELE);\r
+                makeFileToProtected.Click += MakeFileToProtected_click;\r
+                MenuItem deleteProcess = new MenuItem(StringResources.TORLES);\r
+                deleteProcess.Click += DeleteProcess_click;\r
+                popupMenu.MenuItems.Add(makeFileToProtected);\r
+                popupMenu.MenuItems.Add(deleteProcess);\r
+                popupMenu.Show(dataGridJobs, new Point(e.X, e.Y));\r
+            }\r
+        }\r
+\r
+        private void MakeFileToProtected_click(object sender, EventArgs e) {\r
+            ITargetProcessor current = bindingSourceJobs.Current as ITargetProcessor;\r
+            if (current == null)\r
+                return;\r
+            if (File.Exists(current.KillDatePath)) {\r
+                File.Delete(current.KillDatePath);\r
+                //kell?\r
+                current.KillDate = new DateTime();\r
+            }\r
+        }\r
+\r
+        private void DeleteProcess_click(object sender, EventArgs e) {\r
+            ITargetProcessor current = bindingSourceJobs.Current as ITargetProcessor;\r
+            if (current == null)\r
+                return;\r
+            //ha van státusza, már nem törölhető\r
+            if (current.Status != null)\r
+                return;\r
+            BackgroundWorker worker = new BackgroundWorker();\r
+            worker.DoWork += (s, r) => {\r
+                ITargetProcessor outJob;\r
+                while (jobsQueue.TryTake(out outJob)) {\r
+                    if (!outJob.Equals(current)) {\r
+                        jobsQueue.TryAdd(outJob);\r
+                    }\r
+                }\r
+            };\r
+            var actualRow = dataGridJobs.SelectedRows[0];\r
+            dataGridJobs.Rows.Remove(actualRow);\r
+        }\r
     }\r
 }\r
index fca8800d01d21300c6e74fbfd1c28be5389cb4c6..065969d11f83cc36458ed61e91d4d45062908729 100644 (file)
   <metadata name="ctxmActions.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">\r
     <value>512, 17</value>\r
   </metadata>\r
+  <metadata name="columnLabel.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">\r
+    <value>True</value>\r
+  </metadata>\r
   <metadata name="columnID.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">\r
     <value>True</value>\r
   </metadata>\r
   <metadata name="columnOutput.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">\r
     <value>True</value>\r
   </metadata>\r
+  <metadata name="columnKillDate.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">\r
+    <value>True</value>\r
+  </metadata>\r
   <metadata name="bindingSourceJobs.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">\r
     <value>154, 17</value>\r
   </metadata>\r
index b55133b398a64661a9375a8e23bd1d4b7dc46f56..4bfe1385e3d9398c8b4359e0c3ece16dc6f87d96 100644 (file)
@@ -78,6 +78,15 @@ namespace Maestro {
             }\r
         }\r
         \r
+        /// <summary>\r
+        ///   Looks up a localized string similar to Állomány védetté tétele.\r
+        /// </summary>\r
+        internal static string ALLOMANY_VEDETTE_TETELE {\r
+            get {\r
+                return ResourceManager.GetString("ALLOMANY_VEDETTE_TETELE", resourceCulture);\r
+            }\r
+        }\r
+        \r
         /// <summary>\r
         ///   Looks up a localized string similar to Archív metaadatok módosítása.\r
         /// </summary>\r
@@ -123,6 +132,15 @@ namespace Maestro {
             }\r
         }\r
         \r
+        /// <summary>\r
+        ///   Looks up a localized string similar to Cím.\r
+        /// </summary>\r
+        internal static string CIM {\r
+            get {\r
+                return ResourceManager.GetString("CIM", resourceCulture);\r
+            }\r
+        }\r
+        \r
         /// <summary>\r
         ///   Looks up a localized string similar to Felvétel dátuma.\r
         /// </summary>\r
@@ -276,6 +294,15 @@ namespace Maestro {
             }\r
         }\r
         \r
+        /// <summary>\r
+        ///   Looks up a localized string similar to Törlés.\r
+        /// </summary>\r
+        internal static string TORLES {\r
+            get {\r
+                return ResourceManager.GetString("TORLES", resourceCulture);\r
+            }\r
+        }\r
+        \r
         /// <summary>\r
         ///   Looks up a localized string similar to Ügynökség.\r
         /// </summary>\r
index 1f3a0cc529e1f7b2af9de351e421883458617231..6ba10450d02c986dbef85adc0e2e310b693ae1ea 100644 (file)
   <data name="ALLAPOT" xml:space="preserve">\r
     <value>Állapot</value>\r
   </data>\r
+  <data name="ALLOMANY_VEDETTE_TETELE" xml:space="preserve">\r
+    <value>Állomány védetté tétele</value>\r
+  </data>\r
   <data name="ARCHIVE" xml:space="preserve">\r
     <value>Archive</value>\r
   </data>\r
   <data name="CEL_AKCIO" xml:space="preserve">\r
     <value>Cél akció</value>\r
   </data>\r
+  <data name="CIM" xml:space="preserve">\r
+    <value>Cím</value>\r
+  </data>\r
   <data name="FELVETEL_DATUMA" xml:space="preserve">\r
     <value>Felvétel dátuma</value>\r
   </data>\r
   <data name="SZEGMENS_LETREHOZASA" xml:space="preserve">\r
     <value>Szegmens létrehozása</value>\r
   </data>\r
+  <data name="TORLES" xml:space="preserve">\r
+    <value>Törlés</value>\r
+  </data>\r
   <data name="UGYNOKSEG" xml:space="preserve">\r
     <value>Ügynökség</value>\r
   </data>\r
index 7da7a2d0557364f3db5e135b6dd550ba7f8472a6..8e268b044df652ebf33c82782f36c5cec80d2b86 100644 (file)
@@ -20,6 +20,12 @@ namespace Maestro.Targets {
 \r
         int Progress { get; set; }\r
 \r
+        DateTime KillDate { get; set; }\r
+\r
+        string Label { get; set; }\r
+\r
+        string KillDatePath { get; set; }\r
+\r
         bool Execute();\r
     }\r
 }
\ No newline at end of file
index a6fe6e5c6e0f5e22d07df02a6adb5174c0bbb474..42a8a038dec965a9d03e6f2c7dcf4a426a7bb470 100644 (file)
@@ -16,6 +16,9 @@ namespace Maestro.Targets {
         private string inputName;\r
         private string outputName;\r
         private int progress;\r
+        private DateTime killDate;\r
+        private string label;\r
+        private string killDatePath;\r
         protected Control parent;\r
 \r
         public TargetProcessor(Control parent) {\r
@@ -155,5 +158,39 @@ namespace Maestro.Targets {
             }\r
         }\r
 \r
+        public DateTime KillDate {\r
+            get {\r
+                return killDate;\r
+            }\r
+            set {\r
+                if (killDate != value) {\r
+                    killDate = value;\r
+                    NotifyPropertyChanged();\r
+                }\r
+            }\r
+        }\r
+\r
+\r
+        public string Label {\r
+            get { return label; }\r
+            set {\r
+                //label != value biztos jó stringeknél?\r
+                if (label != value) {\r
+                    label = value;\r
+                    NotifyPropertyChanged();\r
+                }\r
+            }\r
+        }\r
+\r
+        public string KillDatePath {\r
+            get { return killDatePath; }\r
+            set {\r
+                //label != value biztos jó stringeknél?\r
+                if (killDatePath != value) {\r
+                    killDatePath = value;\r
+                    NotifyPropertyChanged();\r
+                }\r
+            }\r
+        }\r
     }\r
 }
\ No newline at end of file
index f24bac73a401e3125115a4ef18809efcf71e29a1..7d751ab81189e4555dd4bab285d0b160fb8976c9 100644 (file)
@@ -36,6 +36,7 @@ namespace Maestro.Targets {
             inputFile = new FileInfo(Input);\r
             ID = parameters.ID;\r
             workFlowAction = new WorkflowAction() { houseId = ID, tag = parameters.TargetConfig.Tag, touched = DateTime.Now };\r
+            Label = parameters.TargetConfig.Label;\r
         }\r
 \r
         protected virtual void BeforeExecute() {\r
@@ -81,6 +82,8 @@ namespace Maestro.Targets {
             workFlowAction.successful = true;\r
             if (parameters.TargetConfig.KillDateDays > 0)\r
                 UploadKillDateFile();\r
+            else\r
+                KillDate = new DateTime();\r
             if (parameters.TargetConfig.CreateMetadata && parameters.ArchiveMetadata != null)\r
                 CreateMetadata();\r
             if (parameters.TargetConfig.SaveSegments && parameters.Segments != null) {\r
@@ -145,7 +148,9 @@ namespace Maestro.Targets {
             date = date.AddDays(parameters.TargetConfig.KillDateDays);\r
             string fileName = String.Format(KILLDATE_FILE, OutputName, date.ToString("yyyyMMdd"));\r
             logger.Debug("Creating KILLDATE status file {0}", fileName);\r
-            UploadContent(Path.Combine(statusWorkDir, fileName), new byte[] { });\r
+            KillDatePath = Path.Combine(statusWorkDir, fileName);\r
+            UploadContent(KillDatePath, new byte[] { });\r
+            KillDate = date;\r
         }\r
 \r
         private void CreateMetadata() {\r