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 { /// /// Событие, вызываемое при закрытии контрола /// private event Action 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); } } }