123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- 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 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)
- {
- ProjectCentres.Get();
- }
- 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.Where(x=>_filter == null || _filter(x)).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;
- }
- }
|