[chore:] too much to documentate xD but changes like better AddressCheck, Progress Window, Result Window, etc.
This commit is contained in:
200
AddressCheck.cs
200
AddressCheck.cs
@@ -1,4 +1,7 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using Avalonia.Threading;
|
||||
|
||||
namespace Logof_Client;
|
||||
|
||||
@@ -11,62 +14,163 @@ public class AddressCheck
|
||||
NoCity,
|
||||
NoStreet,
|
||||
NoLastName,
|
||||
NoFirstName
|
||||
NoFirstName,
|
||||
|
||||
// empty,
|
||||
FullAddressTooLong,
|
||||
NoStreetNumber,
|
||||
DoubledRefsid,
|
||||
MayBeSameAddress
|
||||
}
|
||||
|
||||
public static List<(int, List<ErrorTypes>)> Perform(KasAddressList addresses)
|
||||
private readonly ProgressWindow _progress;
|
||||
|
||||
public AddressCheck(ProgressWindow progressWindow)
|
||||
{
|
||||
_progress = progressWindow;
|
||||
}
|
||||
|
||||
public async Task<List<(int, List<ErrorTypes>)>> Perform(KasAddressList addresses)
|
||||
{
|
||||
var failed_refsids = new List<(int, List<ErrorTypes>)>();
|
||||
var total = addresses.KasPersons.Count;
|
||||
var current = 0;
|
||||
|
||||
foreach (var person in addresses.KasPersons)
|
||||
await Task.Run(async () =>
|
||||
{
|
||||
var errors = new List<ErrorTypes>();
|
||||
var hasFaults = false;
|
||||
|
||||
|
||||
if (person.plz < 10000)
|
||||
foreach (var person in addresses.KasPersons)
|
||||
{
|
||||
hasFaults = true;
|
||||
errors.Add(ErrorTypes.PlzTooShort);
|
||||
var errors = new List<ErrorTypes>();
|
||||
var hasFaults = false;
|
||||
|
||||
var address_component_count = 2; // cause anrede and name are first
|
||||
|
||||
// Prüfung
|
||||
if (person.plz < 10000)
|
||||
{
|
||||
hasFaults = true;
|
||||
errors.Add(ErrorTypes.PlzTooShort);
|
||||
}
|
||||
else if (person.plz > 99999)
|
||||
{
|
||||
hasFaults = true;
|
||||
errors.Add(ErrorTypes.PlzTooLong);
|
||||
}
|
||||
|
||||
if (string.IsNullOrWhiteSpace(person.ort))
|
||||
{
|
||||
hasFaults = true;
|
||||
errors.Add(ErrorTypes.NoCity);
|
||||
}
|
||||
else
|
||||
{
|
||||
address_component_count++;
|
||||
}
|
||||
|
||||
var street = person.strasse.ToCharArray();
|
||||
var intcount = 0;
|
||||
foreach (var c in street)
|
||||
{
|
||||
int maybe;
|
||||
if (int.TryParse(c.ToString(), out maybe)) intcount++;
|
||||
}
|
||||
|
||||
if (intcount == 0)
|
||||
{
|
||||
hasFaults = true;
|
||||
errors.Add(ErrorTypes.NoStreetNumber);
|
||||
}
|
||||
|
||||
|
||||
if (string.IsNullOrWhiteSpace(person.name))
|
||||
{
|
||||
hasFaults = true;
|
||||
errors.Add(ErrorTypes.NoLastName);
|
||||
}
|
||||
|
||||
if (string.IsNullOrWhiteSpace(person.vorname))
|
||||
{
|
||||
hasFaults = true;
|
||||
errors.Add(ErrorTypes.NoFirstName);
|
||||
}
|
||||
|
||||
if (string.IsNullOrWhiteSpace(person.strasse))
|
||||
{
|
||||
hasFaults = true;
|
||||
errors.Add(ErrorTypes.NoStreet);
|
||||
}
|
||||
else
|
||||
{
|
||||
address_component_count++;
|
||||
}
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(person.strasse2)) address_component_count++;
|
||||
if (!string.IsNullOrWhiteSpace(person.land)) address_component_count++;
|
||||
if (!string.IsNullOrWhiteSpace(person.name1)) address_component_count++;
|
||||
if (!string.IsNullOrWhiteSpace(person.name2)) address_component_count++;
|
||||
if (!string.IsNullOrWhiteSpace(person.name3)) address_component_count++;
|
||||
if (!string.IsNullOrWhiteSpace(person.name4)) address_component_count++;
|
||||
if (!string.IsNullOrWhiteSpace(person.name5)) address_component_count++;
|
||||
if (!string.IsNullOrWhiteSpace(person.funktion)) address_component_count++;
|
||||
if (!string.IsNullOrWhiteSpace(person.funktion2)) address_component_count++;
|
||||
if (!string.IsNullOrWhiteSpace(person.funktionad)) address_component_count++;
|
||||
if (!string.IsNullOrWhiteSpace(person.abteilung)) address_component_count++;
|
||||
|
||||
|
||||
foreach (var person2 in addresses.KasPersons)
|
||||
{
|
||||
if (addresses.KasPersons.IndexOf(person) == addresses.KasPersons.IndexOf(person2)) continue;
|
||||
|
||||
if (person.refsid == person2.refsid)
|
||||
{
|
||||
hasFaults = true;
|
||||
errors.Add(ErrorTypes.DoubledRefsid);
|
||||
}
|
||||
|
||||
if (person.name == person2.name &&
|
||||
person.strasse == person2.strasse &&
|
||||
person.vorname == person2.vorname &&
|
||||
person.ort == person2.ort &&
|
||||
person.funktion == person2.funktion &&
|
||||
person.funktion2 == person2.funktion2 &&
|
||||
person.funktionad == person2.funktionad &&
|
||||
person.abteilung == person2.abteilung &&
|
||||
person.name1 == person2.name1 &&
|
||||
person.name2 == person2.name2 &&
|
||||
person.name3 == person2.name3 &&
|
||||
person.name4 == person2.name4 &&
|
||||
person.name5 == person2.name5)
|
||||
|
||||
{
|
||||
hasFaults = true;
|
||||
errors.Add(ErrorTypes.MayBeSameAddress);
|
||||
}
|
||||
}
|
||||
|
||||
if (address_component_count > 10)
|
||||
{
|
||||
hasFaults = true;
|
||||
errors.Add(ErrorTypes.FullAddressTooLong);
|
||||
}
|
||||
|
||||
if (hasFaults)
|
||||
lock (failed_refsids)
|
||||
{
|
||||
failed_refsids.Add((person.refsid, errors));
|
||||
}
|
||||
|
||||
// Fortschritt aktualisieren
|
||||
Interlocked.Increment(ref current);
|
||||
var percent = current / (double)total * 100;
|
||||
await Dispatcher.UIThread.InvokeAsync(() =>
|
||||
{
|
||||
if (hasFaults)
|
||||
_progress.AddToLog($"Person mit refsid {person.refsid} ist fehlerhaft");
|
||||
|
||||
_progress.ChangePercentage(percent);
|
||||
});
|
||||
}
|
||||
|
||||
if (person.plz > 99999)
|
||||
{
|
||||
hasFaults = true;
|
||||
errors.Add(ErrorTypes.PlzTooLong);
|
||||
}
|
||||
|
||||
if (person.ort == null || person.ort == "")
|
||||
{
|
||||
hasFaults = true;
|
||||
errors.Add(ErrorTypes.NoCity);
|
||||
}
|
||||
|
||||
if (person.name == null || person.name == "")
|
||||
{
|
||||
hasFaults = true;
|
||||
errors.Add(ErrorTypes.NoLastName);
|
||||
}
|
||||
|
||||
if (person.vorname == null || person.vorname == "")
|
||||
{
|
||||
hasFaults = true;
|
||||
errors.Add(ErrorTypes.NoFirstName);
|
||||
}
|
||||
|
||||
if (person.strasse == null || person.strasse == "")
|
||||
{
|
||||
hasFaults = true;
|
||||
errors.Add(ErrorTypes.NoStreet);
|
||||
}
|
||||
|
||||
;
|
||||
// More errors...
|
||||
|
||||
|
||||
if (hasFaults) failed_refsids.Add((person.refsid, errors));
|
||||
}
|
||||
|
||||
});
|
||||
return failed_refsids;
|
||||
}
|
||||
}
|
||||
@@ -6,5 +6,6 @@
|
||||
|
||||
<Application.Styles>
|
||||
<FluentTheme />
|
||||
<StyleInclude Source="avares://Avalonia.Controls.DataGrid/Themes/Fluent.xaml"/>
|
||||
</Application.Styles>
|
||||
</Application>
|
||||
@@ -1,4 +1,5 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Logof_Client;
|
||||
|
||||
public class KasAddressList
|
||||
@@ -9,36 +10,10 @@ public class KasAddressList
|
||||
{
|
||||
KasPersons = new List<KasPerson>();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public class KasPerson
|
||||
{
|
||||
public int refsid { get; set; }
|
||||
public string anrede { get; set; }
|
||||
public string titel { get; set; }
|
||||
public string vorname { get; set; }
|
||||
public string adel { get; set; }
|
||||
public string name { get; set; }
|
||||
public string namezus { get; set; }
|
||||
public string anredzus { get; set; }
|
||||
public string strasse { get; set; }
|
||||
public string strasse2 { get; set; }
|
||||
public int plz { get; set; }
|
||||
public string ort { get; set; }
|
||||
public string land { get; set; }
|
||||
public string pplz { get; set; }
|
||||
public string postfach { get; set; }
|
||||
public string name1 { get; set; }
|
||||
public string name2 { get; set; }
|
||||
public string name3 { get; set; }
|
||||
public string name4 { get; set; }
|
||||
public string name5 { get; set; }
|
||||
public string funktion { get; set; }
|
||||
public string funktion2 { get; set; }
|
||||
public string abteilung { get; set; }
|
||||
public string funktionad { get; set; }
|
||||
|
||||
public KasPerson()
|
||||
{
|
||||
refsid = 0;
|
||||
@@ -66,30 +41,31 @@ public class KasPerson
|
||||
abteilung = "";
|
||||
funktionad = "";
|
||||
}
|
||||
|
||||
public KasPerson(int refsid,
|
||||
string anrede,
|
||||
string titel,
|
||||
string vorname,
|
||||
string adel,
|
||||
string name,
|
||||
string namezus,
|
||||
string anredzus,
|
||||
string strasse,
|
||||
string strasse2,
|
||||
int plz,
|
||||
string ort,
|
||||
string land,
|
||||
string pplz,
|
||||
string postfach,
|
||||
string name1,
|
||||
string name2,
|
||||
string name3,
|
||||
string name4,
|
||||
string name5,
|
||||
string funktion,
|
||||
string funktion2,
|
||||
string abteilung,
|
||||
string funktionad)
|
||||
string anrede,
|
||||
string titel,
|
||||
string vorname,
|
||||
string adel,
|
||||
string name,
|
||||
string namezus,
|
||||
string anredzus,
|
||||
string strasse,
|
||||
string strasse2,
|
||||
int plz,
|
||||
string ort,
|
||||
string land,
|
||||
string pplz,
|
||||
string postfach,
|
||||
string name1,
|
||||
string name2,
|
||||
string name3,
|
||||
string name4,
|
||||
string name5,
|
||||
string funktion,
|
||||
string funktion2,
|
||||
string abteilung,
|
||||
string funktionad)
|
||||
{
|
||||
this.refsid = refsid;
|
||||
this.anrede = anrede;
|
||||
@@ -116,5 +92,43 @@ public class KasPerson
|
||||
this.abteilung = abteilung;
|
||||
this.funktionad = funktionad;
|
||||
}
|
||||
|
||||
public int refsid { get; set; }
|
||||
public string anrede { get; set; }
|
||||
public string titel { get; set; }
|
||||
public string vorname { get; set; }
|
||||
public string adel { get; set; }
|
||||
public string name { get; set; }
|
||||
public string namezus { get; set; }
|
||||
public string anredzus { get; set; }
|
||||
public string strasse { get; set; }
|
||||
public string strasse2 { get; set; }
|
||||
public int plz { get; set; }
|
||||
public string ort { get; set; }
|
||||
public string land { get; set; }
|
||||
public string pplz { get; set; }
|
||||
public string postfach { get; set; }
|
||||
public string name1 { get; set; }
|
||||
public string name2 { get; set; }
|
||||
public string name3 { get; set; }
|
||||
public string name4 { get; set; }
|
||||
public string name5 { get; set; }
|
||||
public string funktion { get; set; }
|
||||
public string funktion2 { get; set; }
|
||||
public string abteilung { get; set; }
|
||||
public string funktionad { get; set; }
|
||||
}
|
||||
|
||||
public class KasPersonError
|
||||
{
|
||||
public KasPersonError((int, List<AddressCheck.ErrorTypes>) single_result)
|
||||
{
|
||||
refsid = single_result.Item1;
|
||||
foreach (var err in single_result.Item2) errors += err + ", ";
|
||||
errors = errors.Trim();
|
||||
errors = errors.TrimEnd(',');
|
||||
}
|
||||
|
||||
public int refsid { get; set; }
|
||||
public string errors { get; set; }
|
||||
}
|
||||
@@ -10,6 +10,7 @@
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Avalonia" Version="11.3.2" />
|
||||
<PackageReference Include="Avalonia.Controls.DataGrid" Version="11.3.2" />
|
||||
<PackageReference Include="Avalonia.Desktop" Version="11.3.2" />
|
||||
<PackageReference Include="Avalonia.Themes.Fluent" Version="11.3.2" />
|
||||
<PackageReference Include="Avalonia.Fonts.Inter" Version="11.3.2" />
|
||||
|
||||
@@ -7,31 +7,53 @@ namespace Logof_Client;
|
||||
|
||||
public partial class MainWindow : Window
|
||||
{
|
||||
public static MainWindow _instance;
|
||||
public Uri filePath;
|
||||
|
||||
public MainWindow()
|
||||
{
|
||||
InitializeComponent();
|
||||
try
|
||||
{
|
||||
var temppath = "kaspersons.csv";
|
||||
var result = DataImport.ImportKasAddressList(new Uri(temppath));
|
||||
if (result.Item1)
|
||||
{
|
||||
var check_result = AddressCheck.Perform(result.Item2);
|
||||
foreach (var item in check_result)
|
||||
{
|
||||
Console.WriteLine();
|
||||
Console.Write(item.Item1 + " ");
|
||||
foreach (var error in item.Item2) Console.Write(error + ", ");
|
||||
}
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
_instance = this;
|
||||
// try
|
||||
// {
|
||||
// var temppath = "kaspersons.csv";
|
||||
// var result = DataImport.ImportKasAddressList(new Uri(temppath));
|
||||
// if (result.Item1)
|
||||
// {
|
||||
// var check_result = new AddressCheck().Perform(result.Item2);
|
||||
// foreach (var item in check_result.Result)
|
||||
// {
|
||||
// Console.WriteLine();
|
||||
// Console.Write(item.Item1 + " ");
|
||||
// foreach (var error in item.Item2) Console.Write(error + ", ");
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// catch
|
||||
// {
|
||||
// }
|
||||
}
|
||||
|
||||
private async void StartAddressCheck(Uri path)
|
||||
{
|
||||
var addresses = DataImport.ImportKasAddressList(path); // Ihr Code hier
|
||||
var progressWindow = new ProgressWindow();
|
||||
|
||||
// Fenster anzeigen (nicht blockierend)
|
||||
progressWindow.Show(_instance);
|
||||
|
||||
var processor = new AddressCheck(progressWindow);
|
||||
var result = await processor.Perform(addresses.Item2);
|
||||
|
||||
// Nach Verarbeitung schließen
|
||||
progressWindow.Close();
|
||||
|
||||
// Ergebnis anzeigen, z.B. als Dialog
|
||||
new ResultWindow(result).Show();
|
||||
//await MessageBox.Show(_instance, $"{result.Count} Einträge fehlerhaft.", "Fertig");
|
||||
}
|
||||
|
||||
|
||||
private void MnuExit_OnClick(object? sender, RoutedEventArgs e)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
@@ -82,16 +104,17 @@ public partial class MainWindow : Window
|
||||
private void BtnCheck_OnClick(object? sender, RoutedEventArgs e)
|
||||
{
|
||||
if (filePath == null) MessageBox.Show(this, "Bitte zunächst eine Datei auswählen", "Datei fehlt");
|
||||
var result = DataImport.ImportKasAddressList(filePath);
|
||||
if (result.Item1)
|
||||
{
|
||||
var check_result = AddressCheck.Perform(result.Item2);
|
||||
foreach (var item in check_result)
|
||||
{
|
||||
Console.WriteLine();
|
||||
Console.Write(item.Item1 + " ");
|
||||
foreach (var error in item.Item2) Console.Write(error + ", ");
|
||||
}
|
||||
}
|
||||
StartAddressCheck(filePath);
|
||||
// var result = DataImport.ImportKasAddressList(filePath);
|
||||
// if (result.Item1)
|
||||
// {
|
||||
// var check_result = new AddressCheck().Perform(result.Item2);
|
||||
// foreach (var item in check_result.Result)
|
||||
// {
|
||||
// Console.WriteLine();
|
||||
// Console.Write(item.Item1 + " ");
|
||||
// foreach (var error in item.Item2) Console.Write(error + ", ");
|
||||
// }
|
||||
// }
|
||||
}
|
||||
}
|
||||
18
ProgressWindow.axaml
Normal file
18
ProgressWindow.axaml
Normal file
@@ -0,0 +1,18 @@
|
||||
<Window xmlns="https://github.com/avaloniaui"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
mc:Ignorable="d" d:DesignWidth="800" Width="800" MinWidth="800" MaxWidth="800" d:DesignHeight="150"
|
||||
Height="150" MinHeight="150" MaxHeight="150"
|
||||
x:Class="Logof_Client.ProgressWindow" Title="Verarbeitung läuft...">
|
||||
<Grid>
|
||||
<!-- <ScrollViewer x:Name="ScvLog"> -->
|
||||
<!-- <TextBlock x:Name="TbLog" Margin="10,10,10,50" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" -->
|
||||
<!-- FontFamily="Consolas" /> -->
|
||||
<!-- </ScrollViewer> -->
|
||||
<TextBlock x:Name="TbLog" Margin="10,10,10,50" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"
|
||||
FontFamily="Consolas" />
|
||||
<ProgressBar x:Name="PbProgress" HorizontalAlignment="Stretch" Height="30" VerticalAlignment="Bottom"
|
||||
Margin="10,0,10,10" />
|
||||
</Grid>
|
||||
</Window>
|
||||
24
ProgressWindow.axaml.cs
Normal file
24
ProgressWindow.axaml.cs
Normal file
@@ -0,0 +1,24 @@
|
||||
using Avalonia.Controls;
|
||||
|
||||
namespace Logof_Client;
|
||||
|
||||
public partial class ProgressWindow : Window
|
||||
{
|
||||
public ProgressWindow()
|
||||
{
|
||||
InitializeComponent();
|
||||
PbProgress.Minimum = 0;
|
||||
PbProgress.Maximum = 100;
|
||||
}
|
||||
|
||||
public void ChangePercentage(double percentage)
|
||||
{
|
||||
PbProgress.Value = percentage;
|
||||
}
|
||||
|
||||
public void AddToLog(string message)
|
||||
{
|
||||
TbLog.Text = message;
|
||||
//ScvLog.ScrollToEnd();
|
||||
}
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
<Window xmlns="https://github.com/avaloniaui"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
||||
x:Class="Logof_Client.ResultWindow"
|
||||
Title="ResultWindow">
|
||||
Welcome to Avalonia!
|
||||
</Window>
|
||||
@@ -1,13 +0,0 @@
|
||||
using Avalonia;
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Markup.Xaml;
|
||||
|
||||
namespace Logof_Client;
|
||||
|
||||
public partial class ResultWindow : Window
|
||||
{
|
||||
public ResultWindow()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
@@ -1 +1 @@
|
||||
6fe5162be4283c1411101dd639fbc8a545963efea312fd784c904b45361005c0
|
||||
982c4bab1be7433e0655bc9d9093ed492303bd16c33e9bf09c663ad2ef1afbaa
|
||||
|
||||
Binary file not shown.
@@ -13,7 +13,7 @@ using System.Reflection;
|
||||
[assembly: System.Reflection.AssemblyCompanyAttribute("Logof Client")]
|
||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
|
||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+0d121663397a12ffe7d914c4b6e0302d8f0670d0")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+4bdf50a290804aab4f6671c7ded546f168c8e674")]
|
||||
[assembly: System.Reflection.AssemblyProductAttribute("Logof Client")]
|
||||
[assembly: System.Reflection.AssemblyTitleAttribute("Logof Client")]
|
||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
||||
|
||||
@@ -1 +1 @@
|
||||
c05703a1f27fdffbabcbabba7a1bf53472ea728aab90b390cced0bdc9f8b02dc
|
||||
f7afc36fe250c56352855cc054140e1d3e759a80e43f866429a6f585b3dd52ae
|
||||
|
||||
@@ -30,5 +30,8 @@ build_metadata.AdditionalFiles.SourceItemGroup = AvaloniaXaml
|
||||
[/home/fierke/Nextcloud/Documents/source/repos/logofclient/Logof Client/MessageBox.axaml]
|
||||
build_metadata.AdditionalFiles.SourceItemGroup = AvaloniaXaml
|
||||
|
||||
[/home/fierke/Nextcloud/Documents/source/repos/logofclient/Logof Client/ProgressWindow.axaml]
|
||||
build_metadata.AdditionalFiles.SourceItemGroup = AvaloniaXaml
|
||||
|
||||
[/home/fierke/Nextcloud/Documents/source/repos/logofclient/Logof Client/ResultWindow.axaml]
|
||||
build_metadata.AdditionalFiles.SourceItemGroup = AvaloniaXaml
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@@ -20,6 +20,7 @@
|
||||
"net9.0"
|
||||
],
|
||||
"sources": {
|
||||
"/usr/lib64/dotnet/library-packs": {},
|
||||
"https://api.nuget.org/v3/index.json": {}
|
||||
},
|
||||
"frameworks": {
|
||||
@@ -48,6 +49,10 @@
|
||||
"target": "Package",
|
||||
"version": "[11.3.2, )"
|
||||
},
|
||||
"Avalonia.Controls.DataGrid": {
|
||||
"target": "Package",
|
||||
"version": "[11.3.2, )"
|
||||
},
|
||||
"Avalonia.Desktop": {
|
||||
"target": "Package",
|
||||
"version": "[11.3.2, )"
|
||||
@@ -80,18 +85,12 @@
|
||||
],
|
||||
"assetTargetFallback": true,
|
||||
"warn": true,
|
||||
"downloadDependencies": [
|
||||
{
|
||||
"name": "Microsoft.AspNetCore.App.Ref",
|
||||
"version": "[9.0.4, 9.0.4]"
|
||||
}
|
||||
],
|
||||
"frameworkReferences": {
|
||||
"Microsoft.NETCore.App": {
|
||||
"privateAssets": "all"
|
||||
}
|
||||
},
|
||||
"runtimeIdentifierGraphPath": "/usr/share/dotnet/sdk/9.0.105/PortableRuntimeIdentifierGraph.json"
|
||||
"runtimeIdentifierGraphPath": "/usr/lib64/dotnet/sdk/9.0.106/PortableRuntimeIdentifierGraph.json"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -124,6 +124,22 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"Avalonia.Controls.DataGrid/11.3.2": {
|
||||
"type": "package",
|
||||
"dependencies": {
|
||||
"Avalonia": "11.3.2"
|
||||
},
|
||||
"compile": {
|
||||
"lib/net8.0/Avalonia.Controls.DataGrid.dll": {
|
||||
"related": ".xml"
|
||||
}
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net8.0/Avalonia.Controls.DataGrid.dll": {
|
||||
"related": ".xml"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Avalonia.Desktop/11.3.2": {
|
||||
"type": "package",
|
||||
"dependencies": {
|
||||
@@ -819,6 +835,25 @@
|
||||
"lib/netstandard2.0/Avalonia.Controls.ColorPicker.xml"
|
||||
]
|
||||
},
|
||||
"Avalonia.Controls.DataGrid/11.3.2": {
|
||||
"sha512": "uAljhbq2csXx93TvG8LFSluIDiJByrsZ7OdFyGOC6mkoM+DIJsmMCJ4ce/zgS1aPFLP9wpa8ggLLSbgy7Vap6g==",
|
||||
"type": "package",
|
||||
"path": "avalonia.controls.datagrid/11.3.2",
|
||||
"files": [
|
||||
".nupkg.metadata",
|
||||
".signature.p7s",
|
||||
"Icon.png",
|
||||
"avalonia.controls.datagrid.11.3.2.nupkg.sha512",
|
||||
"avalonia.controls.datagrid.nuspec",
|
||||
"lib/net6.0/Avalonia.Controls.DataGrid.dll",
|
||||
"lib/net6.0/Avalonia.Controls.DataGrid.xml",
|
||||
"lib/net8.0/Avalonia.Controls.DataGrid.dll",
|
||||
"lib/net8.0/Avalonia.Controls.DataGrid.xml",
|
||||
"lib/netstandard2.0/Avalonia.Controls.DataGrid.dll",
|
||||
"lib/netstandard2.0/Avalonia.Controls.DataGrid.xml",
|
||||
"readme.md"
|
||||
]
|
||||
},
|
||||
"Avalonia.Desktop/11.3.2": {
|
||||
"sha512": "b2ZPZ60UN0Uib3ZxFrf+ixYiJTBFaXrpQAcXTSUKTDw0nAU29sbfjvdtpBkBd6+idWpNtI+GhOjf0Mw0v1ncQg==",
|
||||
"type": "package",
|
||||
@@ -1435,6 +1470,7 @@
|
||||
"projectFileDependencyGroups": {
|
||||
"net9.0": [
|
||||
"Avalonia >= 11.3.2",
|
||||
"Avalonia.Controls.DataGrid >= 11.3.2",
|
||||
"Avalonia.Desktop >= 11.3.2",
|
||||
"Avalonia.Diagnostics >= 11.3.2",
|
||||
"Avalonia.Fonts.Inter >= 11.3.2",
|
||||
@@ -1461,6 +1497,7 @@
|
||||
"net9.0"
|
||||
],
|
||||
"sources": {
|
||||
"/usr/lib64/dotnet/library-packs": {},
|
||||
"https://api.nuget.org/v3/index.json": {}
|
||||
},
|
||||
"frameworks": {
|
||||
@@ -1489,6 +1526,10 @@
|
||||
"target": "Package",
|
||||
"version": "[11.3.2, )"
|
||||
},
|
||||
"Avalonia.Controls.DataGrid": {
|
||||
"target": "Package",
|
||||
"version": "[11.3.2, )"
|
||||
},
|
||||
"Avalonia.Desktop": {
|
||||
"target": "Package",
|
||||
"version": "[11.3.2, )"
|
||||
@@ -1521,18 +1562,12 @@
|
||||
],
|
||||
"assetTargetFallback": true,
|
||||
"warn": true,
|
||||
"downloadDependencies": [
|
||||
{
|
||||
"name": "Microsoft.AspNetCore.App.Ref",
|
||||
"version": "[9.0.4, 9.0.4]"
|
||||
}
|
||||
],
|
||||
"frameworkReferences": {
|
||||
"Microsoft.NETCore.App": {
|
||||
"privateAssets": "all"
|
||||
}
|
||||
},
|
||||
"runtimeIdentifierGraphPath": "/usr/share/dotnet/sdk/9.0.105/PortableRuntimeIdentifierGraph.json"
|
||||
"runtimeIdentifierGraphPath": "/usr/lib64/dotnet/sdk/9.0.106/PortableRuntimeIdentifierGraph.json"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"version": 2,
|
||||
"dgSpecHash": "D+4nG7Cnz1A=",
|
||||
"dgSpecHash": "iFRYA+o6oII=",
|
||||
"success": true,
|
||||
"projectFilePath": "/home/fierke/Nextcloud/Documents/source/repos/logofclient/Logof Client/Logof Client.csproj",
|
||||
"expectedPackageFiles": [
|
||||
@@ -8,6 +8,7 @@
|
||||
"/home/fierke/.nuget/packages/avalonia.angle.windows.natives/2.1.25547.20250602/avalonia.angle.windows.natives.2.1.25547.20250602.nupkg.sha512",
|
||||
"/home/fierke/.nuget/packages/avalonia.buildservices/0.0.31/avalonia.buildservices.0.0.31.nupkg.sha512",
|
||||
"/home/fierke/.nuget/packages/avalonia.controls.colorpicker/11.3.2/avalonia.controls.colorpicker.11.3.2.nupkg.sha512",
|
||||
"/home/fierke/.nuget/packages/avalonia.controls.datagrid/11.3.2/avalonia.controls.datagrid.11.3.2.nupkg.sha512",
|
||||
"/home/fierke/.nuget/packages/avalonia.desktop/11.3.2/avalonia.desktop.11.3.2.nupkg.sha512",
|
||||
"/home/fierke/.nuget/packages/avalonia.diagnostics/11.3.2/avalonia.diagnostics.11.3.2.nupkg.sha512",
|
||||
"/home/fierke/.nuget/packages/avalonia.fonts.inter/11.3.2/avalonia.fonts.inter.11.3.2.nupkg.sha512",
|
||||
@@ -32,8 +33,7 @@
|
||||
"/home/fierke/.nuget/packages/skiasharp.nativeassets.webassembly/2.88.9/skiasharp.nativeassets.webassembly.2.88.9.nupkg.sha512",
|
||||
"/home/fierke/.nuget/packages/skiasharp.nativeassets.win32/2.88.9/skiasharp.nativeassets.win32.2.88.9.nupkg.sha512",
|
||||
"/home/fierke/.nuget/packages/system.io.pipelines/8.0.0/system.io.pipelines.8.0.0.nupkg.sha512",
|
||||
"/home/fierke/.nuget/packages/tmds.dbus.protocol/0.21.2/tmds.dbus.protocol.0.21.2.nupkg.sha512",
|
||||
"/home/fierke/.nuget/packages/microsoft.aspnetcore.app.ref/9.0.4/microsoft.aspnetcore.app.ref.9.0.4.nupkg.sha512"
|
||||
"/home/fierke/.nuget/packages/tmds.dbus.protocol/0.21.2/tmds.dbus.protocol.0.21.2.nupkg.sha512"
|
||||
],
|
||||
"logs": []
|
||||
}
|
||||
@@ -1 +1 @@
|
||||
"restore":{"projectUniqueName":"/home/fierke/Nextcloud/Documents/source/repos/logofclient/Logof Client/Logof Client.csproj","projectName":"Logof Client","projectPath":"/home/fierke/Nextcloud/Documents/source/repos/logofclient/Logof Client/Logof Client.csproj","outputPath":"/home/fierke/Nextcloud/Documents/source/repos/logofclient/Logof Client/obj/","projectStyle":"PackageReference","originalTargetFrameworks":["net9.0"],"sources":{"https://api.nuget.org/v3/index.json":{}},"frameworks":{"net9.0":{"targetAlias":"net9.0","projectReferences":{}}},"warningProperties":{"warnAsError":["NU1605"]},"restoreAuditProperties":{"enableAudit":"true","auditLevel":"low","auditMode":"direct"},"SdkAnalysisLevel":"9.0.100"}"frameworks":{"net9.0":{"targetAlias":"net9.0","dependencies":{"Avalonia":{"target":"Package","version":"[11.3.2, )"},"Avalonia.Desktop":{"target":"Package","version":"[11.3.2, )"},"Avalonia.Diagnostics":{"target":"Package","version":"[11.3.2, )"},"Avalonia.Fonts.Inter":{"target":"Package","version":"[11.3.2, )"},"Avalonia.Themes.Fluent":{"target":"Package","version":"[11.3.2, )"},"Lucide.Avalonia":{"target":"Package","version":"[0.1.35, )"}},"imports":["net461","net462","net47","net471","net472","net48","net481"],"assetTargetFallback":true,"warn":true,"downloadDependencies":[{"name":"Microsoft.AspNetCore.App.Ref","version":"[9.0.4, 9.0.4]"}],"frameworkReferences":{"Microsoft.NETCore.App":{"privateAssets":"all"}},"runtimeIdentifierGraphPath":"/usr/share/dotnet/sdk/9.0.105/PortableRuntimeIdentifierGraph.json"}}
|
||||
"restore":{"projectUniqueName":"/home/fierke/Nextcloud/Documents/source/repos/logofclient/Logof Client/Logof Client.csproj","projectName":"Logof Client","projectPath":"/home/fierke/Nextcloud/Documents/source/repos/logofclient/Logof Client/Logof Client.csproj","outputPath":"/home/fierke/Nextcloud/Documents/source/repos/logofclient/Logof Client/obj/","projectStyle":"PackageReference","originalTargetFrameworks":["net9.0"],"sources":{"/usr/lib64/dotnet/library-packs":{},"https://api.nuget.org/v3/index.json":{}},"frameworks":{"net9.0":{"targetAlias":"net9.0","projectReferences":{}}},"warningProperties":{"warnAsError":["NU1605"]},"restoreAuditProperties":{"enableAudit":"true","auditLevel":"low","auditMode":"direct"},"SdkAnalysisLevel":"9.0.100"}"frameworks":{"net9.0":{"targetAlias":"net9.0","dependencies":{"Avalonia":{"target":"Package","version":"[11.3.2, )"},"Avalonia.Controls.DataGrid":{"target":"Package","version":"[11.3.2, )"},"Avalonia.Desktop":{"target":"Package","version":"[11.3.2, )"},"Avalonia.Diagnostics":{"target":"Package","version":"[11.3.2, )"},"Avalonia.Fonts.Inter":{"target":"Package","version":"[11.3.2, )"},"Avalonia.Themes.Fluent":{"target":"Package","version":"[11.3.2, )"},"Lucide.Avalonia":{"target":"Package","version":"[0.1.35, )"}},"imports":["net461","net462","net47","net471","net472","net48","net481"],"assetTargetFallback":true,"warn":true,"frameworkReferences":{"Microsoft.NETCore.App":{"privateAssets":"all"}},"runtimeIdentifierGraphPath":"/usr/lib64/dotnet/sdk/9.0.106/PortableRuntimeIdentifierGraph.json"}}
|
||||
@@ -1 +1 @@
|
||||
17515302868997761
|
||||
17520917705843408
|
||||
@@ -1 +1 @@
|
||||
17515302868997761
|
||||
17520918778041105
|
||||
Reference in New Issue
Block a user