[chore:] implemented difference (combiner) and its usage
This commit is contained in:
@@ -1,7 +1,6 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.IO;
|
||||
using System.Threading.Tasks;
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Interactivity;
|
||||
@@ -197,14 +196,14 @@ public partial class MainWindow : Window
|
||||
progressWindow.Show(_instance);
|
||||
|
||||
var processor = new CombineAddresses(progressWindow);
|
||||
var result = await processor.Perform(address_list);
|
||||
//var result = await processor.Perform(address_list);
|
||||
|
||||
|
||||
progressWindow.Close();
|
||||
File.WriteAllText(OpenSettingsSaveAsDialog().Result,
|
||||
new CsvBuilder(
|
||||
"refsid,anrede,titel,vorname,adel,name,namezus,anredzus,strasse,strasse2,plz,ort,land,pplz,postfach,name1,name2,name3,name4,name5,funktion,funktion2,abteilung,funktionad,lastupdate",
|
||||
result).BuildKas());
|
||||
//File.WriteAllText(OpenSettingsSaveAsDialog().Result,
|
||||
//new CsvBuilder(
|
||||
//"refsid,anrede,titel,vorname,adel,name,namezus,anredzus,strasse,strasse2,plz,ort,land,pplz,postfach,name1,name2,name3,name4,name5,funktion,funktion2,abteilung,funktionad,lastupdate",
|
||||
//result).BuildKas());
|
||||
}
|
||||
|
||||
private async Task<string> OpenSettingsSaveAsDialog()
|
||||
@@ -241,6 +240,24 @@ public partial class MainWindow : Window
|
||||
}
|
||||
}
|
||||
|
||||
private async void StartDifference(List<KasAddressList> address_lists, int owner_id)
|
||||
{
|
||||
var progressWindow = new ProgressWindow();
|
||||
|
||||
progressWindow.Show(_instance);
|
||||
|
||||
var processor = new CombineAddresses(progressWindow);
|
||||
var result = await processor.Perform(address_lists, "difference");
|
||||
|
||||
result.owner_id = owner_id;
|
||||
Settings._instance.addressSets.addresses.Add(result);
|
||||
Settings.Save();
|
||||
progressWindow.Close();
|
||||
|
||||
|
||||
//new ResultWindow(result, addresSetID).Show();
|
||||
}
|
||||
|
||||
private void BtnSettingsAddCustomer_OnClick(object? sender, RoutedEventArgs e)
|
||||
{
|
||||
Settings._instance.customers.customers.Add(new Customer());
|
||||
@@ -399,7 +416,7 @@ public partial class MainWindow : Window
|
||||
foreach (var k in Settings._instance.addressSets.addresses)
|
||||
foreach (var customer in Settings._instance.customers.customers)
|
||||
if (customer.ID == k.owner_id && customer.ID == customer_id)
|
||||
LstCustomerAdressSets.Items.Add(k.ID + " - " + k.Name);
|
||||
LstCustomerAdressSets.Items.Add(k.ID + " - " + k.Name + "(" + k.KasPersons.Count + " Einträge)");
|
||||
}
|
||||
|
||||
private void LstCustomerAdressSets_OnSelectionChanged(object? sender, SelectionChangedEventArgs e)
|
||||
@@ -474,4 +491,14 @@ public partial class MainWindow : Window
|
||||
MessageBox.Show(this, "Unknown Error: " + ex.Message, "Error");
|
||||
}
|
||||
}
|
||||
|
||||
private void BtnCombineDifference_OnClick(object? sender, RoutedEventArgs e)
|
||||
{
|
||||
var list = new List<KasAddressList>();
|
||||
foreach (var item in LstCustomerAdressSets.SelectedItems)
|
||||
list.Add(Settings._instance.addressSets.GetAddressSetByID(
|
||||
Convert.ToInt32(item.ToString().Split(" - ")[0])));
|
||||
|
||||
StartDifference(list, Convert.ToInt32(LstCustomers.SelectedItem.ToString().Split(" - ")[0]));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user