using com.sun.tools.javac.file;
using Comal.Classes;
using InABox.Core;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace PRSDesktop
{
///
/// Interaction logic for JobRequisitionsPanel.xaml
///
public partial class JobRequisitionsPanel : UserControl, IPanel
{
public JobRequisitionsPanel()
{
InitializeComponent();
}
public bool IsReady { get; set; }
public string SectionName => "Job Requisitions";
public event DataModelUpdateEvent? OnUpdateDataModel;
public void CreateToolbarButtons(IPanelHost host)
{
}
public DataModel DataModel(Selection selection)
{
var ids = jobRequiItems.ExtractValues(x => x.ID, selection).ToArray();
return new BaseDataModel(new Filter(x => x.ID).InList(ids));
}
public void Heartbeat(TimeSpan time)
{
}
public void Refresh()
{
jobRequiItems.Refresh(true, true);
availableHoldingsGrid.Refresh(true, true);
movementHistoryGrid.Refresh(true, true);
}
public Dictionary Selected()
{
var result = new Dictionary();
result[typeof(JobRequisitionItem).EntityName()] = jobRequiItems.SelectedRows;
return result;
}
public void Setup()
{
SetupJobRequiItemGrid();
availableHoldingsGrid.empID = jobRequiItems.empID;
availableHoldingsGrid.OnStockReserved += AvailableHoldingsGrid_OnStockReserved;
}
private void AvailableHoldingsGrid_OnStockReserved()
{
jobRequiItems.Refresh(false, true);
availableHoldingsGrid.Refresh(false, true);
movementHistoryGrid.Refresh(false, true);
}
private void SetupJobRequiItemGrid()
{
jobRequiItems.OnJobRequiItemSelected += JobRequiItemGrid_OnJobRequiItemSelected;
jobRequiItems.OnGridRefresh += JobRequiItems_OnGridRefresh;
jobRequiItems.Refresh(true, true);
}
private void JobRequiItems_OnGridRefresh()
{
jobRequiItems.Refresh(false, true);
}
private void JobRequiItemGrid_OnJobRequiItemSelected(JobRequisitionItem item)
{
availableHoldingsGrid.Item = item;
availableHoldingsGrid.ProductID = item.Product.ID;
availableHoldingsGrid.Refresh(true, true);
movementHistoryGrid.JobRequiItemID = item.ID;
movementHistoryGrid.Refresh(true, true);
}
public void Shutdown()
{
}
}
}