From fcad2e9815d659dc3df009687e5bbfa82dbca4cf Mon Sep 17 00:00:00 2001 From: kotcheshir73 Date: Wed, 14 Apr 2021 13:47:48 +0400 Subject: [PATCH] =?UTF-8?q?=D0=BF=D0=B5=D1=80=D0=B5=D0=B2=D0=BE=D0=B4=20?= =?UTF-8?q?=D0=BD=D0=B0=20=D0=B0=D1=81=D0=B8=D0=BD=D1=85=D1=80=D0=BE=D0=BD?= =?UTF-8?q?=D0=BD=D0=BE=D1=81=D1=82=D1=8C=20=D0=B2=20=D0=B1=D0=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AbstractGenerticEntityService.cs | 52 ++++++++++--------- .../GenericControlEntityElement.cs | 17 +++--- .../MainControls/GenericControlEntityList.cs | 26 +++++----- .../BusinessLogics/GenericBusinessLogic.cs | 21 ++++---- .../Interfaces/IGenerticEntityService.cs | 9 ++-- .../Discipline/ControlDisciplineList.cs | 2 +- .../Employee/ControlEmployeeElement.cs | 17 +++--- .../Lecturer/ControlLecturerElement.cs | 17 +++--- .../ControlOrderStudentRecordList.Designer.cs | 5 -- .../Student/ControlStudentElement.cs | 17 +++--- .../Access/ControlAccessList.cs | 2 +- 11 files changed, 95 insertions(+), 90 deletions(-) diff --git a/DepartmentPortal/Common/DatabaseCore/AbstractGenerticEntityService.cs b/DepartmentPortal/Common/DatabaseCore/AbstractGenerticEntityService.cs index 84ebb28..044e9d5 100644 --- a/DepartmentPortal/Common/DatabaseCore/AbstractGenerticEntityService.cs +++ b/DepartmentPortal/Common/DatabaseCore/AbstractGenerticEntityService.cs @@ -8,6 +8,7 @@ using ModuleTools.Models; using ModuleTools.ViewModels; using System; using System.Linq; +using System.Threading.Tasks; namespace DatabaseCore { @@ -18,7 +19,7 @@ namespace DatabaseCore where L : ListViewModel, new() where E : ElementViewModel { - public OperationResultModel Create(S model) + public async Task CreateAsync(S model) { using var context = DatabaseManager.GetContext; @@ -32,8 +33,8 @@ namespace DatabaseCore if (exsistEntity == null) { var entity = Mapper.MapToClass(model, true); - context.Set().Add(entity); - context.SaveChanges(); + await context.Set().AddAsync(entity); + await context.SaveChangesAsync(); return OperationResultModel.Success(Mapper.MapToClass(entity, true)); } else @@ -42,7 +43,7 @@ namespace DatabaseCore { exsistEntity = Mapper.MapToClass(model, exsistEntity, true); exsistEntity.IsDeleted = false; - context.SaveChanges(); + await context.SaveChangesAsync(); return OperationResultModel.Success(Mapper.MapToClass(exsistEntity, true)); } else @@ -52,7 +53,7 @@ namespace DatabaseCore } } - public OperationResultModel Delete(G model) + public async Task DeleteAsync(G model) { using var context = DatabaseManager.GetContext; using var transaction = context.Database.BeginTransaction(); @@ -77,22 +78,22 @@ namespace DatabaseCore entity.IsDeleted = true; entity.DateDelete = DateTime.Now; - context.SaveChanges(); + await context.SaveChangesAsync(); AdditionalDeleting(context, entity, model); - transaction.Commit(); + await transaction.CommitAsync(); } catch (Exception) { - transaction.Rollback(); + await transaction.RollbackAsync(); throw; } return OperationResultModel.Success(true); } - public OperationResultModel Read(G model) + public async Task ReadAsync(G model) { int countPages = 0; using var context = DatabaseManager.GetContext; @@ -114,26 +115,29 @@ namespace DatabaseCore query = OrderingWhenReading(query); - if (model.PageNumber.HasValue && model.PageSize.HasValue) - { - countPages = (int)Math.Ceiling((double)query.Count() / model.PageSize.Value); - query = query - .Skip(model.PageSize.Value * model.PageNumber.Value) - .Take(model.PageSize.Value); - } - query = IncludingWhenReading(query); - var result = new L + return await Task.Run(() => { - MaxCount = countPages, - List = query.Select(x => Mapper.MapToClass(x, model.HaveRight)).ToList() - }; - return OperationResultModel.Success(result); + if (model.PageNumber.HasValue && model.PageSize.HasValue) + { + countPages = (int)Math.Ceiling((double)query.Count() / model.PageSize.Value); + query = query + .Skip(model.PageSize.Value * model.PageNumber.Value) + .Take(model.PageSize.Value); + } + var result = new L + { + MaxCount = countPages, + List = query.Select(x => Mapper.MapToClass(x, model.HaveRight)).ToList() + }; + + return OperationResultModel.Success(result); + }); } - public OperationResultModel Update(S model) + public async Task UpdateAsync(S model) { using var context = DatabaseManager.GetContext; @@ -160,7 +164,7 @@ namespace DatabaseCore } entity = Mapper.MapToClass(model, entity, true); - context.SaveChanges(); + await context.SaveChangesAsync(); return OperationResultModel.Success(Mapper.MapToClass(entity, true)); } diff --git a/DepartmentPortal/Common/DesktopTools/MainControls/GenericControlEntityElement.cs b/DepartmentPortal/Common/DesktopTools/MainControls/GenericControlEntityElement.cs index 3c005b6..37f8d8d 100644 --- a/DepartmentPortal/Common/DesktopTools/MainControls/GenericControlEntityElement.cs +++ b/DepartmentPortal/Common/DesktopTools/MainControls/GenericControlEntityElement.cs @@ -12,6 +12,7 @@ using ModuleTools.ViewModels; using System; using System.Linq; using System.Reflection; +using System.Threading.Tasks; using System.Windows.Forms; using System.Xml.Linq; @@ -120,7 +121,7 @@ namespace DesktopTools.Controls _controlViewEntityElement = this; } - public void OpenControl(ControlOpenModel model) + public async void OpenControl(ControlOpenModel model) { if (model.CloseElement != null) { @@ -139,7 +140,7 @@ namespace DesktopTools.Controls } if (model.ElementId.HasValue) { - Element = _businessLogic.GetElement(new G { Id = model.ElementId }); + Element = await _businessLogic.GetElementAsync(new G { Id = model.ElementId }); if (Element == null) { DialogHelper.MessageException(_businessLogic.Errors, $"{Title}. Ошибки при получении элемента"); @@ -164,7 +165,7 @@ namespace DesktopTools.Controls private void InitEvents() { - toolStripButtonSave.Click += (object sender, EventArgs e) => { Save(); }; + toolStripButtonSave.Click += async (object sender, EventArgs e) => { await SaveAsync(); }; toolStripButtonReload.Click += (object sender, EventArgs e) => { if (DialogHelper.MessageQuestion("Отменить все внесенные изменения?") == DialogResult.Yes) @@ -179,11 +180,11 @@ namespace DesktopTools.Controls } } }; - toolStripButtonClose.Click += (object sender, EventArgs e) => + toolStripButtonClose.Click += async (object sender, EventArgs e) => { if (_haveChages && DialogHelper.MessageQuestion("Имеется несохраненные данные, вы действительно хотите закрыть элемент?", "Закрытие элемента") == DialogResult.Yes) { - if (!Save()) + if (!(await SaveAsync())) { return; } @@ -348,7 +349,7 @@ namespace DesktopTools.Controls } } - private bool Save() + private async Task SaveAsync() { if (CheckValues.GetInvocationList().Select(x => (bool)x.DynamicInvoke()).ToList().Any(x => !x)) { @@ -368,11 +369,11 @@ namespace DesktopTools.Controls { if (Element == null) { - Element = _businessLogic.Create(model); + Element = await _businessLogic.CreateAsync(model); } else { - Element = _businessLogic.Update(model); + Element = await _businessLogic.UpdateAsync(model); } if (Element == null) diff --git a/DepartmentPortal/Common/DesktopTools/MainControls/GenericControlEntityList.cs b/DepartmentPortal/Common/DesktopTools/MainControls/GenericControlEntityList.cs index fcee26f..26a1151 100644 --- a/DepartmentPortal/Common/DesktopTools/MainControls/GenericControlEntityList.cs +++ b/DepartmentPortal/Common/DesktopTools/MainControls/GenericControlEntityList.cs @@ -99,7 +99,7 @@ namespace DesktopTools.Controls public IControl GetInstanceControl() => _genericControlViewEntityList?.GetInstanceGenericControl(); - public string GetTitleFromIdControl(Guid id) => _businessLogic.GetElement(new G { Id = id })?.ToString(); + public string GetTitleFromIdControl(Guid id) => _businessLogic.GetElementAsync(new G { Id = id }).Result?.ToString(); public string SaveControlToXml() => new XElement("Control", new XAttribute("Type", GetType().FullName), @@ -290,10 +290,10 @@ namespace DesktopTools.Controls { toolStripButtonAdd.Click += (object sender, EventArgs e) => { AddElement(); }; toolStripButtonUpd.Click += (object sender, EventArgs e) => { UpdElement(); }; - toolStripButtonDel.Click += (object sender, EventArgs e) => { DelElement(); }; + toolStripButtonDel.Click += async (object sender, EventArgs e) => { await DelElementAsync(); }; toolStripButtonSearch.Click += (object sender, EventArgs e) => { panelSearch.Visible = !panelSearch.Visible; }; toolStripButtonRef.Click += async (object sender, EventArgs e) => { await LoadListAsync(); }; - toolStripButtonSelect.Click += (object sender, EventArgs e) => { SelectElement(); }; + toolStripButtonSelect.Click += async (object sender, EventArgs e) => { await SelectElement(); }; toolStripButtonClose.Click += (object sender, EventArgs e) => { CloseListEvent?.Invoke(ControlId); @@ -302,9 +302,9 @@ namespace DesktopTools.Controls }; buttonSearch.Click += async (object sender, EventArgs e) => { await LoadListAsync(); }; - buttonCancelSearch.Click += (object sender, EventArgs e) => { panelSearch.Visible = false; }; + buttonCancelSearch.Click += async (object sender, EventArgs e) => { panelSearch.Visible = false; await LoadListAsync(); }; - dataGridViewList.KeyDown += (object sender, KeyEventArgs e) => + dataGridViewList.KeyDown += async (object sender, KeyEventArgs e) => { switch (e.KeyCode) { @@ -323,16 +323,16 @@ namespace DesktopTools.Controls case Keys.Delete: if (toolStripButtonDel.Visible) { - DelElement(); + await DelElementAsync(); } break; } }; - dataGridViewList.CellDoubleClick += (object sender, DataGridViewCellEventArgs e) => + dataGridViewList.CellDoubleClick += async (object sender, DataGridViewCellEventArgs e) => { if (_openMode == ControlOpenMode.Select && dataGridViewList.SelectedRows.Count > 0) { - SelectElement(); + await SelectElement(); } UpdElement(); }; @@ -440,7 +440,7 @@ namespace DesktopTools.Controls } } } - await Task.Run(() => data = _businessLogic.GetList(model)); + data = await _businessLogic.GetListAsync(model); if (data == null && _businessLogic.Errors.Count > 0) { DialogHelper.MessageException(_businessLogic.Errors, $"{Title}. Ошибки при получении данных"); @@ -513,7 +513,7 @@ namespace DesktopTools.Controls /// /// Вызов события при удалении элемента /// - private async void DelElement() + private async Task DelElementAsync() { if (MessageBox.Show("Удалить выбранные записи?", "Подтверждение", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { @@ -523,7 +523,7 @@ namespace DesktopTools.Controls Cursor.Current = Cursors.WaitCursor; foreach (DataGridViewRow selected in dataGridViewList.SelectedRows) { - _businessLogic.Delete(new G { Id = new Guid(selected.Cells[0].Value.ToString()) }); + await _businessLogic.DeleteAsync(new G { Id = new Guid(selected.Cells[0].Value.ToString()) }); } } catch (Exception ex) @@ -548,12 +548,12 @@ namespace DesktopTools.Controls /// /// Вызов события при выборе элемента /// - private void SelectElement() + private async Task SelectElement() { try { SelectedId = new Guid(dataGridViewList.SelectedRows[0].Cells[0].Value.ToString()); - SelectedText = _businessLogic.GetElement(new G { Id = SelectedId })?.ToString(); + SelectedText = (await _businessLogic.GetElementAsync(new G { Id = SelectedId }))?.ToString(); CloseSelectEvent?.Invoke(true); Dispose(); } diff --git a/DepartmentPortal/Common/ModuleTools/BusinessLogics/GenericBusinessLogic.cs b/DepartmentPortal/Common/ModuleTools/BusinessLogics/GenericBusinessLogic.cs index 9070282..0c30fe4 100644 --- a/DepartmentPortal/Common/ModuleTools/BusinessLogics/GenericBusinessLogic.cs +++ b/DepartmentPortal/Common/ModuleTools/BusinessLogics/GenericBusinessLogic.cs @@ -3,6 +3,7 @@ using ModuleTools.Enums; using ModuleTools.Interfaces; using ModuleTools.ViewModels; using System; +using System.Threading.Tasks; namespace ModuleTools.BusinessLogics { @@ -41,7 +42,7 @@ namespace ModuleTools.BusinessLogics /// /// /// - public L GetList(G model) + public async Task GetListAsync(G model) { Errors.Clear(); try @@ -51,7 +52,7 @@ namespace ModuleTools.BusinessLogics { throw new MethodAccessException("Нет прав на получение списка"); } - var result = Service.Read(model); + var result = await Service.ReadAsync(model); if (!result.IsSucceeded) { Errors.AddRange(result.Errors); @@ -72,7 +73,7 @@ namespace ModuleTools.BusinessLogics /// /// /// - public E GetElement(G model) + public async Task GetElementAsync(G model) { Errors.Clear(); try @@ -82,7 +83,7 @@ namespace ModuleTools.BusinessLogics { throw new MethodAccessException("Нет прав на получение списка"); } - var result = Service.Read(model); + var result = await Service.ReadAsync(model); if (!result.IsSucceeded) { Errors.AddRange(result.Errors); @@ -102,7 +103,7 @@ namespace ModuleTools.BusinessLogics /// /// /// - public E Create(S model) + public async Task CreateAsync(S model) { Errors.Clear(); try @@ -111,7 +112,7 @@ namespace ModuleTools.BusinessLogics { return null; } - var result = Service.Create(model); + var result = await Service.CreateAsync(model); if (!result.IsSucceeded) { Errors.AddRange(result.Errors); @@ -132,7 +133,7 @@ namespace ModuleTools.BusinessLogics /// /// /// - public E Update(S model) + public async Task UpdateAsync(S model) { Errors.Clear(); try @@ -141,7 +142,7 @@ namespace ModuleTools.BusinessLogics { return null; } - var result = Service.Update(model); + var result = await Service.UpdateAsync(model); if (!result.IsSucceeded) { Errors.AddRange(result.Errors); @@ -162,7 +163,7 @@ namespace ModuleTools.BusinessLogics /// /// /// - public bool Delete(G model) + public async Task DeleteAsync(G model) { Errors.Clear(); try @@ -171,7 +172,7 @@ namespace ModuleTools.BusinessLogics { return false; } - var result = Service.Delete(model); + var result = await Service.DeleteAsync(model); if (!result.IsSucceeded) { Errors.AddRange(result.Errors); diff --git a/DepartmentPortal/Common/ModuleTools/Interfaces/IGenerticEntityService.cs b/DepartmentPortal/Common/ModuleTools/Interfaces/IGenerticEntityService.cs index c13f548..bba2124 100644 --- a/DepartmentPortal/Common/ModuleTools/Interfaces/IGenerticEntityService.cs +++ b/DepartmentPortal/Common/ModuleTools/Interfaces/IGenerticEntityService.cs @@ -1,5 +1,6 @@ using ModuleTools.BindingModels; using ModuleTools.Models; +using System.Threading.Tasks; namespace ModuleTools.Interfaces { @@ -15,27 +16,27 @@ namespace ModuleTools.Interfaces /// /// /// - OperationResultModel Read(G model); + Task ReadAsync(G model); /// /// Создание новой сущности /// /// /// - OperationResultModel Create(S model); + Task CreateAsync(S model); /// /// Изменение сущности /// /// /// - OperationResultModel Update(S model); + Task UpdateAsync(S model); /// /// Удаление сущности /// /// /// - OperationResultModel Delete(G model); + Task DeleteAsync(G model); } } \ No newline at end of file diff --git a/DepartmentPortal/Department/DepartmentWindowsDesktop/EntityControls/Discipline/ControlDisciplineList.cs b/DepartmentPortal/Department/DepartmentWindowsDesktop/EntityControls/Discipline/ControlDisciplineList.cs index ea9f066..40b8adc 100644 --- a/DepartmentPortal/Department/DepartmentWindowsDesktop/EntityControls/Discipline/ControlDisciplineList.cs +++ b/DepartmentPortal/Department/DepartmentWindowsDesktop/EntityControls/Discipline/ControlDisciplineList.cs @@ -38,7 +38,7 @@ namespace DepartmentWindowsDesktop.EntityControls public ControlViewEntityListConfiguration GetConfigControl() => new() { PaginationOn = true, - PageNamesForPagination = _disciplineBlockBusinessLogic.GetList(new DisciplineBlockGetBindingModel())?.List?.Select(x => + PageNamesForPagination = _disciplineBlockBusinessLogic.GetListAsync(new DisciplineBlockGetBindingModel()).Result?.List?.Select(x => new PageNamesForPaginationModel { Key = x.Id, diff --git a/DepartmentPortal/Department/DepartmentWindowsDesktop/EntityControls/Employee/ControlEmployeeElement.cs b/DepartmentPortal/Department/DepartmentWindowsDesktop/EntityControls/Employee/ControlEmployeeElement.cs index 9c73499..d935658 100644 --- a/DepartmentPortal/Department/DepartmentWindowsDesktop/EntityControls/Employee/ControlEmployeeElement.cs +++ b/DepartmentPortal/Department/DepartmentWindowsDesktop/EntityControls/Employee/ControlEmployeeElement.cs @@ -13,6 +13,7 @@ using SecurityBusinessLogic.BusinessLogics; using SecurityBusinessLogic.ViewModels; using System; using System.Collections.Generic; +using System.Threading.Tasks; namespace DepartmentWindowsDesktop.EntityControls { @@ -37,22 +38,22 @@ namespace DepartmentWindowsDesktop.EntityControls { ControlOnMoveElem = new Dictionary { - { "ToolStripMenuItemAddUser", ("Добавить пользователя", (object sender, EventArgs e) => { AddUser(); }) }, - { "ToolStripMenuItemPasswordReset", ("Сброс пароля пользователя", (object sender, EventArgs e) => { PasswordReset(); }) } + { "ToolStripMenuItemAddUser", ("Добавить пользователя", async (object sender, EventArgs e) => { await AddUserAsync(); }) }, + { "ToolStripMenuItemPasswordReset", ("Сброс пароля пользователя", async (object sender, EventArgs e) => { await PasswordResetAsync(); }) } } }; /// /// Поиск пользователя под учетку, либо добавление нового, если не найдено /// - private void AddUser() + private async Task AddUserAsync() { var model = new EmployeeSetBindingModel(); if (FillModel(model)) { var logic = DependencyManager.Instance.Resolve(); var userName = $"{model.LastName}{(model.FirstName.IsNotEmpty() ? $" {model.FirstName[0]}." : string.Empty)}{(model.Patronymic.IsNotEmpty() ? $"{model.Patronymic[0]}." : string.Empty)}"; - var result = logic.GetList(new UserGetBindingModel { UserNameForSearch = userName }); + var result = await logic.GetListAsync(new UserGetBindingModel { UserNameForSearch = userName }); if (result != null) { if (result.List.Count > 1) @@ -66,7 +67,7 @@ namespace DepartmentWindowsDesktop.EntityControls } else { - var newuser = logic.Create(new UserSetBindingModel + var newuser = await logic.CreateAsync(new UserSetBindingModel { Login = userName, Password = model.DateBirth.ToShortDateString(), @@ -91,7 +92,7 @@ namespace DepartmentWindowsDesktop.EntityControls /// /// Сброс пароля пользователя /// - private void PasswordReset() + private async Task PasswordResetAsync() { if (_element == null) { @@ -101,14 +102,14 @@ namespace DepartmentWindowsDesktop.EntityControls if (FillModel(model)) { var logic = DependencyManager.Instance.Resolve(); - var user = logic.GetElement(new UserGetBindingModel { Id = _element.UserId }); + var user = await logic.GetElementAsync(new UserGetBindingModel { Id = _element.UserId }); if (user == null) { DialogHelper.MessageException(logic.Errors, "Ошибка при получении пользователя"); return; } user.Password = model.DateBirth.ToShortDateString(); - user = logic.Update(Mapper.MapToClass(user, true)); + user = await logic.UpdateAsync(Mapper.MapToClass(user, true)); if (user == null) { DialogHelper.MessageException(logic.Errors, "Ошибка при получении пользователя"); diff --git a/DepartmentPortal/Department/DepartmentWindowsDesktop/EntityControls/Lecturer/ControlLecturerElement.cs b/DepartmentPortal/Department/DepartmentWindowsDesktop/EntityControls/Lecturer/ControlLecturerElement.cs index 9c8d719..13e48dc 100644 --- a/DepartmentPortal/Department/DepartmentWindowsDesktop/EntityControls/Lecturer/ControlLecturerElement.cs +++ b/DepartmentPortal/Department/DepartmentWindowsDesktop/EntityControls/Lecturer/ControlLecturerElement.cs @@ -13,6 +13,7 @@ using SecurityBusinessLogic.BusinessLogics; using SecurityBusinessLogic.ViewModels; using System; using System.Collections.Generic; +using System.Threading.Tasks; namespace DepartmentWindowsDesktop.EntityControls { @@ -37,22 +38,22 @@ namespace DepartmentWindowsDesktop.EntityControls { ControlOnMoveElem = new Dictionary { - { "ToolStripMenuItemAddUser", ("Добавить пользователя", (object sender, EventArgs e) => { AddUser(); }) }, - { "ToolStripMenuItemPasswordReset", ("Сброс пароля пользователя", (object sender, EventArgs e) => { PasswordReset(); }) } + { "ToolStripMenuItemAddUser", ("Добавить пользователя", async (object sender, EventArgs e) => { await AddUserAsunc(); }) }, + { "ToolStripMenuItemPasswordReset", ("Сброс пароля пользователя", async (object sender, EventArgs e) => { await PasswordResetAsync(); }) } } }; /// /// Поиск пользователя под учетку, либо добавление нового, если не найдено /// - private void AddUser() + private async Task AddUserAsunc() { var model = new LecturerSetBindingModel(); if (FillModel(model)) { var logic = DependencyManager.Instance.Resolve(); var userName = $"{model.LastName}{(model.FirstName.IsNotEmpty() ? $" {model.FirstName[0]}." : string.Empty)}{(model.Patronymic.IsNotEmpty() ? $"{model.Patronymic[0]}." : string.Empty)}"; - var result = logic.GetList(new UserGetBindingModel { UserNameForSearch = userName }); + var result = await logic.GetListAsync(new UserGetBindingModel { UserNameForSearch = userName }); if (result != null) { if (result.List.Count > 1) @@ -66,7 +67,7 @@ namespace DepartmentWindowsDesktop.EntityControls } else { - var newuser = logic.Create(new UserSetBindingModel + var newuser = await logic.CreateAsync(new UserSetBindingModel { Login = userName, Password = model.DateBirth.ToShortDateString(), @@ -91,7 +92,7 @@ namespace DepartmentWindowsDesktop.EntityControls /// /// Сброс пароля пользователя /// - private void PasswordReset() + private async Task PasswordResetAsync() { if (_element == null) { @@ -101,14 +102,14 @@ namespace DepartmentWindowsDesktop.EntityControls if (FillModel(model)) { var logic = DependencyManager.Instance.Resolve(); - var user = logic.GetElement(new UserGetBindingModel { Id = _element.UserId }); + var user = await logic.GetElementAsync(new UserGetBindingModel { Id = _element.UserId }); if (user == null) { DialogHelper.MessageException(logic.Errors, "Ошибка при получении пользователя"); return; } user.Password = model.DateBirth.ToShortDateString(); - user = logic.Update(Mapper.MapToClass(user, true)); + user = await logic.UpdateAsync(Mapper.MapToClass(user, true)); if (user == null) { DialogHelper.MessageException(logic.Errors, "Ошибка при получении пользователя"); diff --git a/DepartmentPortal/Department/DepartmentWindowsDesktop/EntityControls/OrderStudentRecord/ControlOrderStudentRecordList.Designer.cs b/DepartmentPortal/Department/DepartmentWindowsDesktop/EntityControls/OrderStudentRecord/ControlOrderStudentRecordList.Designer.cs index 3ad7ee0..a8fcb15 100644 --- a/DepartmentPortal/Department/DepartmentWindowsDesktop/EntityControls/OrderStudentRecord/ControlOrderStudentRecordList.Designer.cs +++ b/DepartmentPortal/Department/DepartmentWindowsDesktop/EntityControls/OrderStudentRecord/ControlOrderStudentRecordList.Designer.cs @@ -3,11 +3,6 @@ namespace DepartmentWindowsDesktop.EntityControls { partial class ControlOrderStudentRecordList { - /// - /// Обязательная переменная конструктора. - /// - private System.ComponentModel.IContainer components = null; - /// /// Освободить все используемые ресурсы. /// diff --git a/DepartmentPortal/Department/DepartmentWindowsDesktop/EntityControls/Student/ControlStudentElement.cs b/DepartmentPortal/Department/DepartmentWindowsDesktop/EntityControls/Student/ControlStudentElement.cs index d0584db..7e45b20 100644 --- a/DepartmentPortal/Department/DepartmentWindowsDesktop/EntityControls/Student/ControlStudentElement.cs +++ b/DepartmentPortal/Department/DepartmentWindowsDesktop/EntityControls/Student/ControlStudentElement.cs @@ -13,6 +13,7 @@ using SecurityBusinessLogic.BusinessLogics; using SecurityBusinessLogic.ViewModels; using System; using System.Collections.Generic; +using System.Threading.Tasks; namespace DepartmentWindowsDesktop.EntityControls { @@ -37,22 +38,22 @@ namespace DepartmentWindowsDesktop.EntityControls { ControlOnMoveElem = new Dictionary { - { "ToolStripMenuItemAddUser", ("Добавить пользователя", (object sender, EventArgs e) => { AddUser(); }) }, - { "ToolStripMenuItemPasswordReset", ("Сброс пароля пользователя", (object sender, EventArgs e) => { PasswordReset(); }) } + { "ToolStripMenuItemAddUser", ("Добавить пользователя", async (object sender, EventArgs e) => { await AddUserAsync(); }) }, + { "ToolStripMenuItemPasswordReset", ("Сброс пароля пользователя", async (object sender, EventArgs e) => { await PasswordResetAsync(); }) } } }; /// /// Поиск пользователя под учетку, либо добавление нового, если не найдено /// - private void AddUser() + private async Task AddUserAsync() { var model = new StudentSetBindingModel(); if (FillModel(model)) { var logic = DependencyManager.Instance.Resolve(); var userName = $"{model.LastName}{(model.FirstName.IsNotEmpty() ? $" {model.FirstName[0]}." : string.Empty)}{(model.Patronymic.IsNotEmpty() ? $"{model.Patronymic[0]}." : string.Empty)}"; - var result = logic.GetList(new UserGetBindingModel { UserNameForSearch = userName }); + var result = await logic.GetListAsync(new UserGetBindingModel { UserNameForSearch = userName }); if (result != null) { if (result.List.Count > 1) @@ -66,7 +67,7 @@ namespace DepartmentWindowsDesktop.EntityControls } else { - var newuser = logic.Create(new UserSetBindingModel + var newuser = await logic.CreateAsync(new UserSetBindingModel { Login = userName, Password = model.NumberOfBook, @@ -91,7 +92,7 @@ namespace DepartmentWindowsDesktop.EntityControls /// /// Сброс пароля пользователя /// - private void PasswordReset() + private async Task PasswordResetAsync() { if (_element == null) { @@ -101,14 +102,14 @@ namespace DepartmentWindowsDesktop.EntityControls if (FillModel(model)) { var logic = DependencyManager.Instance.Resolve(); - var user = logic.GetElement(new UserGetBindingModel { Id = _element.UserId }); + var user = await logic.GetElementAsync(new UserGetBindingModel { Id = _element.UserId }); if (user == null) { DialogHelper.MessageException(logic.Errors, "Ошибка при получении пользователя"); return; } user.Password = model.NumberOfBook; - user = logic.Update(Mapper.MapToClass(user, true)); + user = await logic.UpdateAsync(Mapper.MapToClass(user, true)); if (user == null) { DialogHelper.MessageException(logic.Errors, "Ошибка при получении пользователя"); diff --git a/DepartmentPortal/Security/SecurityWindowsDesktop/EntityControls/Access/ControlAccessList.cs b/DepartmentPortal/Security/SecurityWindowsDesktop/EntityControls/Access/ControlAccessList.cs index b350bc7..3219236 100644 --- a/DepartmentPortal/Security/SecurityWindowsDesktop/EntityControls/Access/ControlAccessList.cs +++ b/DepartmentPortal/Security/SecurityWindowsDesktop/EntityControls/Access/ControlAccessList.cs @@ -39,7 +39,7 @@ namespace SecurityWindowsDesktop.EntityControls public ControlViewEntityListConfiguration GetConfigControl() => new() { PaginationOn = true, - PageNamesForPagination = _roleBusinessLogic.GetList(new RoleGetBindingModel())?.List?.Select(x => + PageNamesForPagination = _roleBusinessLogic.GetListAsync(new RoleGetBindingModel()).Result?.List?.Select(x => new PageNamesForPaginationModel { Key = x.Id,