141 lines
4.3 KiB
C#
141 lines
4.3 KiB
C#
|
using DesktopTools.Interfaces;
|
|||
|
using DesktopTools.Models;
|
|||
|
using ModuleTools.Enums;
|
|||
|
using System;
|
|||
|
using System.Xml.Linq;
|
|||
|
using System.Windows.Forms;
|
|||
|
using DesktopTools.BaseControls;
|
|||
|
using DepartmentWindowsDesktop.EntityControls;
|
|||
|
using DepartmentBusinessLogic.Enums;
|
|||
|
|
|||
|
namespace AcademicProgressWindowsDesktop.SpecialControls
|
|||
|
{
|
|||
|
public partial class ControlReportPlanDisciplines : UserControl, IControl
|
|||
|
{
|
|||
|
/// <summary>
|
|||
|
/// Событие, вызываемое при закрытии контрола
|
|||
|
/// </summary>
|
|||
|
private event Action<Guid> CloseEvent;
|
|||
|
public ControlReportPlanDisciplines()
|
|||
|
{
|
|||
|
InitializeComponent();
|
|||
|
Title = "План сдачи";
|
|||
|
//что за цифры тут откуда брать...
|
|||
|
ControlId = new Guid("cc2234e6-5d92-4c89-b817-4c17ec382bc1");
|
|||
|
AccessOperation = AccessOperation.План_сдачи;
|
|||
|
toolStripButtonClose.Click += (object sender, EventArgs e) =>
|
|||
|
{
|
|||
|
CloseEvent?.Invoke(ControlId);
|
|||
|
Dispose();
|
|||
|
};
|
|||
|
LoadGroupBoxReportInfo();
|
|||
|
|
|||
|
}
|
|||
|
#region IControl
|
|||
|
public Guid ControlId { get; private set; }
|
|||
|
|
|||
|
public string Title { get; private set; }
|
|||
|
|
|||
|
public AccessOperation AccessOperation { get; private set; }
|
|||
|
|
|||
|
public IControl GetInstance() => new ControlReportPlanDisciplines() { ControlId = Guid.NewGuid() };
|
|||
|
|
|||
|
public void Open(ControlOpenModel model)
|
|||
|
{
|
|||
|
if (model.CloseList != null)
|
|||
|
{
|
|||
|
CloseEvent += model.CloseList;
|
|||
|
}
|
|||
|
Dock = DockStyle.Fill;
|
|||
|
}
|
|||
|
|
|||
|
public string SaveToXml() => new XElement("Control",
|
|||
|
new XAttribute("Type", GetType().FullName),
|
|||
|
new XAttribute("ControlId", ControlId),
|
|||
|
new XAttribute("Title", Title),
|
|||
|
new XAttribute("AccessOperation", AccessOperation)).ToString();
|
|||
|
|
|||
|
public void LoadFromXml(string xml)
|
|||
|
{
|
|||
|
var control = XElement.Parse(xml);
|
|||
|
ControlId = new Guid(control.Attribute("ControlId").Value.ToString());
|
|||
|
Title = control.Attribute("Title").Value.ToString();
|
|||
|
AccessOperation = (AccessOperation)Enum.Parse(typeof(AccessOperation), control.Attribute("AccessOperation").Value.ToString());
|
|||
|
}
|
|||
|
|
|||
|
#endregion
|
|||
|
|
|||
|
private void buttonSave_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
private void buttonSaveSelectFolder_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
private void LoadGroupBoxReportInfo()
|
|||
|
{
|
|||
|
|
|||
|
int positionY = 40;
|
|||
|
int interval = 15;
|
|||
|
|
|||
|
var controlStudent = new BaseControlGuid("StudentId", true, false, new ControlStudentList(), null)
|
|||
|
{
|
|||
|
Location = new System.Drawing.Point(100, positionY),
|
|||
|
Size = new System.Drawing.Size(545, 23)
|
|||
|
|
|||
|
};
|
|||
|
controlStudent.SetTitleWidth(controlStudent.SetTitle("Cтудент:"));
|
|||
|
groupBoxReportInfo.Controls.Add(controlStudent);
|
|||
|
|
|||
|
positionY += controlStudent.Height + interval;
|
|||
|
|
|||
|
var controlEducationDirectionUpTo = new BaseControlGuid("EducationDirectionViewModelId", true, false, new ControlEducationDirectionList(), null)
|
|||
|
{
|
|||
|
Location = new System.Drawing.Point(37, positionY),
|
|||
|
Size = new System.Drawing.Size(356, 23)
|
|||
|
|
|||
|
};
|
|||
|
controlEducationDirectionUpTo.SetTitleWidth(controlEducationDirectionUpTo.SetTitle("Направление до:"));
|
|||
|
groupBoxReportInfo.Controls.Add(controlEducationDirectionUpTo);
|
|||
|
|
|||
|
|
|||
|
|
|||
|
var controlSemesterUpTo = new BaseControlEnum("Semester", true, false, typeof(Semester))
|
|||
|
{
|
|||
|
Location = new System.Drawing.Point(425, positionY),
|
|||
|
Size = new System.Drawing.Size(220, 23)
|
|||
|
|
|||
|
};
|
|||
|
controlSemesterUpTo.SetTitleWidth(controlSemesterUpTo.SetTitle("Семестр до:"));
|
|||
|
groupBoxReportInfo.Controls.Add(controlSemesterUpTo);
|
|||
|
|
|||
|
positionY += controlEducationDirectionUpTo.Height + interval;
|
|||
|
|
|||
|
var controlEducationDirectionAfter = new BaseControlGuid("EducationDirectionViewModelId", true, false, new ControlEducationDirectionList(), null)
|
|||
|
{
|
|||
|
Location = new System.Drawing.Point(13, positionY),
|
|||
|
Size = new System.Drawing.Size(380, 23)
|
|||
|
|
|||
|
};
|
|||
|
controlEducationDirectionAfter.SetTitleWidth(controlEducationDirectionAfter.SetTitle("Направление после:"));
|
|||
|
groupBoxReportInfo.Controls.Add(controlEducationDirectionAfter);
|
|||
|
|
|||
|
|
|||
|
|
|||
|
var controlSemesterAfter = new BaseControlEnum("Semester", true, false, typeof(Semester))
|
|||
|
{
|
|||
|
Location = new System.Drawing.Point(401, positionY),
|
|||
|
Size = new System.Drawing.Size(245, 23)
|
|||
|
|
|||
|
};
|
|||
|
controlSemesterAfter.SetTitleWidth(controlSemesterAfter.SetTitle("Семестр после:"));
|
|||
|
groupBoxReportInfo.Controls.Add(controlSemesterAfter);
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
}
|
|||
|
}
|