| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- using System;
- using System.Collections.Generic;
- using System.Diagnostics;
- using System.IO;
- using System.Linq;
- using System.Threading.Tasks;
- using System.Windows;
- using Comal.Classes;
- using InABox.Clients;
- using InABox.Core;
- using InABox.DynamicGrid;
- using InABox.Integration.Logikal;
- using InABox.Wpf;
- using InABox.WPF;
- using Microsoft.Win32;
- using PRSDesktop.Integrations.Logikal;
- using sun.rmi.server;
- namespace PRSDesktop;
- public partial class LogikalProjectImport : Window
- {
- private void UpdateStatus(LogikalResponse response)
- {
- Status.Content = response.ToString();
- }
- private LogikalClient ClientRequired(object sender)
- {
- return client;
- }
-
- private LogikalClient client = new LogikalClient();
-
- private Func<LogikalProject, bool>? _filter;
- private Action<LogikalProject>? _selected;
-
- public LogikalProjectImport(Func<LogikalProject,bool> filter, Action<LogikalProject> selected)
- {
- InitializeComponent();
- _filter = filter;
- _selected = selected;
- ProjectCentres.Refresh(true, false);
- Projects.Refresh(true, false);
- }
- private void OK_Click(object sender, RoutedEventArgs e)
- {
- var project = Projects.SelectedRows.FirstOrDefault()?.ToObject<LogikalProject>();
- if (project == null)
- return;
- _selected?.Invoke(project);
- DialogResult = true;
- }
- private void Cancel_Click(object sender, RoutedEventArgs e)
- {
- DialogResult = false;
- }
- private void Window_Loaded(object sender, RoutedEventArgs e)
- {
- if (LogikalCommon.CheckSettings(client.Settings))
- ProjectCentres.Get();
- else
- Close();
- }
- private void ProjectCentres_OnSelectItem(object sender, DynamicGridSelectionEventArgs e)
- {
- var id = e.Rows?.FirstOrDefault()?.Get<LogikalProjectCentre, Guid>(x => x.ID) ?? Guid.Empty;
- var _centre = ProjectCentres.Items.FirstOrDefault(x => x.ID == id);
- Projects.Items = _centre?.Projects.ToList() ?? new List<LogikalProject>();
- Projects.Refresh(false, true);
- Status.Content = $"{Projects.Items.Count} Projects Found";
- }
- private void Projects_OnSelectItem(object sender, DynamicGridSelectionEventArgs e)
- {
- var id = e.Rows?.FirstOrDefault()?.Get<LogikalProject, Guid>(x => x.ID) ?? Guid.Empty;
- OK.IsEnabled = id != Guid.Empty;
- }
- }
|