using System; using System.Collections.Generic; using System.Linq; using System.Windows; using System.Windows.Controls; using Comal.Classes; using InABox.Core; using InABox.DynamicGrid; using InABox.WPF; using javax.xml.crypto; namespace PRSDesktop { public partial class SupplierBillPanel : UserControl, IPanel { public SupplierBillPanel() { InitializeComponent(); } public bool IsReady { get; set; } public event DataModelUpdateEvent OnUpdateDataModel; public Dictionary Selected() { return new Dictionary { { typeof(Bill).EntityName(), Bills.SelectedRows } }; } public void CreateToolbarButtons(IPanelHost host) { } public string SectionName => "Supplier Bills"; public DataModel DataModel(Selection selection) { var ids = Bills.ExtractValues(x => x.ID, selection).ToArray(); return new BaseDataModel(new Filter(x => x.ID).InList(ids)); } public void Refresh() { Bills.Refresh(false, true); } public void Setup() { Bill.SetLayoutType(); Bills.Refresh(true, false); } public void Shutdown() { } public void Heartbeat(TimeSpan time) { } public Dictionary DataEnvironment() { return new Dictionary { { typeof(Bill), Bills.Data } }; } private Bill[] _bills = null; private void Bills_OnOnSelectItem(object sender, DynamicGridSelectionEventArgs e) { ReloadBills(); } private void ReloadBills() { if (Bills.SelectedRows?.Any() == true) { _bills = Bills.LoadBills(Bills.SelectedRows); Bills.InitialiseEditorForm(Bill, _bills); Bill.Visibility = Visibility.Visible; } else { _bills = null; Bill.Visibility = Visibility.Hidden; } } private void Bill_OnOnOK() { using (new WaitCursor()) { var cancel = new System.ComponentModel.CancelEventArgs(); Bill.SaveItem(cancel); if (!cancel.Cancel) ReloadBills(); } } private void Bill_OnOnCancel() { ReloadBills(); } } }