using Comal.Classes; using InABox.Clients; using InABox.Rpc; using InABox.Wpf; 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.Shapes; namespace PRSDesktop.Forms.Issues; /// /// Interaction logic for IssuesWindow.xaml /// public partial class IssuesWindow : Window { public Func ClientFactory { set => Grid.ClientFactory = value; } public IssuesWindow() { InitializeComponent(); } private void Window_Loaded(object sender, RoutedEventArgs e) { Grid.Refresh(true, true); } public static void Execute() { var transport = new RpcClientSocketTransport(["remote.prsdigital.com.au:8006"]); var client = new RpcClient(transport); if(client.Validate("ADMIN", "admin", Guid.Empty).Status != InABox.Clients.ValidationStatus.VALID) { MessageWindow.ShowMessage("Could not connect to PRS digital database.", "Connection error."); return; } var issues = new IssuesWindow(); issues.ClientFactory = x => (Activator.CreateInstance(typeof(RpcClient<>).MakeGenericType(x), transport) as IClient)!; issues.ShowDialog(); } }