DepartmentProject/DepartmentPortal/AcademicProgressWindowsDesktop/SpecialControls/ControlStudentGraduate.cs

105 lines
3.1 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using DepartmentWindowsDesktop.EntityControls;
using DesktopTools.BaseControls;
using DesktopTools.Interfaces;
using DesktopTools.Models;
using ModuleTools.Enums;
using System;
using System.Windows.Forms;
using System.Xml.Linq;
namespace AcademicProgressWindowsDesktop.SpecialControls
{
/// <summary>
/// Контрол для работы с выпускниками
/// </summary>
public partial class ControlStudentGraduate : UserControl, IControl
{
/// <summary>
/// Событие, вызываемое при закрытии контрола
/// </summary>
private event Action<Guid> CloseEvent;
public ControlStudentGraduate()
{
InitializeComponent();
Title = "Приложение к диплому";
//что за цифры тут откуда брать...
ControlId = new Guid("cc3944e6-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 ControlStudentGraduate() { 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_1(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(50, positionY),
Size = new System.Drawing.Size(410, 23)
};
controlStudent.SetTitleWidth(controlStudent.SetTitle("Cтудент:"));
groupBoxReportInfo.Controls.Add(controlStudent);
positionY += controlStudent.Height + interval;
var controlStudentGroup = new BaseControlGuid(" StudentGroupId", true, false, new ControlStudentGroupList(), null)
{
Location = new System.Drawing.Point(53, positionY),
Size = new System.Drawing.Size(407, 23)
};
controlStudentGroup.SetTitleWidth(controlStudentGroup.SetTitle("Группа:"));
groupBoxReportInfo.Controls.Add(controlStudentGroup);
}
}
}