123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- 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<Bill>
- {
- public SupplierBillPanel()
- {
- InitializeComponent();
- }
-
- public bool IsReady { get; set; }
- public event DataModelUpdateEvent OnUpdateDataModel;
- public Dictionary<string, object[]> Selected()
- {
- return new Dictionary<string, object[]> { { 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<Bill>(new Filter<Bill>(x => x.ID).InList(ids));
- }
- public void Refresh()
- {
- Bills.Refresh(false, true);
- }
- public void Setup()
- {
- Bill.SetLayoutType<VerticalDynamicEditorGridLayout>();
- Bills.Refresh(true, false);
- }
- public void Shutdown()
- {
- }
- public void Heartbeat(TimeSpan time)
- {
- }
-
- public Dictionary<Type, CoreTable> DataEnvironment()
- {
- return new Dictionary<Type, CoreTable>
- {
- { 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();
- }
- }
- }
|