using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Controls;
using Comal.Classes;
using InABox.Core;
using InABox.DynamicGrid;
namespace PRSDesktop
{
///
/// Interaction logic for JobMaterialPanel.xaml
///
public partial class JobRequisitionPanel : UserControl, IPanel, IJobControl
{
public JobRequisitionPanel()
{
InitializeComponent();
Requisitions.OnSelectItem += Requisitions_OnSelectItem;
}
public Guid JobID
{
get => Requisitions.JobID;
set
{
Requisitions.JobID = value;
Items.JobID = value;
}
}
public bool IsReady { get; set; }
public event DataModelUpdateEvent OnUpdateDataModel;
public void CreateToolbarButtons(IPanelHost host)
{
}
public void Setup()
{
Requisitions.Refresh(true, false);
Items.Refresh(true, false);
}
public void Shutdown()
{
}
public void Refresh()
{
Requisitions.Refresh(false, true);
Items.Refresh(false, true);
}
public string SectionName => "Job Requisitions";
public DataModel DataModel(Selection selection)
{
var ids = Requisitions.ExtractValues(x => x.ID, selection).ToArray();
return new AutoDataModel(new Filter(c => c.ID).InList(ids));
}
public Dictionary Selected()
{
return new Dictionary();
}
public void Heartbeat(TimeSpan time)
{
}
private void Requisitions_OnSelectItem(object sender, DynamicGridSelectionEventArgs e)
{
var row = e.Rows?.FirstOrDefault();
Items.RequisitionID = row != null ? row.Get(x => x.ID) : CoreUtils.FullGuid;
Items.JobID = row != null ? row.Get(x => x.Job.ID) : CoreUtils.FullGuid;
Items.Refresh(false, true);
}
}
}