From 42dad18c0f19802aca02d192eb497d7bb6080683 Mon Sep 17 00:00:00 2001 From: kotcheshir73 Date: Wed, 21 Dec 2022 11:07:56 +0400 Subject: [PATCH] =?UTF-8?q?=D1=84=D0=BE=D1=80=D0=BC=D1=8B=20=D0=B4=D0=BB?= =?UTF-8?q?=D1=8F=20=D1=81=D0=B8=D0=BD=D1=85=D1=80=D0=BE=D0=BD=D0=B8=D0=B7?= =?UTF-8?q?=D0=B0=D1=86=D0=B8=D0=B8=20=D0=BE=D1=86=D0=B5=D0=BD=D0=BE=D0=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../StudentMarkSyncHistoryBusinessLogic.cs | 4 + .../DepartmentWindowDesktopExtension.cs | 3 +- ...lStudentMarkSyncHistoryElement.Designer.cs | 33 +++++ .../ControlStudentMarkSyncHistoryElement.cs | 27 ++++ .../ControlStudentMarkSyncHistoryElement.resx | 120 ++++++++++++++++++ ...trolStudentMarkSyncHistoryList.Designer.cs | 33 +++++ .../ControlStudentMarkSyncHistoryList.cs | 65 ++++++++++ .../ControlStudentMarkSyncHistoryList.resx | 120 ++++++++++++++++++ ...ntMarkSyncHistoryRecordElement.Designer.cs | 33 +++++ ...trolStudentMarkSyncHistoryRecordElement.cs | 27 ++++ ...olStudentMarkSyncHistoryRecordElement.resx | 120 ++++++++++++++++++ ...udentMarkSyncHistoryRecordList.Designer.cs | 33 +++++ ...ControlStudentMarkSyncHistoryRecordList.cs | 42 ++++++ ...ntrolStudentMarkSyncHistoryRecordList.resx | 120 ++++++++++++++++++ 14 files changed, 779 insertions(+), 1 deletion(-) create mode 100644 DepartmentPortal/Department/DepartmentWindowsDesktop/EntityControls/StudentMarkSyncHistory/ControlStudentMarkSyncHistoryElement.Designer.cs create mode 100644 DepartmentPortal/Department/DepartmentWindowsDesktop/EntityControls/StudentMarkSyncHistory/ControlStudentMarkSyncHistoryElement.cs create mode 100644 DepartmentPortal/Department/DepartmentWindowsDesktop/EntityControls/StudentMarkSyncHistory/ControlStudentMarkSyncHistoryElement.resx create mode 100644 DepartmentPortal/Department/DepartmentWindowsDesktop/EntityControls/StudentMarkSyncHistory/ControlStudentMarkSyncHistoryList.Designer.cs create mode 100644 DepartmentPortal/Department/DepartmentWindowsDesktop/EntityControls/StudentMarkSyncHistory/ControlStudentMarkSyncHistoryList.cs create mode 100644 DepartmentPortal/Department/DepartmentWindowsDesktop/EntityControls/StudentMarkSyncHistory/ControlStudentMarkSyncHistoryList.resx create mode 100644 DepartmentPortal/Department/DepartmentWindowsDesktop/EntityControls/StudentMarkSyncHistoryRecord/ControlStudentMarkSyncHistoryRecordElement.Designer.cs create mode 100644 DepartmentPortal/Department/DepartmentWindowsDesktop/EntityControls/StudentMarkSyncHistoryRecord/ControlStudentMarkSyncHistoryRecordElement.cs create mode 100644 DepartmentPortal/Department/DepartmentWindowsDesktop/EntityControls/StudentMarkSyncHistoryRecord/ControlStudentMarkSyncHistoryRecordElement.resx create mode 100644 DepartmentPortal/Department/DepartmentWindowsDesktop/EntityControls/StudentMarkSyncHistoryRecord/ControlStudentMarkSyncHistoryRecordList.Designer.cs create mode 100644 DepartmentPortal/Department/DepartmentWindowsDesktop/EntityControls/StudentMarkSyncHistoryRecord/ControlStudentMarkSyncHistoryRecordList.cs create mode 100644 DepartmentPortal/Department/DepartmentWindowsDesktop/EntityControls/StudentMarkSyncHistoryRecord/ControlStudentMarkSyncHistoryRecordList.resx diff --git a/DepartmentPortal/Department/DepartmentBusinessLogic/BusinessLogics/GenericBusinessLogic/StudentMarkSyncHistoryBusinessLogic.cs b/DepartmentPortal/Department/DepartmentBusinessLogic/BusinessLogics/GenericBusinessLogic/StudentMarkSyncHistoryBusinessLogic.cs index a406ee5..fad8d33 100644 --- a/DepartmentPortal/Department/DepartmentBusinessLogic/BusinessLogics/GenericBusinessLogic/StudentMarkSyncHistoryBusinessLogic.cs +++ b/DepartmentPortal/Department/DepartmentBusinessLogic/BusinessLogics/GenericBusinessLogic/StudentMarkSyncHistoryBusinessLogic.cs @@ -1,5 +1,6 @@ using DepartmentContract.BindingModels; using DepartmentContract.Logics.IGenericEntityLogic; +using DepartmentContract.Services.IGenericEntityService; using DepartmentContract.ViewModels; using System; using System.Collections.Generic; @@ -7,6 +8,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; using ToolsModule.ManagmentEntity; +using ToolsModule.ManagmentSecurity; namespace DepartmentBusinessLogic.BusinessLogics.GenericBusinessLogic { @@ -15,6 +17,8 @@ namespace DepartmentBusinessLogic.BusinessLogics.GenericBusinessLogic /// public class StudentMarkSyncHistoryBusinessLogic : GenericBusinessLogic, IStudentMarkSyncHistoryLogic { + public StudentMarkSyncHistoryBusinessLogic(IStudentMarkSyncHistoryService service) : base(service, "Синхронизация Оценок", AccessOperation.ОценкиСтудентов) { } + public Task SyncMarks() { throw new NotImplementedException(); diff --git a/DepartmentPortal/Department/DepartmentWindowsDesktop/DepartmentWindowDesktopExtension.cs b/DepartmentPortal/Department/DepartmentWindowsDesktop/DepartmentWindowDesktopExtension.cs index e410aa0..4e1260c 100644 --- a/DepartmentPortal/Department/DepartmentWindowsDesktop/DepartmentWindowDesktopExtension.cs +++ b/DepartmentPortal/Department/DepartmentWindowsDesktop/DepartmentWindowDesktopExtension.cs @@ -43,8 +43,9 @@ namespace DepartmentWindowsDesktop new ControlStudentGroupList(), new ControlStudentList(), new ControlOrderList(), + new ControlBasicDepartmentList(), new ControlOrderSyncHistoryList(), - new ControlBasicDepartmentList() + new ControlStudentMarkSyncHistoryList(), }; foreach (var cntrl in _controls) diff --git a/DepartmentPortal/Department/DepartmentWindowsDesktop/EntityControls/StudentMarkSyncHistory/ControlStudentMarkSyncHistoryElement.Designer.cs b/DepartmentPortal/Department/DepartmentWindowsDesktop/EntityControls/StudentMarkSyncHistory/ControlStudentMarkSyncHistoryElement.Designer.cs new file mode 100644 index 0000000..8e034da --- /dev/null +++ b/DepartmentPortal/Department/DepartmentWindowsDesktop/EntityControls/StudentMarkSyncHistory/ControlStudentMarkSyncHistoryElement.Designer.cs @@ -0,0 +1,33 @@ + +namespace DepartmentWindowsDesktop.EntityControls +{ + partial class ControlStudentMarkSyncHistoryElement + { + /// + /// Освободить все используемые ресурсы. + /// + /// истинно, если управляемый ресурс должен быть удален; иначе ложно. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Код, автоматически созданный конструктором компонентов + + /// + /// Требуемый метод для поддержки конструктора — не изменяйте + /// содержимое этого метода с помощью редактора кода. + /// + private void InitializeComponent() + { + components = new System.ComponentModel.Container(); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + } + + #endregion + } +} diff --git a/DepartmentPortal/Department/DepartmentWindowsDesktop/EntityControls/StudentMarkSyncHistory/ControlStudentMarkSyncHistoryElement.cs b/DepartmentPortal/Department/DepartmentWindowsDesktop/EntityControls/StudentMarkSyncHistory/ControlStudentMarkSyncHistoryElement.cs new file mode 100644 index 0000000..8118ad1 --- /dev/null +++ b/DepartmentPortal/Department/DepartmentWindowsDesktop/EntityControls/StudentMarkSyncHistory/ControlStudentMarkSyncHistoryElement.cs @@ -0,0 +1,27 @@ +using DepartmentContract.BindingModels; +using DepartmentContract.Logics.IGenericEntityLogic; +using DepartmentContract.ViewModels; +using System; +using ToolsDesktop.Controls; +using ToolsDesktop.Interfaces; +using ToolsDesktop.Models; + +namespace DepartmentWindowsDesktop.EntityControls +{ + public partial class ControlStudentMarkSyncHistoryElement : + GenericControlEntityElement, + IGenericControlEntityElement + { + public ControlStudentMarkSyncHistoryElement() + { + InitializeComponent(); + Title = "История синхронизации оценок"; + ControlId = new Guid("44371c6d-cd4d-40a2-b105-b77581fcab5f"); + _genericControlViewEntityElement = this; + } + + public IControl GetInstanceGenericControl() => new ControlStudentMarkSyncHistoryElement() { ControlId = Guid.NewGuid() }; + + public ControlViewEntityElementConfiguration GetConfigControl() => new(); + } +} \ No newline at end of file diff --git a/DepartmentPortal/Department/DepartmentWindowsDesktop/EntityControls/StudentMarkSyncHistory/ControlStudentMarkSyncHistoryElement.resx b/DepartmentPortal/Department/DepartmentWindowsDesktop/EntityControls/StudentMarkSyncHistory/ControlStudentMarkSyncHistoryElement.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/DepartmentPortal/Department/DepartmentWindowsDesktop/EntityControls/StudentMarkSyncHistory/ControlStudentMarkSyncHistoryElement.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/DepartmentPortal/Department/DepartmentWindowsDesktop/EntityControls/StudentMarkSyncHistory/ControlStudentMarkSyncHistoryList.Designer.cs b/DepartmentPortal/Department/DepartmentWindowsDesktop/EntityControls/StudentMarkSyncHistory/ControlStudentMarkSyncHistoryList.Designer.cs new file mode 100644 index 0000000..d939830 --- /dev/null +++ b/DepartmentPortal/Department/DepartmentWindowsDesktop/EntityControls/StudentMarkSyncHistory/ControlStudentMarkSyncHistoryList.Designer.cs @@ -0,0 +1,33 @@ + +namespace DepartmentWindowsDesktop.EntityControls +{ + partial class ControlStudentMarkSyncHistoryList + { + /// + /// Освободить все используемые ресурсы. + /// + /// истинно, если управляемый ресурс должен быть удален; иначе ложно. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Код, автоматически созданный конструктором компонентов + + /// + /// Требуемый метод для поддержки конструктора — не изменяйте + /// содержимое этого метода с помощью редактора кода. + /// + private void InitializeComponent() + { + components = new System.ComponentModel.Container(); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + } + + #endregion + } +} diff --git a/DepartmentPortal/Department/DepartmentWindowsDesktop/EntityControls/StudentMarkSyncHistory/ControlStudentMarkSyncHistoryList.cs b/DepartmentPortal/Department/DepartmentWindowsDesktop/EntityControls/StudentMarkSyncHistory/ControlStudentMarkSyncHistoryList.cs new file mode 100644 index 0000000..7c81e93 --- /dev/null +++ b/DepartmentPortal/Department/DepartmentWindowsDesktop/EntityControls/StudentMarkSyncHistory/ControlStudentMarkSyncHistoryList.cs @@ -0,0 +1,65 @@ +using DepartmentContract.BindingModels; +using DepartmentContract.Logics.IGenericEntityLogic; +using DepartmentContract.ViewModels; +using System; +using System.Collections.Generic; +using System.Threading.Tasks; +using ToolsDesktop.Controls; +using ToolsDesktop.Enums; +using ToolsDesktop.Helpers; +using ToolsDesktop.Interfaces; +using ToolsDesktop.Models; +using ToolsModule.ManagmentSecurity; + +namespace DepartmentWindowsDesktop.EntityControls +{ + public partial class ControlStudentMarkSyncHistoryList : + GenericControlEntityList, + IGenericControlEntityList + { + public ControlStudentMarkSyncHistoryList() + { + InitializeComponent(); + Title = "Синхронизация Оценок"; + ControlId = new Guid("1c5fb304-ceef-418a-a869-cb225b2a3f89"); + AccessOperation = AccessOperation.ОценкиСтудентов; + ControlViewEntityElement = new ControlStudentMarkSyncHistoryElement(); + _genericControlViewEntityList = this; + } + + public IControl GetInstanceGenericControl() => new ControlStudentMarkSyncHistoryList() { ControlId = Guid.NewGuid() }; + + public ControlViewEntityListConfiguration GetConfigControl() => new() + { + PaginationOn = false, + HideToolStripButton = new List + { + ToolStripButtonListNames.toolStripButtonAdd, + ToolStripButtonListNames.toolStripButtonUpd, + ToolStripButtonListNames.toolStripButtonDel, + ToolStripButtonListNames.toolStripButtonSearch + }, + ControlOnMoveElem = new() + { + { "ToolStripMenuItemSyncStudentMarks", ("Синхронизировать оценки", async (object sender, EventArgs e) => { await SyncStudentMarks(); }) } + } + }; + + /// + /// Синхронизация приказов + /// + /// + private async Task SyncStudentMarks() + { + var flag = await _businessLogic.SyncMarks(); + if (!flag) + { + DialogHelper.MessageException(_businessLogic.Errors, "Ошибки при синхронизации"); + } + else + { + DialogHelper.MessageInformation("Завершено успешно", "Синхронизация оценок"); + } + } + } +} \ No newline at end of file diff --git a/DepartmentPortal/Department/DepartmentWindowsDesktop/EntityControls/StudentMarkSyncHistory/ControlStudentMarkSyncHistoryList.resx b/DepartmentPortal/Department/DepartmentWindowsDesktop/EntityControls/StudentMarkSyncHistory/ControlStudentMarkSyncHistoryList.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/DepartmentPortal/Department/DepartmentWindowsDesktop/EntityControls/StudentMarkSyncHistory/ControlStudentMarkSyncHistoryList.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/DepartmentPortal/Department/DepartmentWindowsDesktop/EntityControls/StudentMarkSyncHistoryRecord/ControlStudentMarkSyncHistoryRecordElement.Designer.cs b/DepartmentPortal/Department/DepartmentWindowsDesktop/EntityControls/StudentMarkSyncHistoryRecord/ControlStudentMarkSyncHistoryRecordElement.Designer.cs new file mode 100644 index 0000000..9c78e2c --- /dev/null +++ b/DepartmentPortal/Department/DepartmentWindowsDesktop/EntityControls/StudentMarkSyncHistoryRecord/ControlStudentMarkSyncHistoryRecordElement.Designer.cs @@ -0,0 +1,33 @@ + +namespace DepartmentWindowsDesktop.EntityControls +{ + partial class ControlStudentMarkSyncHistoryRecordElement + { + /// + /// Освободить все используемые ресурсы. + /// + /// истинно, если управляемый ресурс должен быть удален; иначе ложно. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Код, автоматически созданный конструктором компонентов + + /// + /// Требуемый метод для поддержки конструктора — не изменяйте + /// содержимое этого метода с помощью редактора кода. + /// + private void InitializeComponent() + { + components = new System.ComponentModel.Container(); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + } + + #endregion + } +} diff --git a/DepartmentPortal/Department/DepartmentWindowsDesktop/EntityControls/StudentMarkSyncHistoryRecord/ControlStudentMarkSyncHistoryRecordElement.cs b/DepartmentPortal/Department/DepartmentWindowsDesktop/EntityControls/StudentMarkSyncHistoryRecord/ControlStudentMarkSyncHistoryRecordElement.cs new file mode 100644 index 0000000..4039558 --- /dev/null +++ b/DepartmentPortal/Department/DepartmentWindowsDesktop/EntityControls/StudentMarkSyncHistoryRecord/ControlStudentMarkSyncHistoryRecordElement.cs @@ -0,0 +1,27 @@ +using DepartmentContract.BindingModels; +using DepartmentContract.Logics.IGenericEntityLogic; +using DepartmentContract.ViewModels; +using System; +using ToolsDesktop.Controls; +using ToolsDesktop.Interfaces; +using ToolsDesktop.Models; + +namespace DepartmentWindowsDesktop.EntityControls +{ + public partial class ControlStudentMarkSyncHistoryRecordElement : + GenericControlEntityElement, + IGenericControlEntityElement + { + public ControlStudentMarkSyncHistoryRecordElement() + { + InitializeComponent(); + Title = "Запись истории синхронизации оценок"; + ControlId = new Guid("d686f301-19f2-4bfd-9c5c-9ab2db947b51"); + _genericControlViewEntityElement = this; + } + + public IControl GetInstanceGenericControl() => new ControlStudentMarkSyncHistoryRecordElement() { ControlId = Guid.NewGuid() }; + + public ControlViewEntityElementConfiguration GetConfigControl() => new(); + } +} diff --git a/DepartmentPortal/Department/DepartmentWindowsDesktop/EntityControls/StudentMarkSyncHistoryRecord/ControlStudentMarkSyncHistoryRecordElement.resx b/DepartmentPortal/Department/DepartmentWindowsDesktop/EntityControls/StudentMarkSyncHistoryRecord/ControlStudentMarkSyncHistoryRecordElement.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/DepartmentPortal/Department/DepartmentWindowsDesktop/EntityControls/StudentMarkSyncHistoryRecord/ControlStudentMarkSyncHistoryRecordElement.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/DepartmentPortal/Department/DepartmentWindowsDesktop/EntityControls/StudentMarkSyncHistoryRecord/ControlStudentMarkSyncHistoryRecordList.Designer.cs b/DepartmentPortal/Department/DepartmentWindowsDesktop/EntityControls/StudentMarkSyncHistoryRecord/ControlStudentMarkSyncHistoryRecordList.Designer.cs new file mode 100644 index 0000000..618a7da --- /dev/null +++ b/DepartmentPortal/Department/DepartmentWindowsDesktop/EntityControls/StudentMarkSyncHistoryRecord/ControlStudentMarkSyncHistoryRecordList.Designer.cs @@ -0,0 +1,33 @@ + +namespace DepartmentWindowsDesktop.EntityControls +{ + partial class ControlStudentMarkSyncHistoryRecordList + { + /// + /// Освободить все используемые ресурсы. + /// + /// истинно, если управляемый ресурс должен быть удален; иначе ложно. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Код, автоматически созданный конструктором компонентов + + /// + /// Требуемый метод для поддержки конструктора — не изменяйте + /// содержимое этого метода с помощью редактора кода. + /// + private void InitializeComponent() + { + components = new System.ComponentModel.Container(); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + } + + #endregion + } +} diff --git a/DepartmentPortal/Department/DepartmentWindowsDesktop/EntityControls/StudentMarkSyncHistoryRecord/ControlStudentMarkSyncHistoryRecordList.cs b/DepartmentPortal/Department/DepartmentWindowsDesktop/EntityControls/StudentMarkSyncHistoryRecord/ControlStudentMarkSyncHistoryRecordList.cs new file mode 100644 index 0000000..e4961cf --- /dev/null +++ b/DepartmentPortal/Department/DepartmentWindowsDesktop/EntityControls/StudentMarkSyncHistoryRecord/ControlStudentMarkSyncHistoryRecordList.cs @@ -0,0 +1,42 @@ +using DepartmentContract.BindingModels; +using DepartmentContract.Logics.IGenericEntityLogic; +using DepartmentContract.ViewModels; +using System; +using System.Collections.Generic; +using ToolsDesktop.Controls; +using ToolsDesktop.Enums; +using ToolsDesktop.Interfaces; +using ToolsDesktop.Models; +using ToolsModule.ManagmentSecurity; + +namespace DepartmentWindowsDesktop.EntityControls +{ + public partial class ControlStudentMarkSyncHistoryRecordList : + GenericControlEntityList, + IGenericControlEntityList + { + public ControlStudentMarkSyncHistoryRecordList() + { + InitializeComponent(); + Title = "Записи Синхронизации Оценок"; + ControlId = new Guid("ac4c5f38-8cd3-4891-a45d-2fb049eb4010"); + AccessOperation = AccessOperation.ОценкиСтудентов; + ControlViewEntityElement = new ControlOrderSyncHistoryRecordElement(); + _genericControlViewEntityList = this; + } + + public IControl GetInstanceGenericControl() => new ControlStudentMarkSyncHistoryRecordList() { ControlId = Guid.NewGuid() }; + + public ControlViewEntityListConfiguration GetConfigControl() => new() + { + PaginationOn = false, + HideToolStripButton = new List + { + ToolStripButtonListNames.toolStripButtonAdd, + ToolStripButtonListNames.toolStripButtonUpd, + ToolStripButtonListNames.toolStripButtonDel, + ToolStripButtonListNames.toolStripButtonSearch + } + }; + } +} diff --git a/DepartmentPortal/Department/DepartmentWindowsDesktop/EntityControls/StudentMarkSyncHistoryRecord/ControlStudentMarkSyncHistoryRecordList.resx b/DepartmentPortal/Department/DepartmentWindowsDesktop/EntityControls/StudentMarkSyncHistoryRecord/ControlStudentMarkSyncHistoryRecordList.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/DepartmentPortal/Department/DepartmentWindowsDesktop/EntityControls/StudentMarkSyncHistoryRecord/ControlStudentMarkSyncHistoryRecordList.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file