убрали асинхронность + для студентов ключ не guid, а перечисление, доавбили условие в GenericControlEntityList, LaunchControl
This commit is contained in:
parent
2acaecbf8d
commit
d79be9a8dc
@ -8,7 +8,6 @@ using ModuleTools.Models;
|
||||
using ModuleTools.ViewModels;
|
||||
using System;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace DatabaseCore
|
||||
{
|
||||
@ -19,7 +18,7 @@ namespace DatabaseCore
|
||||
where L : ListViewModel<E>, new()
|
||||
where E : ElementViewModel
|
||||
{
|
||||
public async Task<OperationResultModel> CreateAsync(S model)
|
||||
public OperationResultModel Create(S model)
|
||||
{
|
||||
using var context = DatabaseManager.GetContext;
|
||||
|
||||
@ -33,8 +32,8 @@ namespace DatabaseCore
|
||||
if (exsistEntity == null)
|
||||
{
|
||||
var entity = Mapper.MapToClass<S, T>(model, true);
|
||||
await context.Set<T>().AddAsync(entity);
|
||||
await context.SaveChangesAsync();
|
||||
context.Set<T>().Add(entity);
|
||||
context.SaveChanges();
|
||||
return OperationResultModel.Success(Mapper.MapToClass<T, E>(entity, true));
|
||||
}
|
||||
else
|
||||
@ -43,7 +42,7 @@ namespace DatabaseCore
|
||||
{
|
||||
exsistEntity = Mapper.MapToClass(model, exsistEntity, true);
|
||||
exsistEntity.IsDeleted = false;
|
||||
await context.SaveChangesAsync();
|
||||
context.SaveChanges();
|
||||
return OperationResultModel.Success(Mapper.MapToClass<T, E>(exsistEntity, true));
|
||||
}
|
||||
else
|
||||
@ -53,13 +52,13 @@ namespace DatabaseCore
|
||||
}
|
||||
}
|
||||
|
||||
public async Task<OperationResultModel> DeleteAsync(G model)
|
||||
public OperationResultModel Delete(G model)
|
||||
{
|
||||
using var context = DatabaseManager.GetContext;
|
||||
using var transaction = context.Database.BeginTransaction();
|
||||
try
|
||||
{
|
||||
var entity = await context.Set<T>().FirstOrDefaultAsync(x => x.Id == model.Id);
|
||||
var entity = context.Set<T>().FirstOrDefault(x => x.Id == model.Id);
|
||||
if (entity == null)
|
||||
{
|
||||
return OperationResultModel.Error("Error:", "Элемент не найден", ResultServiceStatusCode.NotFound);
|
||||
@ -78,22 +77,22 @@ namespace DatabaseCore
|
||||
entity.IsDeleted = true;
|
||||
entity.DateDelete = DateTime.Now;
|
||||
|
||||
await context.SaveChangesAsync();
|
||||
context.SaveChanges();
|
||||
|
||||
AdditionalDeleting(context, entity, model);
|
||||
|
||||
await transaction.CommitAsync();
|
||||
transaction.Commit();
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
await transaction.RollbackAsync();
|
||||
transaction.Rollback();
|
||||
throw;
|
||||
}
|
||||
|
||||
return OperationResultModel.Success(true);
|
||||
}
|
||||
|
||||
public async Task<OperationResultModel> RestoreAsync(G model)
|
||||
public OperationResultModel Restore(G model)
|
||||
{
|
||||
if (model.Id.HasValue || AdditionalCheckForSingleGet(model))
|
||||
{
|
||||
@ -110,14 +109,14 @@ namespace DatabaseCore
|
||||
}
|
||||
entity.IsDeleted = false;
|
||||
|
||||
await context.SaveChangesAsync();
|
||||
context.SaveChanges();
|
||||
|
||||
return OperationResultModel.Success(Mapper.MapToClass<T, E>(entity, true));
|
||||
}
|
||||
return OperationResultModel.Error("Error:", "Элемент не найден", ResultServiceStatusCode.NotFound);
|
||||
}
|
||||
|
||||
public async Task<OperationResultModel> ReadAsync(G model)
|
||||
public OperationResultModel Read(G model)
|
||||
{
|
||||
int countPages = 0;
|
||||
using var context = DatabaseManager.GetContext;
|
||||
@ -146,9 +145,6 @@ namespace DatabaseCore
|
||||
|
||||
query = IncludingWhenReading(query);
|
||||
|
||||
return await Task.Run(() =>
|
||||
{
|
||||
|
||||
if (model.PageNumber.HasValue && model.PageSize.HasValue)
|
||||
{
|
||||
countPages = (int)Math.Ceiling((double)query.Count() / model.PageSize.Value);
|
||||
@ -163,10 +159,9 @@ namespace DatabaseCore
|
||||
};
|
||||
|
||||
return OperationResultModel.Success(result);
|
||||
});
|
||||
}
|
||||
|
||||
public async Task<OperationResultModel> UpdateAsync(S model)
|
||||
public OperationResultModel Update(S model)
|
||||
{
|
||||
using var context = DatabaseManager.GetContext;
|
||||
|
||||
@ -193,7 +188,7 @@ namespace DatabaseCore
|
||||
}
|
||||
entity = Mapper.MapToClass(model, entity, true);
|
||||
|
||||
await context.SaveChangesAsync();
|
||||
context.SaveChanges();
|
||||
|
||||
return OperationResultModel.Success(Mapper.MapToClass<T, E>(entity, true));
|
||||
}
|
||||
|
@ -121,7 +121,7 @@ namespace DesktopTools.Controls
|
||||
_controlViewEntityElement = this;
|
||||
}
|
||||
|
||||
public async void OpenControl(ControlOpenModel model)
|
||||
public void OpenControl(ControlOpenModel model)
|
||||
{
|
||||
if (model.CloseElement != null)
|
||||
{
|
||||
@ -140,7 +140,7 @@ namespace DesktopTools.Controls
|
||||
}
|
||||
if (model.ElementId.HasValue)
|
||||
{
|
||||
Element = await _businessLogic.GetElementAsync(new G { Id = model.ElementId });
|
||||
Element = _businessLogic.GetElement(new G { Id = model.ElementId });
|
||||
if (Element == null)
|
||||
{
|
||||
DialogHelper.MessageException(_businessLogic.Errors, $"{Title}. Ошибки при получении элемента");
|
||||
@ -165,7 +165,7 @@ namespace DesktopTools.Controls
|
||||
|
||||
private void InitEvents()
|
||||
{
|
||||
toolStripButtonSave.Click += async (object sender, EventArgs e) => { await SaveAsync(); };
|
||||
toolStripButtonSave.Click += (object sender, EventArgs e) => { Save(); };
|
||||
toolStripButtonReload.Click += (object sender, EventArgs e) =>
|
||||
{
|
||||
if (DialogHelper.MessageQuestion("Отменить все внесенные изменения?") == DialogResult.Yes)
|
||||
@ -180,11 +180,11 @@ namespace DesktopTools.Controls
|
||||
}
|
||||
}
|
||||
};
|
||||
toolStripButtonClose.Click += async (object sender, EventArgs e) =>
|
||||
toolStripButtonClose.Click += (object sender, EventArgs e) =>
|
||||
{
|
||||
if (_haveChages && DialogHelper.MessageQuestion("Имеется несохраненные данные, вы действительно хотите закрыть элемент?", "Закрытие элемента") == DialogResult.Yes)
|
||||
{
|
||||
if (!(await SaveAsync()))
|
||||
if (!Save())
|
||||
{
|
||||
return;
|
||||
}
|
||||
@ -349,7 +349,7 @@ namespace DesktopTools.Controls
|
||||
}
|
||||
}
|
||||
|
||||
private async Task<bool> SaveAsync()
|
||||
private bool Save()
|
||||
{
|
||||
if (CheckValues.GetInvocationList().Select(x => (bool)x.DynamicInvoke()).ToList().Any(x => !x))
|
||||
{
|
||||
@ -369,11 +369,11 @@ namespace DesktopTools.Controls
|
||||
{
|
||||
if (Element == null)
|
||||
{
|
||||
Element = await _businessLogic.CreateAsync(model);
|
||||
Element = _businessLogic.Create(model);
|
||||
}
|
||||
else
|
||||
{
|
||||
Element = await _businessLogic.UpdateAsync(model);
|
||||
Element = _businessLogic.Update(model);
|
||||
}
|
||||
|
||||
if (Element == null)
|
||||
|
@ -12,7 +12,6 @@ using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using System.Xml.Linq;
|
||||
|
||||
@ -68,7 +67,7 @@ namespace DesktopTools.Controls
|
||||
}
|
||||
|
||||
#region IControlViewEntityList
|
||||
public async void OpenControl(ControlOpenModel model)
|
||||
public void OpenControl(ControlOpenModel model)
|
||||
{
|
||||
_openMode = model.OpenMode;
|
||||
if (model.CloseList != null)
|
||||
@ -93,13 +92,13 @@ namespace DesktopTools.Controls
|
||||
}
|
||||
if (!model.LazyLoading)
|
||||
{
|
||||
await LoadListAsync();
|
||||
LoadList();
|
||||
}
|
||||
}
|
||||
|
||||
public IControl GetInstanceControl() => _genericControlViewEntityList?.GetInstanceGenericControl();
|
||||
|
||||
public string GetTitleFromIdControl(Guid id) => _businessLogic.GetElementAsync(new G { Id = id }).Result?.ToString();
|
||||
public string GetTitleFromIdControl(Guid id) => _businessLogic.GetElement(new G { Id = id })?.ToString();
|
||||
|
||||
public string SaveControlToXml() => new XElement("Control",
|
||||
new XAttribute("Type", GetType().FullName),
|
||||
@ -114,7 +113,7 @@ namespace DesktopTools.Controls
|
||||
new XElement("Value", ((toolStripComboBoxPageNames.SelectedItem as PageNamesForPaginationModel)?.Value ?? "-"))),
|
||||
new XElement("ParentId", ParentId?.ToString() ?? "-"))).ToString();
|
||||
|
||||
public async void LoadControlFromXml(string xml)
|
||||
public void LoadControlFromXml(string xml)
|
||||
{
|
||||
var control = XElement.Parse(xml);
|
||||
ControlId = new Guid(control.Attribute("ControlId").Value.ToString());
|
||||
@ -142,7 +141,7 @@ namespace DesktopTools.Controls
|
||||
{
|
||||
ParentId = new Guid(config.Element("ParentId").Value.ToString());
|
||||
}
|
||||
await LoadListAsync();
|
||||
LoadList();
|
||||
}
|
||||
#endregion
|
||||
|
||||
@ -290,10 +289,10 @@ namespace DesktopTools.Controls
|
||||
{
|
||||
toolStripButtonAdd.Click += (object sender, EventArgs e) => { AddElement(); };
|
||||
toolStripButtonUpd.Click += (object sender, EventArgs e) => { UpdElement(); };
|
||||
toolStripButtonDel.Click += async (object sender, EventArgs e) => { await DelElementAsync(); };
|
||||
toolStripButtonDel.Click += (object sender, EventArgs e) => { DelElement(); };
|
||||
toolStripButtonSearch.Click += (object sender, EventArgs e) => { panelSearch.Visible = !panelSearch.Visible; };
|
||||
toolStripButtonRef.Click += async (object sender, EventArgs e) => { await LoadListAsync(); };
|
||||
toolStripButtonSelect.Click += async (object sender, EventArgs e) => { await SelectElement(); };
|
||||
toolStripButtonRef.Click += (object sender, EventArgs e) => { LoadList(); };
|
||||
toolStripButtonSelect.Click += (object sender, EventArgs e) => { SelectElement(); };
|
||||
toolStripButtonClose.Click += (object sender, EventArgs e) =>
|
||||
{
|
||||
CloseListEvent?.Invoke(ControlId);
|
||||
@ -301,10 +300,10 @@ namespace DesktopTools.Controls
|
||||
Dispose();
|
||||
};
|
||||
|
||||
buttonSearch.Click += async (object sender, EventArgs e) => { await LoadListAsync(); };
|
||||
buttonCancelSearch.Click += async (object sender, EventArgs e) => { panelSearch.Visible = false; await LoadListAsync(); };
|
||||
buttonSearch.Click += (object sender, EventArgs e) => { LoadList(); };
|
||||
buttonCancelSearch.Click += (object sender, EventArgs e) => { panelSearch.Visible = false; LoadList(); };
|
||||
|
||||
dataGridViewList.KeyDown += async (object sender, KeyEventArgs e) =>
|
||||
dataGridViewList.KeyDown += (object sender, KeyEventArgs e) =>
|
||||
{
|
||||
switch (e.KeyCode)
|
||||
{
|
||||
@ -323,41 +322,41 @@ namespace DesktopTools.Controls
|
||||
case Keys.Delete:
|
||||
if (toolStripButtonDel.Visible)
|
||||
{
|
||||
await DelElementAsync();
|
||||
DelElement();
|
||||
}
|
||||
break;
|
||||
}
|
||||
};
|
||||
dataGridViewList.CellDoubleClick += async (object sender, DataGridViewCellEventArgs e) =>
|
||||
dataGridViewList.CellDoubleClick += (object sender, DataGridViewCellEventArgs e) =>
|
||||
{
|
||||
if (_openMode == ControlOpenMode.Select && dataGridViewList.SelectedRows.Count > 0)
|
||||
{
|
||||
await SelectElement();
|
||||
SelectElement();
|
||||
}
|
||||
UpdElement();
|
||||
};
|
||||
|
||||
toolStripButtonPrev.Click += async (object sender, EventArgs e) =>
|
||||
toolStripButtonPrev.Click += (object sender, EventArgs e) =>
|
||||
{
|
||||
if (int.TryParse(toolStripTextBoxPage.Text, out int page))
|
||||
{
|
||||
toolStripTextBoxPage.Text = (page - 1).ToString();
|
||||
await LoadListAsync();
|
||||
LoadList();
|
||||
}
|
||||
};
|
||||
toolStripButtonNext.Click += async (object sender, EventArgs e) =>
|
||||
toolStripButtonNext.Click += (object sender, EventArgs e) =>
|
||||
{
|
||||
if (int.TryParse(toolStripTextBoxPage.Text, out int page))
|
||||
{
|
||||
toolStripTextBoxPage.Text = (page + 1).ToString();
|
||||
await LoadListAsync();
|
||||
LoadList();
|
||||
}
|
||||
};
|
||||
toolStripTextBoxPage.KeyDown += async (object sender, KeyEventArgs e) =>
|
||||
toolStripTextBoxPage.KeyDown += (object sender, KeyEventArgs e) =>
|
||||
{
|
||||
if (e.KeyData == Keys.Enter)
|
||||
{
|
||||
await LoadListAsync();
|
||||
LoadList();
|
||||
}
|
||||
};
|
||||
|
||||
@ -369,12 +368,12 @@ namespace DesktopTools.Controls
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private async void ToolStripComboBoxPageNamesSelectedIndexChanged(object sender, EventArgs e) => await LoadListAsync();
|
||||
private void ToolStripComboBoxPageNamesSelectedIndexChanged(object sender, EventArgs e) => LoadList();
|
||||
|
||||
/// <summary>
|
||||
/// Вызов события загрузки данных на datagrid
|
||||
/// </summary>
|
||||
private async Task LoadListAsync()
|
||||
private void LoadList()
|
||||
{
|
||||
var cursor = Cursor.Current;
|
||||
|
||||
@ -440,7 +439,7 @@ namespace DesktopTools.Controls
|
||||
}
|
||||
}
|
||||
}
|
||||
data = await _businessLogic.GetListAsync(model);
|
||||
data = _businessLogic.GetList(model);
|
||||
if (data == null && _businessLogic.Errors.Count > 0)
|
||||
{
|
||||
DialogHelper.MessageException(_businessLogic.Errors, $"{Title}. Ошибки при получении данных");
|
||||
@ -463,14 +462,14 @@ namespace DesktopTools.Controls
|
||||
{
|
||||
Cursor.Current = cursor;
|
||||
}
|
||||
FillDataOnGridAsync(data?.List, selectedGuids);
|
||||
FillDataOnGrid(data?.List, selectedGuids);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Заполнение таблицы
|
||||
/// </summary>
|
||||
/// <param name="data"></param>
|
||||
private void FillDataOnGridAsync(List<E> data, List<Guid> selectedGuids)
|
||||
private void FillDataOnGrid(List<E> data, List<Guid> selectedGuids)
|
||||
{
|
||||
if (data == null)
|
||||
{
|
||||
@ -513,7 +512,7 @@ namespace DesktopTools.Controls
|
||||
/// <summary>
|
||||
/// Вызов события при удалении элемента
|
||||
/// </summary>
|
||||
private async Task DelElementAsync()
|
||||
private void DelElement()
|
||||
{
|
||||
if (MessageBox.Show("Удалить выбранные записи?", "Подтверждение", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
|
||||
{
|
||||
@ -523,7 +522,7 @@ namespace DesktopTools.Controls
|
||||
Cursor.Current = Cursors.WaitCursor;
|
||||
foreach (DataGridViewRow selected in dataGridViewList.SelectedRows)
|
||||
{
|
||||
await _businessLogic.DeleteAsync(new G { Id = new Guid(selected.Cells[0].Value.ToString()) });
|
||||
_businessLogic.Delete(new G { Id = new Guid(selected.Cells[0].Value.ToString()) });
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
@ -540,7 +539,7 @@ namespace DesktopTools.Controls
|
||||
finally
|
||||
{
|
||||
Cursor.Current = cursor;
|
||||
await LoadListAsync();
|
||||
LoadList();
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -548,12 +547,12 @@ namespace DesktopTools.Controls
|
||||
/// <summary>
|
||||
/// Вызов события при выборе элемента
|
||||
/// </summary>
|
||||
private async Task SelectElement()
|
||||
private void SelectElement()
|
||||
{
|
||||
try
|
||||
{
|
||||
SelectedId = new Guid(dataGridViewList.SelectedRows[0].Cells[0].Value.ToString());
|
||||
SelectedText = (await _businessLogic.GetElementAsync(new G { Id = SelectedId }))?.ToString();
|
||||
SelectedText = _businessLogic.GetElement(new G { Id = SelectedId })?.ToString();
|
||||
CloseSelectEvent?.Invoke(true);
|
||||
Dispose();
|
||||
}
|
||||
@ -580,8 +579,11 @@ namespace DesktopTools.Controls
|
||||
else if (toolStripFooter.Visible && toolStripComboBoxPageNames.Visible)
|
||||
{
|
||||
if (toolStripComboBoxPageNames.SelectedItem is PageNamesForPaginationModel key)
|
||||
{
|
||||
if (key.Key.GetType().Name == "Guid")
|
||||
{
|
||||
control.ParentId = new Guid(key.Key.ToString());
|
||||
}
|
||||
control.ParentPropertyName = toolStripComboBoxPageNames.Tag?.ToString();
|
||||
}
|
||||
}
|
||||
@ -596,9 +598,9 @@ namespace DesktopTools.Controls
|
||||
{
|
||||
OpenMode = ControlOpenMode.List,
|
||||
ElementId = id,
|
||||
CloseElement = async (Guid id) =>
|
||||
CloseElement = (Guid id) =>
|
||||
{
|
||||
await LoadListAsync();
|
||||
LoadList();
|
||||
form.Close();
|
||||
}
|
||||
});
|
||||
|
@ -3,7 +3,6 @@ using ModuleTools.Enums;
|
||||
using ModuleTools.Interfaces;
|
||||
using ModuleTools.ViewModels;
|
||||
using System;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace ModuleTools.BusinessLogics
|
||||
{
|
||||
@ -42,7 +41,7 @@ namespace ModuleTools.BusinessLogics
|
||||
/// </summary>
|
||||
/// <param name="model"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<L> GetListAsync(G model)
|
||||
public L GetList(G model)
|
||||
{
|
||||
Errors.Clear();
|
||||
try
|
||||
@ -52,7 +51,7 @@ namespace ModuleTools.BusinessLogics
|
||||
{
|
||||
throw new MethodAccessException("Нет прав на получение списка");
|
||||
}
|
||||
var result = await Service.ReadAsync(model);
|
||||
var result = Service.Read(model);
|
||||
if (!result.IsSucceeded)
|
||||
{
|
||||
Errors.AddRange(result.Errors);
|
||||
@ -73,7 +72,7 @@ namespace ModuleTools.BusinessLogics
|
||||
/// </summary>
|
||||
/// <param name="model"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<E> GetElementAsync(G model)
|
||||
public E GetElement(G model)
|
||||
{
|
||||
Errors.Clear();
|
||||
try
|
||||
@ -83,7 +82,7 @@ namespace ModuleTools.BusinessLogics
|
||||
{
|
||||
throw new MethodAccessException("Нет прав на получение списка");
|
||||
}
|
||||
var result = await Service.ReadAsync(model);
|
||||
var result = Service.Read(model);
|
||||
if (!result.IsSucceeded)
|
||||
{
|
||||
Errors.AddRange(result.Errors);
|
||||
@ -103,7 +102,7 @@ namespace ModuleTools.BusinessLogics
|
||||
/// </summary>
|
||||
/// <param name="model"></param>
|
||||
/// <returns></returns>
|
||||
public virtual async Task<E> CreateAsync(S model)
|
||||
public virtual E Create(S model)
|
||||
{
|
||||
Errors.Clear();
|
||||
try
|
||||
@ -112,7 +111,7 @@ namespace ModuleTools.BusinessLogics
|
||||
{
|
||||
return null;
|
||||
}
|
||||
var result = await Service.CreateAsync(model);
|
||||
var result = Service.Create(model);
|
||||
if (!result.IsSucceeded)
|
||||
{
|
||||
Errors.AddRange(result.Errors);
|
||||
@ -133,7 +132,7 @@ namespace ModuleTools.BusinessLogics
|
||||
/// </summary>
|
||||
/// <param name="model"></param>
|
||||
/// <returns></returns>
|
||||
public virtual async Task<E> UpdateAsync(S model)
|
||||
public virtual E Update(S model)
|
||||
{
|
||||
Errors.Clear();
|
||||
try
|
||||
@ -142,7 +141,7 @@ namespace ModuleTools.BusinessLogics
|
||||
{
|
||||
return null;
|
||||
}
|
||||
var result = await Service.UpdateAsync(model);
|
||||
var result = Service.Update(model);
|
||||
if (!result.IsSucceeded)
|
||||
{
|
||||
Errors.AddRange(result.Errors);
|
||||
@ -163,7 +162,7 @@ namespace ModuleTools.BusinessLogics
|
||||
/// </summary>
|
||||
/// <param name="model"></param>
|
||||
/// <returns></returns>
|
||||
public virtual async Task<bool> DeleteAsync(G model)
|
||||
public virtual bool Delete(G model)
|
||||
{
|
||||
Errors.Clear();
|
||||
try
|
||||
@ -172,7 +171,7 @@ namespace ModuleTools.BusinessLogics
|
||||
{
|
||||
return false;
|
||||
}
|
||||
var result = await Service.DeleteAsync(model);
|
||||
var result = Service.Delete(model);
|
||||
if (!result.IsSucceeded)
|
||||
{
|
||||
Errors.AddRange(result.Errors);
|
||||
@ -193,7 +192,7 @@ namespace ModuleTools.BusinessLogics
|
||||
/// </summary>
|
||||
/// <param name="model"></param>
|
||||
/// <returns></returns>
|
||||
public virtual async Task<E> RestoreAsync(G model)
|
||||
public virtual E Restore(G model)
|
||||
{
|
||||
Errors.Clear();
|
||||
try
|
||||
@ -202,7 +201,7 @@ namespace ModuleTools.BusinessLogics
|
||||
{
|
||||
return null;
|
||||
}
|
||||
var result = await Service.RestoreAsync(model);
|
||||
var result = Service.Restore(model);
|
||||
if (!result.IsSucceeded)
|
||||
{
|
||||
Errors.AddRange(result.Errors);
|
||||
|
@ -1,6 +1,5 @@
|
||||
using ModuleTools.BindingModels;
|
||||
using ModuleTools.Models;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace ModuleTools.Interfaces
|
||||
{
|
||||
@ -16,34 +15,34 @@ namespace ModuleTools.Interfaces
|
||||
/// </summary>
|
||||
/// <param name="model"></param>
|
||||
/// <returns></returns>
|
||||
Task<OperationResultModel> ReadAsync(G model);
|
||||
OperationResultModel Read(G model);
|
||||
|
||||
/// <summary>
|
||||
/// Создание новой сущности
|
||||
/// </summary>
|
||||
/// <param name="model"></param>
|
||||
/// <returns></returns>
|
||||
Task<OperationResultModel> CreateAsync(S model);
|
||||
OperationResultModel Create(S model);
|
||||
|
||||
/// <summary>
|
||||
/// Изменение сущности
|
||||
/// </summary>
|
||||
/// <param name="model"></param>
|
||||
/// <returns></returns>
|
||||
Task<OperationResultModel> UpdateAsync(S model);
|
||||
OperationResultModel Update(S model);
|
||||
|
||||
/// <summary>
|
||||
/// Удаление сущности
|
||||
/// </summary>
|
||||
/// <param name="model"></param>
|
||||
/// <returns></returns>
|
||||
Task<OperationResultModel> DeleteAsync(G model);
|
||||
OperationResultModel Delete(G model);
|
||||
|
||||
/// <summary>
|
||||
/// Восстановление сущности
|
||||
/// </summary>
|
||||
/// <param name="model"></param>
|
||||
/// <returns></returns>
|
||||
Task<OperationResultModel> RestoreAsync(G model);
|
||||
OperationResultModel Restore(G model);
|
||||
}
|
||||
}
|
@ -6,7 +6,6 @@ using ModuleTools.BusinessLogics;
|
||||
using ModuleTools.Enums;
|
||||
using SecurityBusinessLogic.BindingModels;
|
||||
using SecurityBusinessLogic.BusinessLogics;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace DepartmentBusinessLogic.BusinessLogics
|
||||
{
|
||||
@ -17,14 +16,14 @@ namespace DepartmentBusinessLogic.BusinessLogics
|
||||
{
|
||||
public OrderStudentRecordBusinessLogic(IOrderStudentRecordService service) : base(service, "Приказы", AccessOperation.Приказы) { }
|
||||
|
||||
public override async Task<OrderStudentRecordViewModel> CreateAsync(OrderStudentRecordSetBindingModel model)
|
||||
public override OrderStudentRecordViewModel Create(OrderStudentRecordSetBindingModel model)
|
||||
{
|
||||
var result = await base.CreateAsync(model);
|
||||
var result = base.Create(model);
|
||||
if (result != null)
|
||||
{
|
||||
var studentLogic = DependencyManager.Instance.Resolve<StudentBusinessLogic>();
|
||||
var userLogic = DependencyManager.Instance.Resolve<UserBusinessLogic>();
|
||||
var student = await studentLogic.GetElementAsync(new StudentGetBindingModel { Id = result.StudentId });
|
||||
var student = studentLogic.GetElement(new StudentGetBindingModel { Id = result.StudentId });
|
||||
if (student == null)
|
||||
{
|
||||
Errors.AddRange(studentLogic.Errors);
|
||||
@ -37,7 +36,7 @@ namespace DepartmentBusinessLogic.BusinessLogics
|
||||
if (student.StudentGroupId != result.StudentGroupToId)
|
||||
{
|
||||
st.StudentGroupId = result.StudentGroupToId;
|
||||
student = await studentLogic.UpdateAsync(st);
|
||||
student = studentLogic.Update(st);
|
||||
if (student == null)
|
||||
{
|
||||
Errors.AddRange(studentLogic.Errors);
|
||||
@ -49,7 +48,7 @@ namespace DepartmentBusinessLogic.BusinessLogics
|
||||
if (student.Description != model.Info)
|
||||
{
|
||||
st.Description = model.Info;
|
||||
student = await studentLogic.UpdateAsync(st);
|
||||
student = studentLogic.Update(st);
|
||||
if (student == null)
|
||||
{
|
||||
Errors.AddRange(studentLogic.Errors);
|
||||
@ -65,7 +64,7 @@ namespace DepartmentBusinessLogic.BusinessLogics
|
||||
&& student.StudentState != StudentState.Учится)
|
||||
{
|
||||
st.StudentState = StudentState.Учится;
|
||||
student = await studentLogic.UpdateAsync(st);
|
||||
student = studentLogic.Update(st);
|
||||
if (student == null)
|
||||
{
|
||||
Errors.AddRange(studentLogic.Errors);
|
||||
@ -79,7 +78,7 @@ namespace DepartmentBusinessLogic.BusinessLogics
|
||||
&& student.StudentState != StudentState.Академ)
|
||||
{
|
||||
st.StudentState = StudentState.Академ;
|
||||
student = await studentLogic.UpdateAsync(st);
|
||||
student = studentLogic.Update(st);
|
||||
if (student == null)
|
||||
{
|
||||
Errors.AddRange(studentLogic.Errors);
|
||||
@ -91,7 +90,7 @@ namespace DepartmentBusinessLogic.BusinessLogics
|
||||
if (result.OrderStudentMoveType == OrderStudentMoveType.ВосстановитьИзАкадема && student.StudentState != StudentState.Учится)
|
||||
{
|
||||
st.StudentState = StudentState.Учится;
|
||||
student = await studentLogic.UpdateAsync(st);
|
||||
student = studentLogic.Update(st);
|
||||
if (student == null)
|
||||
{
|
||||
Errors.AddRange(studentLogic.Errors);
|
||||
@ -108,21 +107,21 @@ namespace DepartmentBusinessLogic.BusinessLogics
|
||||
student.StudentState != StudentState.Отчислен)
|
||||
{
|
||||
st.StudentState = result.OrderStudentMoveType == OrderStudentMoveType.ОтчислитьПоЗавершению ? StudentState.Завершил : StudentState.Отчислен;
|
||||
student = await studentLogic.UpdateAsync(st);
|
||||
student = studentLogic.Update(st);
|
||||
if (student == null)
|
||||
{
|
||||
Errors.AddRange(studentLogic.Errors);
|
||||
Errors.Add(("Ошибка изменения по студенту", $"Не удалось изменить статус у студента {studentName}"));
|
||||
return null;
|
||||
}
|
||||
var delete = await studentLogic.DeleteAsync(new StudentGetBindingModel { Id = student.Id });
|
||||
var delete = studentLogic.Delete(new StudentGetBindingModel { Id = student.Id });
|
||||
if (!delete)
|
||||
{
|
||||
Errors.AddRange(studentLogic.Errors);
|
||||
Errors.Add(("Ошибка удаления студента", $"Не удалось удалить студента {studentName}"));
|
||||
return null;
|
||||
}
|
||||
delete = await userLogic.DeleteAsync(new UserGetBindingModel { Id = student.UserId });
|
||||
delete = userLogic.Delete(new UserGetBindingModel { Id = student.UserId });
|
||||
if (!delete)
|
||||
{
|
||||
Errors.AddRange(studentLogic.Errors);
|
||||
@ -134,7 +133,7 @@ namespace DepartmentBusinessLogic.BusinessLogics
|
||||
if (result.OrderStudentMoveType == OrderStudentMoveType.Восстановить && student.StudentState != StudentState.Учится)
|
||||
{
|
||||
st.StudentState = StudentState.Учится;
|
||||
student = await studentLogic.UpdateAsync(st);
|
||||
student = studentLogic.Update(st);
|
||||
if (student == null)
|
||||
{
|
||||
Errors.AddRange(studentLogic.Errors);
|
||||
@ -146,7 +145,7 @@ namespace DepartmentBusinessLogic.BusinessLogics
|
||||
if (result.OrderStudentMoveType == OrderStudentMoveType.УбратьПоПереводу && student.StudentState != StudentState.Ушел)
|
||||
{
|
||||
st.StudentState = StudentState.Ушел;
|
||||
student = await studentLogic.UpdateAsync(st);
|
||||
student = studentLogic.Update(st);
|
||||
if (student == null)
|
||||
{
|
||||
Errors.AddRange(studentLogic.Errors);
|
||||
|
@ -15,7 +15,6 @@ using System.Net.Http;
|
||||
using System.Net.Http.Headers;
|
||||
using System.Text;
|
||||
using System.Text.Json;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace DepartmentBusinessLogic.BusinessLogics
|
||||
{
|
||||
@ -40,9 +39,9 @@ namespace DepartmentBusinessLogic.BusinessLogics
|
||||
|
||||
public OrderSyncHistoryBusinessLogic(IOrderSyncHistoryService service) : base(service, "Синхронизация Приказов", AccessOperation.СинхронизацияПриказов) { }
|
||||
|
||||
public async Task<bool> SyncOrders()
|
||||
public bool SyncOrders()
|
||||
{
|
||||
var history = await CreateAsync(new OrderSyncHistorySetBindingModel { SyncDate = DateTime.Now });
|
||||
var history = Create(new OrderSyncHistorySetBindingModel { SyncDate = DateTime.Now });
|
||||
if (history == null)
|
||||
{
|
||||
Errors.Add(("Ошибка создание истории", "Не удалось создать историю"));
|
||||
@ -57,12 +56,12 @@ namespace DepartmentBusinessLogic.BusinessLogics
|
||||
_orderStudentRecordLogic = DependencyManager.Instance.Resolve<OrderStudentRecordBusinessLogic>();
|
||||
_userLogic = DependencyManager.Instance.Resolve<UserBusinessLogic>();
|
||||
|
||||
var address = (await _enviromentSettingLogic.GetListAsync(new EnviromentSettingGetBindingModel { Key = "SyncStudentOrderIpAddress" }))?.List?.FirstOrDefault();
|
||||
var address = _enviromentSettingLogic.GetList(new EnviromentSettingGetBindingModel { Key = "SyncStudentOrderIpAddress" })?.List?.FirstOrDefault();
|
||||
if (address == null || address.Value.IsEmpty())
|
||||
{
|
||||
Errors = _enviromentSettingLogic.Errors;
|
||||
Errors.Add(("Ошибка получения данных", "Не удалось получить адрес серверая для получения приказов по студентам"));
|
||||
await _recordLogic.CreateAsync(new OrderSyncHistoryRecordSetBindingModel
|
||||
_recordLogic.Create(new OrderSyncHistoryRecordSetBindingModel
|
||||
{
|
||||
OrderSyncHistoryId = history.Id,
|
||||
Information = string.Join(Environment.NewLine, Errors.Select(x => x.Message))
|
||||
@ -70,12 +69,12 @@ namespace DepartmentBusinessLogic.BusinessLogics
|
||||
return false;
|
||||
}
|
||||
|
||||
var username = (await _enviromentSettingLogic.GetListAsync(new EnviromentSettingGetBindingModel { Key = "SyncStudentOrderUserName" }))?.List?.FirstOrDefault();
|
||||
var username = _enviromentSettingLogic.GetList(new EnviromentSettingGetBindingModel { Key = "SyncStudentOrderUserName" })?.List?.FirstOrDefault();
|
||||
if (username == null || username.Value.IsEmpty())
|
||||
{
|
||||
Errors = _enviromentSettingLogic.Errors;
|
||||
Errors.Add(("Ошибка получения данных", "Не удалось получить имя пользователя для получения приказов по студентам"));
|
||||
await _recordLogic.CreateAsync(new OrderSyncHistoryRecordSetBindingModel
|
||||
_recordLogic.Create(new OrderSyncHistoryRecordSetBindingModel
|
||||
{
|
||||
OrderSyncHistoryId = history.Id,
|
||||
Information = string.Join(Environment.NewLine, Errors.Select(x => x.Message))
|
||||
@ -83,12 +82,12 @@ namespace DepartmentBusinessLogic.BusinessLogics
|
||||
return false;
|
||||
}
|
||||
|
||||
var password = (await _enviromentSettingLogic.GetListAsync(new EnviromentSettingGetBindingModel { Key = "SyncStudentOrderPassword" }))?.List?.FirstOrDefault();
|
||||
var password = _enviromentSettingLogic.GetList(new EnviromentSettingGetBindingModel { Key = "SyncStudentOrderPassword" })?.List?.FirstOrDefault();
|
||||
if (password == null || password.Value.IsEmpty())
|
||||
{
|
||||
Errors = _enviromentSettingLogic.Errors;
|
||||
Errors.Add(("Ошибка получения данных", "Не удалось получить пароль для получения приказов по студентам"));
|
||||
await _recordLogic.CreateAsync(new OrderSyncHistoryRecordSetBindingModel
|
||||
_recordLogic.Create(new OrderSyncHistoryRecordSetBindingModel
|
||||
{
|
||||
OrderSyncHistoryId = history.Id,
|
||||
Information = string.Join(Environment.NewLine, Errors.Select(x => x.Message))
|
||||
@ -107,11 +106,11 @@ namespace DepartmentBusinessLogic.BusinessLogics
|
||||
// авторизация
|
||||
|
||||
// получение списка студентов
|
||||
HttpResponseMessage response = await client.GetAsync($"{address.Value}/univer/hs/Ulstu_StudentsInfo/v1/GetCurrentStudentsOfDepartment");
|
||||
HttpResponseMessage response = client.GetAsync($"{address.Value}/univer/hs/Ulstu_StudentsInfo/v1/GetCurrentStudentsOfDepartment").Result;
|
||||
if (!response.IsSuccessStatusCode)
|
||||
{
|
||||
Errors.Add(("Ошибка получения данных", "Не удалось получить список студентов с сервера"));
|
||||
await _recordLogic.CreateAsync(new OrderSyncHistoryRecordSetBindingModel
|
||||
_recordLogic.Create(new OrderSyncHistoryRecordSetBindingModel
|
||||
{
|
||||
OrderSyncHistoryId = history.Id,
|
||||
Information = string.Join(Environment.NewLine, Errors.Select(x => x.Message))
|
||||
@ -121,7 +120,7 @@ namespace DepartmentBusinessLogic.BusinessLogics
|
||||
var studentFromServer = JsonSerializer.Deserialize<StudentListSyncModel>(response.Content.ReadAsStringAsync().Result);
|
||||
if (studentFromServer.CurrentStudentsList.Count == 0)
|
||||
{
|
||||
await _recordLogic.CreateAsync(new OrderSyncHistoryRecordSetBindingModel
|
||||
_recordLogic.Create(new OrderSyncHistoryRecordSetBindingModel
|
||||
{
|
||||
OrderSyncHistoryId = history.Id,
|
||||
Information = "Полученный список студентов пустой"
|
||||
@ -129,12 +128,12 @@ namespace DepartmentBusinessLogic.BusinessLogics
|
||||
return true;
|
||||
}
|
||||
|
||||
var groups = await _groupsLogic.GetListAsync(new StudentGroupGetBindingModel());
|
||||
var groups = _groupsLogic.GetList(new StudentGroupGetBindingModel());
|
||||
if (groups == null || groups.List == null)
|
||||
{
|
||||
Errors = _groupsLogic.Errors;
|
||||
Errors.Add(("Ошибка получения данных", "Не удалось получить список групп"));
|
||||
await _recordLogic.CreateAsync(new OrderSyncHistoryRecordSetBindingModel
|
||||
_recordLogic.Create(new OrderSyncHistoryRecordSetBindingModel
|
||||
{
|
||||
OrderSyncHistoryId = history.Id,
|
||||
Information = string.Join(Environment.NewLine, Errors.Select(x => x.Message))
|
||||
@ -142,12 +141,12 @@ namespace DepartmentBusinessLogic.BusinessLogics
|
||||
return false;
|
||||
}
|
||||
|
||||
var students = await _studentLogic.GetListAsync(new StudentGetBindingModel());
|
||||
var students = _studentLogic.GetList(new StudentGetBindingModel());
|
||||
if (students == null || students.List == null)
|
||||
{
|
||||
Errors = _studentLogic.Errors;
|
||||
Errors.Add(("Ошибка получения данных", "Не удалось получить список студентов"));
|
||||
await _recordLogic.CreateAsync(new OrderSyncHistoryRecordSetBindingModel
|
||||
_recordLogic.Create(new OrderSyncHistoryRecordSetBindingModel
|
||||
{
|
||||
OrderSyncHistoryId = history.Id,
|
||||
Information = string.Join(Environment.NewLine, Errors.Select(x => x.Message))
|
||||
@ -161,12 +160,12 @@ namespace DepartmentBusinessLogic.BusinessLogics
|
||||
// студент не найден, значит он ушел с кафедры, выясняем почему
|
||||
if (studentSync == null)
|
||||
{
|
||||
await SyncStudentOrders(history, student, groups.List, client, address.Value);
|
||||
SyncStudentOrders(history, student, groups.List, client, address.Value);
|
||||
}
|
||||
// не совпадение групп
|
||||
else if (student.StudentGroupName != studentSync.groupName)
|
||||
{
|
||||
await SyncStudentOrders(history, student, groups.List, client, address.Value);
|
||||
SyncStudentOrders(history, student, groups.List, client, address.Value);
|
||||
}
|
||||
|
||||
studentFromServer.CurrentStudentsList.Remove(studentSync);
|
||||
@ -174,39 +173,39 @@ namespace DepartmentBusinessLogic.BusinessLogics
|
||||
// новые студенты и восстановленцы
|
||||
foreach (var student in studentFromServer.CurrentStudentsList)
|
||||
{
|
||||
var deletedStudent = await _studentLogic.GetElementAsync(new StudentGetBindingModel { NumberOfBook = student.recordBookName });
|
||||
var deletedStudent = _studentLogic.GetElement(new StudentGetBindingModel { NumberOfBook = student.recordBookName });
|
||||
if (deletedStudent == null && _studentLogic.Errors.FirstOrDefault(x => x.Message == "Элемент удален") != default)
|
||||
{
|
||||
// восстановленец
|
||||
deletedStudent = await _studentLogic.RestoreAsync(new StudentGetBindingModel { NumberOfBook = student.recordBookName });
|
||||
deletedStudent = _studentLogic.Restore(new StudentGetBindingModel { NumberOfBook = student.recordBookName });
|
||||
if (deletedStudent == null)
|
||||
{
|
||||
var errors = _studentLogic.Errors;
|
||||
errors.Add(("Ошибка при восстановлении студента", $"Не удалось восстановить студента {student.lastName} {student.firstName} {student.patronymicName}"));
|
||||
await _recordLogic.CreateAsync(new OrderSyncHistoryRecordSetBindingModel
|
||||
_recordLogic.Create(new OrderSyncHistoryRecordSetBindingModel
|
||||
{
|
||||
OrderSyncHistoryId = history.Id,
|
||||
Information = string.Join(Environment.NewLine, errors.Select(x => x.Message))
|
||||
});
|
||||
continue;
|
||||
}
|
||||
var deletedUser = await _userLogic.RestoreAsync(new UserGetBindingModel { Id = deletedStudent.UserId });
|
||||
var deletedUser = _userLogic.Restore(new UserGetBindingModel { Id = deletedStudent.UserId });
|
||||
if (deletedUser == null)
|
||||
{
|
||||
var errors = _userLogic.Errors;
|
||||
errors.Add(("Ошибка при восстановлении пользователя студента", $"Не удалось восстановить пользователя студента {student.lastName} {student.firstName} {student.patronymicName}"));
|
||||
await _recordLogic.CreateAsync(new OrderSyncHistoryRecordSetBindingModel
|
||||
_recordLogic.Create(new OrderSyncHistoryRecordSetBindingModel
|
||||
{
|
||||
OrderSyncHistoryId = history.Id,
|
||||
Information = string.Join(Environment.NewLine, errors.Select(x => x.Message))
|
||||
});
|
||||
continue;
|
||||
}
|
||||
await SyncStudentOrders(history, deletedStudent, groups.List, client, address.Value);
|
||||
SyncStudentOrders(history, deletedStudent, groups.List, client, address.Value);
|
||||
continue;
|
||||
}
|
||||
|
||||
var user = await _userLogic.GetElementAsync(new UserGetBindingModel
|
||||
var user = _userLogic.GetElement(new UserGetBindingModel
|
||||
{
|
||||
Login = student.recordBookName
|
||||
});
|
||||
@ -216,7 +215,7 @@ namespace DepartmentBusinessLogic.BusinessLogics
|
||||
{
|
||||
var errors = _userLogic.Errors;
|
||||
errors.Add(("Ошибка получения пользователя под студента", $"Не удалось получить пользователя под студента {student.lastName} {student.firstName} {student.patronymicName}"));
|
||||
await _recordLogic.CreateAsync(new OrderSyncHistoryRecordSetBindingModel
|
||||
_recordLogic.Create(new OrderSyncHistoryRecordSetBindingModel
|
||||
{
|
||||
OrderSyncHistoryId = history.Id,
|
||||
Information = string.Join(Environment.NewLine, errors.Select(x => x.Message))
|
||||
@ -225,7 +224,7 @@ namespace DepartmentBusinessLogic.BusinessLogics
|
||||
}
|
||||
|
||||
var userName = $"{student.lastName}{(student.firstName.IsNotEmpty() ? $" {student.firstName[0]}." : string.Empty)}{(student.patronymicName.IsNotEmpty() ? $"{student.patronymicName[0]}." : string.Empty)}";
|
||||
user = await _userLogic.CreateAsync(new UserSetBindingModel
|
||||
user = _userLogic.Create(new UserSetBindingModel
|
||||
{
|
||||
Login = student.recordBookName,
|
||||
Password = userName
|
||||
@ -235,7 +234,7 @@ namespace DepartmentBusinessLogic.BusinessLogics
|
||||
{
|
||||
var errors = _userLogic.Errors;
|
||||
errors.Add(("Ошибка создания пользователя под студента", $"Не удалось создать пользователя под студента {student.lastName} {student.firstName} {student.patronymicName}"));
|
||||
await _recordLogic.CreateAsync(new OrderSyncHistoryRecordSetBindingModel
|
||||
_recordLogic.Create(new OrderSyncHistoryRecordSetBindingModel
|
||||
{
|
||||
OrderSyncHistoryId = history.Id,
|
||||
Information = string.Join(Environment.NewLine, errors.Select(x => x.Message))
|
||||
@ -244,7 +243,7 @@ namespace DepartmentBusinessLogic.BusinessLogics
|
||||
}
|
||||
}
|
||||
|
||||
var newStudent = await _studentLogic.CreateAsync(new StudentSetBindingModel
|
||||
var newStudent = _studentLogic.Create(new StudentSetBindingModel
|
||||
{
|
||||
Iduniv = student.iduniv,
|
||||
NumberOfBook = student.recordBookName,
|
||||
@ -260,7 +259,7 @@ namespace DepartmentBusinessLogic.BusinessLogics
|
||||
{
|
||||
var errors = _studentLogic.Errors;
|
||||
errors.Add(("Ошибка добавления студента", $"Не удалось добавить студента {student.lastName} {student.firstName} {student.patronymicName}"));
|
||||
await _recordLogic.CreateAsync(new OrderSyncHistoryRecordSetBindingModel
|
||||
_recordLogic.Create(new OrderSyncHistoryRecordSetBindingModel
|
||||
{
|
||||
OrderSyncHistoryId = history.Id,
|
||||
Information = string.Join(Environment.NewLine, errors.Select(x => x.Message))
|
||||
@ -268,13 +267,13 @@ namespace DepartmentBusinessLogic.BusinessLogics
|
||||
continue;
|
||||
}
|
||||
|
||||
await _recordLogic.CreateAsync(new OrderSyncHistoryRecordSetBindingModel
|
||||
_recordLogic.Create(new OrderSyncHistoryRecordSetBindingModel
|
||||
{
|
||||
OrderSyncHistoryId = history.Id,
|
||||
Information = $"Добавлен студент {newStudent}"
|
||||
});
|
||||
|
||||
await SyncStudentOrders(history, newStudent, groups.List, client, address.Value);
|
||||
SyncStudentOrders(history, newStudent, groups.List, client, address.Value);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@ -288,13 +287,13 @@ namespace DepartmentBusinessLogic.BusinessLogics
|
||||
/// <param name="client"></param>
|
||||
/// <param name="address"></param>
|
||||
/// <returns></returns>
|
||||
private async Task SyncStudentOrders(OrderSyncHistoryViewModel history, StudentViewModel student, List<StudentGroupViewModel> groups, HttpClient client, string address)
|
||||
private void SyncStudentOrders(OrderSyncHistoryViewModel history, StudentViewModel student, List<StudentGroupViewModel> groups, HttpClient client, string address)
|
||||
{
|
||||
HttpResponseMessage response = await client.GetAsync($"{address}/univer/hs/Ulstu_StudentsInfo/v1/GetStudentOrdersByIdAndRecordBook?iduniv={student.Iduniv}&recordBookName={student.NumberOfBook}&allOrders=sppd");
|
||||
HttpResponseMessage response = client.GetAsync($"{address}/univer/hs/Ulstu_StudentsInfo/v1/GetStudentOrdersByIdAndRecordBook?iduniv={student.Iduniv}&recordBookName={student.NumberOfBook}&allOrders=sppd").Result;
|
||||
if (!response.IsSuccessStatusCode)
|
||||
{
|
||||
Errors.Add(("Ошибка получения данных", "Не удалось получить список приказов по студенту"));
|
||||
await _recordLogic.CreateAsync(new OrderSyncHistoryRecordSetBindingModel
|
||||
_recordLogic.Create(new OrderSyncHistoryRecordSetBindingModel
|
||||
{
|
||||
OrderSyncHistoryId = history.Id,
|
||||
Information = string.Join(Environment.NewLine, Errors.Select(x => x.Message))
|
||||
@ -306,7 +305,7 @@ namespace DepartmentBusinessLogic.BusinessLogics
|
||||
{
|
||||
if (syncOrder.markOfApprove.ToLower() != "true")
|
||||
{
|
||||
await _recordLogic.CreateAsync(new OrderSyncHistoryRecordSetBindingModel
|
||||
_recordLogic.Create(new OrderSyncHistoryRecordSetBindingModel
|
||||
{
|
||||
OrderSyncHistoryId = history.Id,
|
||||
Information = $"Приказ {syncOrder.clericNumber} от {syncOrder.clericDate} ({syncOrder.orderTypeName}) по студенту {student} не утврежден "
|
||||
@ -315,7 +314,7 @@ namespace DepartmentBusinessLogic.BusinessLogics
|
||||
}
|
||||
if (syncOrder.clericNumber.IsEmpty())
|
||||
{
|
||||
await _recordLogic.CreateAsync(new OrderSyncHistoryRecordSetBindingModel
|
||||
_recordLogic.Create(new OrderSyncHistoryRecordSetBindingModel
|
||||
{
|
||||
OrderSyncHistoryId = history.Id,
|
||||
Information = $"Приказ без номера от {syncOrder.clericDate} ({student})"
|
||||
@ -324,7 +323,7 @@ namespace DepartmentBusinessLogic.BusinessLogics
|
||||
}
|
||||
if (syncOrder.clericDate.IsEmpty())
|
||||
{
|
||||
await _recordLogic.CreateAsync(new OrderSyncHistoryRecordSetBindingModel
|
||||
_recordLogic.Create(new OrderSyncHistoryRecordSetBindingModel
|
||||
{
|
||||
OrderSyncHistoryId = history.Id,
|
||||
Information = $"Приказ {syncOrder.clericNumber} - неизвестная дата ({student})"
|
||||
@ -339,7 +338,7 @@ namespace DepartmentBusinessLogic.BusinessLogics
|
||||
if (syncOrder.orderTypeName != "Корректировка" && syncOrder.orderTypeName != "Назначение стипендии" &&
|
||||
syncOrder.orderTypeName != "Утверждение тем курсовых работ" && syncOrder.orderTypeName != "Утверждение тем работ"
|
||||
&& syncOrder.orderTypeName != "Смена ФИО")
|
||||
await _recordLogic.CreateAsync(new OrderSyncHistoryRecordSetBindingModel
|
||||
_recordLogic.Create(new OrderSyncHistoryRecordSetBindingModel
|
||||
{
|
||||
OrderSyncHistoryId = history.Id,
|
||||
Information = $"Приказ {syncOrder.clericNumber} неопределенного типа {syncOrder.orderTypeName}"
|
||||
@ -348,14 +347,14 @@ namespace DepartmentBusinessLogic.BusinessLogics
|
||||
}
|
||||
|
||||
// пытаемся найти приказ
|
||||
var order = await _orderLogic.GetElementAsync(new OrderGetBindingModel
|
||||
var order = _orderLogic.GetElement(new OrderGetBindingModel
|
||||
{
|
||||
OrderNumber = syncOrder.clericNumber
|
||||
});
|
||||
if (order == null)
|
||||
{
|
||||
// если не нашли - пытаемся создать
|
||||
order = await _orderLogic.CreateAsync(new OrderSetBindingModel
|
||||
order = _orderLogic.Create(new OrderSetBindingModel
|
||||
{
|
||||
OrderNumber = syncOrder.clericNumber,
|
||||
OrderDate = Convert.ToDateTime(syncOrder.clericDate),
|
||||
@ -365,7 +364,7 @@ namespace DepartmentBusinessLogic.BusinessLogics
|
||||
{
|
||||
var errors = _orderLogic.Errors;
|
||||
errors.Add(("Ошибка добавления приказа", $"Не удалось добавить приказ {syncOrder.clericNumber} {syncOrder.clericDate}"));
|
||||
await _recordLogic.CreateAsync(new OrderSyncHistoryRecordSetBindingModel
|
||||
_recordLogic.Create(new OrderSyncHistoryRecordSetBindingModel
|
||||
{
|
||||
OrderSyncHistoryId = history.Id,
|
||||
Information = string.Join(Environment.NewLine, errors.Select(x => x.Message))
|
||||
@ -478,7 +477,7 @@ namespace DepartmentBusinessLogic.BusinessLogics
|
||||
|
||||
if (orderStudentMoveType == OrderStudentMoveType.Неопределено)
|
||||
{
|
||||
await _recordLogic.CreateAsync(new OrderSyncHistoryRecordSetBindingModel
|
||||
_recordLogic.Create(new OrderSyncHistoryRecordSetBindingModel
|
||||
{
|
||||
OrderSyncHistoryId = history.Id,
|
||||
Information = $"Неизветсный приказ {syncOrder.orderTypeName} ({syncOrder.reason}) по студенту {student}"
|
||||
@ -487,7 +486,7 @@ namespace DepartmentBusinessLogic.BusinessLogics
|
||||
}
|
||||
|
||||
// ищем в приказе запись по студенту
|
||||
var studentOrder = await _orderStudentRecordLogic.GetElementAsync(new OrderStudentRecordGetBindingModel
|
||||
var studentOrder = _orderStudentRecordLogic.GetElement(new OrderStudentRecordGetBindingModel
|
||||
{
|
||||
OrderId = order.Id,
|
||||
StudentId = student.Id,
|
||||
@ -501,7 +500,7 @@ namespace DepartmentBusinessLogic.BusinessLogics
|
||||
}
|
||||
|
||||
// создаем, если не нашли
|
||||
studentOrder = await _orderStudentRecordLogic.CreateAsync(new OrderStudentRecordSetBindingModel
|
||||
studentOrder = _orderStudentRecordLogic.Create(new OrderStudentRecordSetBindingModel
|
||||
{
|
||||
OrderId = order.Id,
|
||||
StudentId = student.Id,
|
||||
@ -514,7 +513,7 @@ namespace DepartmentBusinessLogic.BusinessLogics
|
||||
{
|
||||
var errors = _orderStudentRecordLogic.Errors;
|
||||
errors.Add(("Ошибка добавления записи приказа по студенту", $"Не удалось добавить запись приказа {syncOrder.orderSubTypeName} по студенту {student}"));
|
||||
await _recordLogic.CreateAsync(new OrderSyncHistoryRecordSetBindingModel
|
||||
_recordLogic.Create(new OrderSyncHistoryRecordSetBindingModel
|
||||
{
|
||||
OrderSyncHistoryId = history.Id,
|
||||
Information = string.Join(Environment.NewLine, errors.Select(x => x.Message))
|
||||
@ -522,7 +521,7 @@ namespace DepartmentBusinessLogic.BusinessLogics
|
||||
continue;
|
||||
}
|
||||
|
||||
await _recordLogic.CreateAsync(new OrderSyncHistoryRecordSetBindingModel
|
||||
_recordLogic.Create(new OrderSyncHistoryRecordSetBindingModel
|
||||
{
|
||||
OrderSyncHistoryId = history.Id,
|
||||
Information = $"Добавили запись к приказу {order.OrderNumber} по студенту {student} с формулировкой {info}"
|
||||
|
@ -9,7 +9,6 @@ using ModuleTools.Enums;
|
||||
using ModuleTools.Models;
|
||||
using System;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace DepartmentDatabaseImplementation.Implementations
|
||||
{
|
||||
@ -18,17 +17,17 @@ namespace DepartmentDatabaseImplementation.Implementations
|
||||
/// </summary>
|
||||
public class OrderSyncHistoryRecordService : IOrderSyncHistoryRecordService
|
||||
{
|
||||
public async Task<OperationResultModel> CreateAsync(OrderSyncHistoryRecordSetBindingModel model)
|
||||
public OperationResultModel Create(OrderSyncHistoryRecordSetBindingModel model)
|
||||
{
|
||||
using var context = DatabaseManager.GetContext;
|
||||
|
||||
var entity = Mapper.MapToClass<OrderSyncHistoryRecordSetBindingModel, OrderSyncHistoryRecord>(model, true);
|
||||
await context.OrderSyncHistoryRecords.AddAsync(entity);
|
||||
await context.SaveChangesAsync();
|
||||
context.OrderSyncHistoryRecords.Add(entity);
|
||||
context.SaveChanges();
|
||||
return OperationResultModel.Success(Mapper.MapToClass<OrderSyncHistoryRecord, OrderSyncHistoryRecordViewModel>(entity, true));
|
||||
}
|
||||
|
||||
public async Task<OperationResultModel> DeleteAsync(OrderSyncHistoryRecordGetBindingModel model)
|
||||
public OperationResultModel Delete(OrderSyncHistoryRecordGetBindingModel model)
|
||||
{
|
||||
using var context = DatabaseManager.GetContext;
|
||||
var entity = context.OrderSyncHistoryRecords.FirstOrDefault(x => x.Id == model.Id);
|
||||
@ -37,12 +36,12 @@ namespace DepartmentDatabaseImplementation.Implementations
|
||||
return OperationResultModel.Error("Error:", "Элемент не найден", ResultServiceStatusCode.NotFound);
|
||||
}
|
||||
context.OrderSyncHistoryRecords.Remove(entity);
|
||||
await context.SaveChangesAsync();
|
||||
context.SaveChanges();
|
||||
|
||||
return OperationResultModel.Success(true);
|
||||
}
|
||||
|
||||
public async Task<OperationResultModel> ReadAsync(OrderSyncHistoryRecordGetBindingModel model)
|
||||
public OperationResultModel Read(OrderSyncHistoryRecordGetBindingModel model)
|
||||
{
|
||||
int countPages = 0;
|
||||
using var context = DatabaseManager.GetContext;
|
||||
@ -69,8 +68,6 @@ namespace DepartmentDatabaseImplementation.Implementations
|
||||
|
||||
query = query.Include(x => x.OrderSyncHistory);
|
||||
|
||||
return await Task.Run(() =>
|
||||
{
|
||||
if (model.PageNumber.HasValue && model.PageSize.HasValue)
|
||||
{
|
||||
countPages = (int)Math.Ceiling((double)query.Count() / model.PageSize.Value);
|
||||
@ -85,15 +82,14 @@ namespace DepartmentDatabaseImplementation.Implementations
|
||||
};
|
||||
|
||||
return OperationResultModel.Success(result);
|
||||
});
|
||||
}
|
||||
|
||||
public Task<OperationResultModel> RestoreAsync(OrderSyncHistoryRecordGetBindingModel model)
|
||||
public OperationResultModel Restore(OrderSyncHistoryRecordGetBindingModel model)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public async Task<OperationResultModel> UpdateAsync(OrderSyncHistoryRecordSetBindingModel model)
|
||||
public OperationResultModel Update(OrderSyncHistoryRecordSetBindingModel model)
|
||||
{
|
||||
using var context = DatabaseManager.GetContext;
|
||||
|
||||
@ -104,7 +100,7 @@ namespace DepartmentDatabaseImplementation.Implementations
|
||||
}
|
||||
entity = Mapper.MapToClass(model, entity, true);
|
||||
|
||||
await context.SaveChangesAsync();
|
||||
context.SaveChanges();
|
||||
|
||||
return OperationResultModel.Success(Mapper.MapToClass<OrderSyncHistoryRecord, OrderSyncHistoryRecordViewModel>(entity, true));
|
||||
}
|
||||
|
@ -8,7 +8,6 @@ using ModuleTools.Enums;
|
||||
using ModuleTools.Models;
|
||||
using System;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace DepartmentDatabaseImplementation.Implementations
|
||||
{
|
||||
@ -17,17 +16,17 @@ namespace DepartmentDatabaseImplementation.Implementations
|
||||
/// </summary>
|
||||
public class OrderSyncHistoryService : IOrderSyncHistoryService
|
||||
{
|
||||
public async Task<OperationResultModel> CreateAsync(OrderSyncHistorySetBindingModel model)
|
||||
public OperationResultModel Create(OrderSyncHistorySetBindingModel model)
|
||||
{
|
||||
using var context = DatabaseManager.GetContext;
|
||||
|
||||
var entity = Mapper.MapToClass<OrderSyncHistorySetBindingModel, OrderSyncHistory>(model, true);
|
||||
await context.OrderSyncHistories.AddAsync(entity);
|
||||
await context.SaveChangesAsync();
|
||||
context.OrderSyncHistories.Add(entity);
|
||||
context.SaveChanges();
|
||||
return OperationResultModel.Success(Mapper.MapToClass<OrderSyncHistory, OrderSyncHistoryViewModel>(entity, true));
|
||||
}
|
||||
|
||||
public async Task<OperationResultModel> DeleteAsync(OrderSyncHistoryGetBindingModel model)
|
||||
public OperationResultModel Delete(OrderSyncHistoryGetBindingModel model)
|
||||
{
|
||||
using var context = DatabaseManager.GetContext;
|
||||
using var transaction = context.Database.BeginTransaction();
|
||||
@ -40,24 +39,24 @@ namespace DepartmentDatabaseImplementation.Implementations
|
||||
}
|
||||
|
||||
context.OrderSyncHistories.Remove(entity);
|
||||
await context.SaveChangesAsync();
|
||||
context.SaveChanges();
|
||||
|
||||
var records = context.OrderSyncHistoryRecords.Where(x => x.OrderSyncHistoryId == model.Id);
|
||||
context.OrderSyncHistoryRecords.RemoveRange(records);
|
||||
await context.SaveChangesAsync();
|
||||
context.SaveChanges();
|
||||
|
||||
await transaction.CommitAsync();
|
||||
transaction.Commit();
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
await transaction.RollbackAsync();
|
||||
transaction.Rollback();
|
||||
throw;
|
||||
}
|
||||
|
||||
return OperationResultModel.Success(true);
|
||||
}
|
||||
|
||||
public async Task<OperationResultModel> ReadAsync(OrderSyncHistoryGetBindingModel model)
|
||||
public OperationResultModel Read(OrderSyncHistoryGetBindingModel model)
|
||||
{
|
||||
int countPages = 0;
|
||||
using var context = DatabaseManager.GetContext;
|
||||
@ -77,8 +76,6 @@ namespace DepartmentDatabaseImplementation.Implementations
|
||||
|
||||
query = query.OrderByDescending(x => x.SyncDate);
|
||||
|
||||
return await Task.Run(() =>
|
||||
{
|
||||
if (model.PageNumber.HasValue && model.PageSize.HasValue)
|
||||
{
|
||||
countPages = (int)Math.Ceiling((double)query.Count() / model.PageSize.Value);
|
||||
@ -93,15 +90,14 @@ namespace DepartmentDatabaseImplementation.Implementations
|
||||
};
|
||||
|
||||
return OperationResultModel.Success(result);
|
||||
});
|
||||
}
|
||||
|
||||
public Task<OperationResultModel> RestoreAsync(OrderSyncHistoryGetBindingModel model)
|
||||
public OperationResultModel Restore(OrderSyncHistoryGetBindingModel model)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public async Task<OperationResultModel> UpdateAsync(OrderSyncHistorySetBindingModel model)
|
||||
public OperationResultModel Update(OrderSyncHistorySetBindingModel model)
|
||||
{
|
||||
using var context = DatabaseManager.GetContext;
|
||||
|
||||
@ -112,7 +108,7 @@ namespace DepartmentDatabaseImplementation.Implementations
|
||||
}
|
||||
entity = Mapper.MapToClass(model, entity, true);
|
||||
|
||||
await context.SaveChangesAsync();
|
||||
context.SaveChanges();
|
||||
|
||||
return OperationResultModel.Success(Mapper.MapToClass<OrderSyncHistory, OrderSyncHistoryViewModel>(entity, true));
|
||||
}
|
||||
|
@ -35,10 +35,12 @@ namespace DepartmentWindowsDesktop.EntityControls
|
||||
|
||||
public IControl GetInstanceGenericControl() => new ControlDisciplineList() { ControlId = Guid.NewGuid() };
|
||||
|
||||
public ControlViewEntityListConfiguration GetConfigControl() => new()
|
||||
public ControlViewEntityListConfiguration GetConfigControl()
|
||||
{
|
||||
return new ControlViewEntityListConfiguration()
|
||||
{
|
||||
PaginationOn = true,
|
||||
PageNamesForPagination = _disciplineBlockBusinessLogic.GetListAsync(new DisciplineBlockGetBindingModel()).Result?.List?.Select(x =>
|
||||
PageNamesForPagination = _disciplineBlockBusinessLogic.GetList(new DisciplineBlockGetBindingModel())?.List?.Select(x =>
|
||||
new PageNamesForPaginationModel
|
||||
{
|
||||
Key = x.Id,
|
||||
@ -46,6 +48,7 @@ namespace DepartmentWindowsDesktop.EntityControls
|
||||
})?.ToList(),
|
||||
ParentPropertyName = "DisciplineBlockId"
|
||||
};
|
||||
}
|
||||
|
||||
private void FillSearchPanel()
|
||||
{
|
||||
|
@ -13,7 +13,6 @@ using SecurityBusinessLogic.BusinessLogics;
|
||||
using SecurityBusinessLogic.ViewModels;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace DepartmentWindowsDesktop.EntityControls
|
||||
{
|
||||
@ -38,22 +37,22 @@ namespace DepartmentWindowsDesktop.EntityControls
|
||||
{
|
||||
ControlOnMoveElem = new Dictionary<string, (string Title, EventHandler Event)>
|
||||
{
|
||||
{ "ToolStripMenuItemAddUser", ("Добавить пользователя", async (object sender, EventArgs e) => { await AddUserAsync(); }) },
|
||||
{ "ToolStripMenuItemPasswordReset", ("Сброс пароля пользователя", async (object sender, EventArgs e) => { await PasswordResetAsync(); }) }
|
||||
{ "ToolStripMenuItemAddUser", ("Добавить пользователя", (object sender, EventArgs e) => { AddUser(); }) },
|
||||
{ "ToolStripMenuItemPasswordReset", ("Сброс пароля пользователя", (object sender, EventArgs e) => { PasswordReset(); }) }
|
||||
}
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
/// Поиск пользователя под учетку, либо добавление нового, если не найдено
|
||||
/// </summary>
|
||||
private async Task AddUserAsync()
|
||||
private void AddUser()
|
||||
{
|
||||
var model = new EmployeeSetBindingModel();
|
||||
if (FillModel(model))
|
||||
{
|
||||
var logic = DependencyManager.Instance.Resolve<UserBusinessLogic>();
|
||||
var userName = $"{model.LastName}{(model.FirstName.IsNotEmpty() ? $" {model.FirstName[0]}." : string.Empty)}{(model.Patronymic.IsNotEmpty() ? $"{model.Patronymic[0]}." : string.Empty)}";
|
||||
var result = await logic.GetListAsync(new UserGetBindingModel { UserNameForSearch = userName });
|
||||
var result = logic.GetList(new UserGetBindingModel { UserNameForSearch = userName });
|
||||
if (result != null)
|
||||
{
|
||||
if (result.List.Count > 1)
|
||||
@ -67,7 +66,7 @@ namespace DepartmentWindowsDesktop.EntityControls
|
||||
}
|
||||
else
|
||||
{
|
||||
var newuser = await logic.CreateAsync(new UserSetBindingModel
|
||||
var newuser = logic.Create(new UserSetBindingModel
|
||||
{
|
||||
Login = userName,
|
||||
Password = model.DateBirth.ToShortDateString(),
|
||||
@ -92,7 +91,7 @@ namespace DepartmentWindowsDesktop.EntityControls
|
||||
/// <summary>
|
||||
/// Сброс пароля пользователя
|
||||
/// </summary>
|
||||
private async Task PasswordResetAsync()
|
||||
private void PasswordReset()
|
||||
{
|
||||
if (_element == null)
|
||||
{
|
||||
@ -102,14 +101,14 @@ namespace DepartmentWindowsDesktop.EntityControls
|
||||
if (FillModel(model))
|
||||
{
|
||||
var logic = DependencyManager.Instance.Resolve<UserBusinessLogic>();
|
||||
var user = await logic.GetElementAsync(new UserGetBindingModel { Id = _element.UserId });
|
||||
var user = logic.GetElement(new UserGetBindingModel { Id = _element.UserId });
|
||||
if (user == null)
|
||||
{
|
||||
DialogHelper.MessageException(logic.Errors, "Ошибка при получении пользователя");
|
||||
return;
|
||||
}
|
||||
user.Password = model.DateBirth.ToShortDateString();
|
||||
user = await logic.UpdateAsync(Mapper.MapToClass<UserViewModel, UserSetBindingModel>(user, true));
|
||||
user = logic.Update(Mapper.MapToClass<UserViewModel, UserSetBindingModel>(user, true));
|
||||
if (user == null)
|
||||
{
|
||||
DialogHelper.MessageException(logic.Errors, "Ошибка при получении пользователя");
|
||||
|
@ -13,7 +13,6 @@ using SecurityBusinessLogic.BusinessLogics;
|
||||
using SecurityBusinessLogic.ViewModels;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace DepartmentWindowsDesktop.EntityControls
|
||||
{
|
||||
@ -38,22 +37,22 @@ namespace DepartmentWindowsDesktop.EntityControls
|
||||
{
|
||||
ControlOnMoveElem = new Dictionary<string, (string Title, EventHandler Event)>
|
||||
{
|
||||
{ "ToolStripMenuItemAddUser", ("Добавить пользователя", async (object sender, EventArgs e) => { await AddUserAsunc(); }) },
|
||||
{ "ToolStripMenuItemPasswordReset", ("Сброс пароля пользователя", async (object sender, EventArgs e) => { await PasswordResetAsync(); }) }
|
||||
{ "ToolStripMenuItemAddUser", ("Добавить пользователя", (object sender, EventArgs e) => { AddUser(); }) },
|
||||
{ "ToolStripMenuItemPasswordReset", ("Сброс пароля пользователя", (object sender, EventArgs e) => { PasswordReset(); }) }
|
||||
}
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
/// Поиск пользователя под учетку, либо добавление нового, если не найдено
|
||||
/// </summary>
|
||||
private async Task AddUserAsunc()
|
||||
private void AddUser()
|
||||
{
|
||||
var model = new LecturerSetBindingModel();
|
||||
if (FillModel(model))
|
||||
{
|
||||
var logic = DependencyManager.Instance.Resolve<UserBusinessLogic>();
|
||||
var userName = $"{model.LastName}{(model.FirstName.IsNotEmpty() ? $" {model.FirstName[0]}." : string.Empty)}{(model.Patronymic.IsNotEmpty() ? $"{model.Patronymic[0]}." : string.Empty)}";
|
||||
var result = await logic.GetListAsync(new UserGetBindingModel { UserNameForSearch = userName });
|
||||
var result = logic.GetList(new UserGetBindingModel { UserNameForSearch = userName });
|
||||
if (result != null)
|
||||
{
|
||||
if (result.List.Count > 1)
|
||||
@ -67,7 +66,7 @@ namespace DepartmentWindowsDesktop.EntityControls
|
||||
}
|
||||
else
|
||||
{
|
||||
var newuser = await logic.CreateAsync(new UserSetBindingModel
|
||||
var newuser = logic.Create(new UserSetBindingModel
|
||||
{
|
||||
Login = userName,
|
||||
Password = model.DateBirth.ToShortDateString(),
|
||||
@ -92,7 +91,7 @@ namespace DepartmentWindowsDesktop.EntityControls
|
||||
/// <summary>
|
||||
/// Сброс пароля пользователя
|
||||
/// </summary>
|
||||
private async Task PasswordResetAsync()
|
||||
private void PasswordReset()
|
||||
{
|
||||
if (_element == null)
|
||||
{
|
||||
@ -102,14 +101,14 @@ namespace DepartmentWindowsDesktop.EntityControls
|
||||
if (FillModel(model))
|
||||
{
|
||||
var logic = DependencyManager.Instance.Resolve<UserBusinessLogic>();
|
||||
var user = await logic.GetElementAsync(new UserGetBindingModel { Id = _element.UserId });
|
||||
var user = logic.GetElement(new UserGetBindingModel { Id = _element.UserId });
|
||||
if (user == null)
|
||||
{
|
||||
DialogHelper.MessageException(logic.Errors, "Ошибка при получении пользователя");
|
||||
return;
|
||||
}
|
||||
user.Password = model.DateBirth.ToShortDateString();
|
||||
user = await logic.UpdateAsync(Mapper.MapToClass<UserViewModel, UserSetBindingModel>(user, true));
|
||||
user = logic.Update(Mapper.MapToClass<UserViewModel, UserSetBindingModel>(user, true));
|
||||
if (user == null)
|
||||
{
|
||||
DialogHelper.MessageException(logic.Errors, "Ошибка при получении пользователя");
|
||||
|
@ -9,7 +9,6 @@ using DesktopTools.Models;
|
||||
using ModuleTools.Enums;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace DepartmentWindowsDesktop.EntityControls
|
||||
{
|
||||
@ -44,7 +43,7 @@ namespace DepartmentWindowsDesktop.EntityControls
|
||||
},
|
||||
ControlOnMoveElem = new()
|
||||
{
|
||||
{ "ToolStripMenuItemSyncOrders", ("Синхронизировать студентов", async (object sender, EventArgs e) => { await SyncOrders(); }) }
|
||||
{ "ToolStripMenuItemSyncOrders", ("Синхронизировать студентов", (object sender, EventArgs e) => { SyncOrders(); }) }
|
||||
}
|
||||
};
|
||||
|
||||
@ -52,9 +51,9 @@ namespace DepartmentWindowsDesktop.EntityControls
|
||||
/// Синхронизация приказов
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
private async Task SyncOrders()
|
||||
private void SyncOrders()
|
||||
{
|
||||
var flag = await _businessLogic.SyncOrders();
|
||||
var flag = _businessLogic.SyncOrders();
|
||||
if (!flag)
|
||||
{
|
||||
DialogHelper.MessageException(_businessLogic.Errors, "Ошибки при синхронизации");
|
||||
|
@ -13,7 +13,6 @@ using SecurityBusinessLogic.BusinessLogics;
|
||||
using SecurityBusinessLogic.ViewModels;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace DepartmentWindowsDesktop.EntityControls
|
||||
{
|
||||
@ -38,22 +37,22 @@ namespace DepartmentWindowsDesktop.EntityControls
|
||||
{
|
||||
ControlOnMoveElem = new Dictionary<string, (string Title, EventHandler Event)>
|
||||
{
|
||||
{ "ToolStripMenuItemAddUser", ("Добавить пользователя", async (object sender, EventArgs e) => { await AddUserAsync(); }) },
|
||||
{ "ToolStripMenuItemPasswordReset", ("Сброс пароля пользователя", async (object sender, EventArgs e) => { await PasswordResetAsync(); }) }
|
||||
{ "ToolStripMenuItemAddUser", ("Добавить пользователя", (object sender, EventArgs e) => { AddUser(); }) },
|
||||
{ "ToolStripMenuItemPasswordReset", ("Сброс пароля пользователя", (object sender, EventArgs e) => { PasswordReset(); }) }
|
||||
}
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
/// Поиск пользователя под учетку, либо добавление нового, если не найдено
|
||||
/// </summary>
|
||||
private async Task AddUserAsync()
|
||||
private void AddUser()
|
||||
{
|
||||
var model = new StudentSetBindingModel();
|
||||
if (FillModel(model))
|
||||
{
|
||||
var logic = DependencyManager.Instance.Resolve<UserBusinessLogic>();
|
||||
var userName = $"{model.LastName}{(model.FirstName.IsNotEmpty() ? $" {model.FirstName[0]}." : string.Empty)}{(model.Patronymic.IsNotEmpty() ? $"{model.Patronymic[0]}." : string.Empty)}";
|
||||
var user = await logic.GetElementAsync(new UserGetBindingModel { Login = model.NumberOfBook });
|
||||
var user = logic.GetElement(new UserGetBindingModel { Login = model.NumberOfBook });
|
||||
if (user == null)
|
||||
{
|
||||
if (logic.Errors.Count > 0)
|
||||
@ -61,7 +60,7 @@ namespace DepartmentWindowsDesktop.EntityControls
|
||||
DialogHelper.MessageException(logic.Errors, "Ошибка при создании пользователя");
|
||||
return;
|
||||
}
|
||||
user = await logic.CreateAsync(new UserSetBindingModel
|
||||
user = logic.Create(new UserSetBindingModel
|
||||
{
|
||||
Login = model.NumberOfBook,
|
||||
Password = userName,
|
||||
@ -85,7 +84,7 @@ namespace DepartmentWindowsDesktop.EntityControls
|
||||
/// <summary>
|
||||
/// Сброс пароля пользователя
|
||||
/// </summary>
|
||||
private async Task PasswordResetAsync()
|
||||
private void PasswordReset()
|
||||
{
|
||||
if (_element == null)
|
||||
{
|
||||
@ -95,14 +94,14 @@ namespace DepartmentWindowsDesktop.EntityControls
|
||||
if (FillModel(model))
|
||||
{
|
||||
var logic = DependencyManager.Instance.Resolve<UserBusinessLogic>();
|
||||
var user = await logic.GetElementAsync(new UserGetBindingModel { Id = _element.UserId });
|
||||
var user = logic.GetElement(new UserGetBindingModel { Id = _element.UserId });
|
||||
if (user == null)
|
||||
{
|
||||
DialogHelper.MessageException(logic.Errors, "Ошибка при получении пользователя");
|
||||
return;
|
||||
}
|
||||
user.Password = model.NumberOfBook;
|
||||
user = await logic.UpdateAsync(Mapper.MapToClass<UserViewModel, UserSetBindingModel>(user, true));
|
||||
user = logic.Update(Mapper.MapToClass<UserViewModel, UserSetBindingModel>(user, true));
|
||||
if (user == null)
|
||||
{
|
||||
DialogHelper.MessageException(logic.Errors, "Ошибка при получении пользователя");
|
||||
|
@ -39,7 +39,7 @@ namespace SecurityWindowsDesktop.EntityControls
|
||||
public ControlViewEntityListConfiguration GetConfigControl() => new()
|
||||
{
|
||||
PaginationOn = true,
|
||||
PageNamesForPagination = _roleBusinessLogic.GetListAsync(new RoleGetBindingModel()).Result?.List?.Select(x =>
|
||||
PageNamesForPagination = _roleBusinessLogic.GetList(new RoleGetBindingModel())?.List?.Select(x =>
|
||||
new PageNamesForPaginationModel
|
||||
{
|
||||
Key = x.Id,
|
||||
|
Loading…
Reference in New Issue
Block a user