using DepartmentContract.BindingModels;
using DepartmentContract.Logics.IGenericEntityLogic;
using DepartmentContract.ViewModels;
using System;
using System.Collections.Generic;
using System.Windows.Forms;
using ToolsDesktop.Controls;
using ToolsDesktop.Enums;
using ToolsDesktop.Helpers;
using ToolsDesktop.Interfaces;
using ToolsDesktop.Models;
using ToolsModule.Enums;
namespace DepartmentWindowsDesktop.EntityControls
{
///
/// Реализация контрола для списка учебных планов
///
public partial class ControlAcademicPlanList :
GenericControlEntityList,
IGenericControlEntityList
{
public ControlAcademicPlanList()
{
InitializeComponent();
Title = "Учебные планы";
ControlId = new Guid("144d098c-ff55-4786-ae63-3105a92990cd");
AccessOperation = AccessOperation.УчебныеПланы;
ControlViewEntityElement = new ControlAcademicPlanElement();
_genericControlViewEntityList = this;
}
public IControl GetInstanceGenericControl() => new ControlAcademicPlanList() { ControlId = Guid.NewGuid() };
public ControlViewEntityListConfiguration GetConfigControl() => new()
{
PaginationOn = false,
HideToolStripButton = new List
{
ToolStripButtonListNames.toolStripButtonSearch
},
ControlOnMoveElem = new Dictionary
{
{ "ToolStripMenuItemLoadPlx", ("Загрузить план", (object sender, EventArgs e) => { LoadPlx(); }) }
}
};
///
/// Загрузка учебного плана
///
private void LoadPlx()
{
var ids = GetSelectedIds();
if (ids.Count != 1)
{
DialogHelper.MessageException("Должна быть выбрана одна запись", $"Ошибка");
return;
}
var dialog = new OpenFileDialog
{
Filter = "plx|*.plx"
};
if (dialog.ShowDialog() == DialogResult.OK)
{
var result = _businessLogic.LoadPlx(new AcademicPlanLoadPlxModel
{
AcademicPlanId = ids[0],
FileName = dialog.FileName
});
if (result)
{
DialogHelper.MessageInformation("Загрузка прошла успешно", "Результат");
}
else
{
DialogHelper.MessageException(_businessLogic.Errors, $"Ошибки при загрузке плана");
}
}
}
}
}