123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Windows.Controls;
- using com.sun.security.ntlm;
- using Comal.Classes;
- using InABox.Clients;
- using InABox.Core;
- using InABox.DynamicGrid;
- using static com.sun.xml.@internal.ws.api.config.management.policy.ManagementAssertion;
- namespace PRSDesktop
- {
- public partial class MeetingPanel : UserControl, IPanel<Meeting>
- {
- public MeetingPanel()
- {
- InitializeComponent();
- }
- #region IPanel
-
- public void Setup()
- {
- MeetingAssignments.Refresh(true, false);
- MeetingDetails.Setup();
- foreach (var column in MeetingModel.Columns.Items)
- Meetings.AddHiddenColumn(column.Property);
- Meetings.Refresh(true, false);
- }
- public void Shutdown()
- {
-
- }
- public void Refresh()
- {
- Meetings.Refresh(false, true);
- }
- public string SectionName => "Meetings";
-
- public DataModel DataModel(Selection selection)
- {
- return new AutoDataModel<Meeting>(null);
- }
- public event DataModelUpdateEvent? OnUpdateDataModel;
-
- public bool IsReady { get; set; }
-
- public void CreateToolbarButtons(IPanelHost host)
- {
-
- }
- public Dictionary<string, object[]> Selected()
- {
- return new Dictionary<string, object[]>();
- }
- public void Heartbeat(TimeSpan time)
- {
-
- }
-
- #endregion
- private void Meetings_OnOnSelectItem(object sender, DynamicGridSelectionEventArgs e)
- {
- CoreRow? row = e.Rows?.FirstOrDefault();
-
- var meeting = row?.ToObject<Meeting>() ?? new Meeting();
- Meetings.InitialiseEditorForm(MeetingDetailsForm, new Meeting[] { meeting });
- MeetingDetailsForm.OnAfterEditorValueChanged += MeetingDetailsForm_OnAfterEditorValueChanged;
- var model = new MeetingModel(row);
-
- MeetingDetails.Model = model;
- MeetingDetails.Refresh();
-
- MeetingAssignments.Model = model;
- MeetingAssignments.Refresh(false,true);
- }
- private Dictionary<string, object?>? MeetingDetailsForm_OnAfterEditorValueChanged(DynamicEditorGrid sender, string columnname)
- {
- var item = MeetingDetailsForm.Items.FirstOrDefault();
- if(item is Meeting meeting)
- {
- new Client<Meeting>().Save(meeting, "");
- // Commented out because if you do too many refreshes, the selection on the grid is lost and bad stuff happens.
- // Meetings.Refresh(false, true);
- }
- return null;
- }
- }
- }
|