using System; using System.Collections.Generic; using System.Linq; using System.Linq.Expressions; using System.Threading.Tasks; using System.Windows; using Comal.Classes; using InABox.Core; using InABox.Integration.Awg; using InABox.Integration.Logikal; using PRSDesktop.Integrations.Logikal; namespace PRSDesktop.Integrations.Common; public partial class AWGMappingWindow : Window { private readonly Action? _partsCallback; private readonly Action? _labourCallback; public AWGMappingWindow( IntegrationSourceType sourceType, //Guid jobid, IEnumerable finishes, IEnumerable profiles, IEnumerable gaskets, IEnumerable components, IEnumerable glass, IEnumerable labour, Action? partsCallback, Action? labourCallback) { InitializeComponent(); _partsCallback = partsCallback; _labourCallback = labourCallback; //ViewModel.JobID = jobid; ViewModel.SourceType = sourceType; ViewModel.Finishes = finishes; ViewModel.Profiles = profiles; ViewModel.Gaskets = gaskets; ViewModel.Components = components; ViewModel.Glass = glass; ViewModel.Labour = labour; } private void CancelClick(object sender, RoutedEventArgs e) { DialogResult = false; } private void OKClick(object sender, RoutedEventArgs e) { ViewModel.GetParts(_partsCallback,_labourCallback); //ViewModel.CreateBOM(); DialogResult = true; } public void GetParts( IEnumerable? profiles, IEnumerable? gaskets, IEnumerable? components, IEnumerable? glasses, IEnumerable? labour, Action? productCallback, Action? labourCallback) where TProfile : IAwgProfile where TGasket : IAwgGasket where TComponent : IAwgComponent where TGlass : IAwgGlass where TLabour : IAwgLabour { ViewModel.GetParts(profiles, gaskets, components, glasses, labour, productCallback, labourCallback); } }