diff --git a/Borepin/Borepin/Borepin.csproj b/Borepin/Borepin/Borepin.csproj
index 6e8e1a7..176986f 100644
--- a/Borepin/Borepin/Borepin.csproj
+++ b/Borepin/Borepin/Borepin.csproj
@@ -29,6 +29,7 @@
all
runtime; build; native; contentfiles; analyzers; buildtransitive
+
diff --git a/Borepin/Borepin/Page/MachineListPage.xaml b/Borepin/Borepin/Page/MachineListPage.xaml
index cdc8d2d..baa709d 100644
--- a/Borepin/Borepin/Page/MachineListPage.xaml
+++ b/Borepin/Borepin/Page/MachineListPage.xaml
@@ -5,6 +5,9 @@
x:Class="Borepin.Page.MachineListPage"
xmlns:converters="clr-namespace:Borepin.Converter"
Title="Machines">
+
+
+
@@ -25,17 +28,6 @@
Android="true"/>
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Borepin/Borepin/PageModel/MachineListPageModel.cs b/Borepin/Borepin/PageModel/MachineListPageModel.cs
index 56c26ed..13ff559 100644
--- a/Borepin/Borepin/PageModel/MachineListPageModel.cs
+++ b/Borepin/Borepin/PageModel/MachineListPageModel.cs
@@ -11,6 +11,9 @@ using Prism.Services.Dialogs;
using Prism.Services;
using Prism.AppModel;
using static FabAccessAPI.Schema.Machine;
+using System;
+using NaturalSort.Extension;
+using System.Linq;
namespace Borepin.PageModel
{
@@ -55,35 +58,34 @@ namespace Borepin.PageModel
IReadOnlyList machine_list = await machine_infoInterface.GetMachineList().ConfigureAwait(false);
- List viewmodel_list = new List();
List viewmodel_list_user_assigned = new List();
+ List viewmodel_list_not_user_assigned = new List();
foreach (Machine machine in machine_list)
{
- if(((InUseInterface_Proxy)machine.Inuse).IsNull)
+ if(!((InUseInterface_Proxy)machine.Inuse).IsNull)
{
- viewmodel_list.Add(new MachineListItemViewModel(machine));
+ MachineListItemViewModel new_viewmodel = new MachineListItemViewModel(machine)
+ {
+ IsUserAssigned = true
+ };
+ viewmodel_list_user_assigned.Add(new_viewmodel);
}
else
{
- viewmodel_list_user_assigned.Add(new MachineListItemViewModel(machine));
+ viewmodel_list_not_user_assigned.Add(new MachineListItemViewModel(machine));
}
}
- MachineListItemViewModel_List = viewmodel_list;
- UserAssignedMachineListItemViewModel_List = viewmodel_list_user_assigned;
+ List viewmodel_list_sorted = new List();
+ viewmodel_list_sorted.AddRange(viewmodel_list_user_assigned.OrderBy(x => x.Name, StringComparison.OrdinalIgnoreCase.WithNaturalSort()));
+ viewmodel_list_sorted.AddRange(viewmodel_list_not_user_assigned.OrderBy(x => x.Name, StringComparison.OrdinalIgnoreCase.WithNaturalSort()));
+ MachineListItemViewModel_List = viewmodel_list_sorted;
IsBusy = false;
}
#endregion
#region Fields
- private IList _UserAssignedMachineListItemViewModel_List;
- public IList UserAssignedMachineListItemViewModel_List
- {
- get => _UserAssignedMachineListItemViewModel_List;
- set => SetProperty(ref _UserAssignedMachineListItemViewModel_List, value);
- }
-
private IList _MachineListItemViewModel_List;
public IList MachineListItemViewModel_List
{
@@ -201,6 +203,7 @@ namespace Borepin.PageModel
public override async void OnNavigatedTo(INavigationParameters parameters)
{
+ IsBusy = true;
await LoadData().ConfigureAwait(false);
}
#endregion
diff --git a/Borepin/Borepin/Service/BFFH/BFFHService.cs b/Borepin/Borepin/Service/BFFH/BFFHService.cs
index 68ae895..5e767cd 100644
--- a/Borepin/Borepin/Service/BFFH/BFFHService.cs
+++ b/Borepin/Borepin/Service/BFFH/BFFHService.cs
@@ -157,6 +157,7 @@ namespace Borepin.Service.BFFH
if (! await _AuthenticatePlainAsync(connection.Username, password).ConfigureAwait(false))
{
+ await Disconnect().ConfigureAwait(false);
throw new AuthenticatingFailedException();
}
@@ -195,6 +196,7 @@ namespace Borepin.Service.BFFH
if (!await _AuthenticatePlainAsync(connection.Username, password).ConfigureAwait(false))
{
+ await Disconnect().ConfigureAwait(false);
throw new AuthenticatingFailedException();
}
diff --git a/Borepin/Borepin/View/MachineListItemView.xaml b/Borepin/Borepin/View/MachineListItemView.xaml
index 893c341..51a78cc 100644
--- a/Borepin/Borepin/View/MachineListItemView.xaml
+++ b/Borepin/Borepin/View/MachineListItemView.xaml
@@ -24,7 +24,10 @@
-
+
+
+
+
diff --git a/Borepin/Borepin/ViewModel/MachineListItemViewModel.cs b/Borepin/Borepin/ViewModel/MachineListItemViewModel.cs
index 5c5a1a6..7c46516 100644
--- a/Borepin/Borepin/ViewModel/MachineListItemViewModel.cs
+++ b/Borepin/Borepin/ViewModel/MachineListItemViewModel.cs
@@ -33,5 +33,12 @@ namespace Borepin.ViewModel
get => _State;
set => SetProperty(ref _State, value);
}
+
+ private bool _IsUserAssigned = false;
+ public bool IsUserAssigned
+ {
+ get => _IsUserAssigned;
+ set => SetProperty(ref _IsUserAssigned, value);
+ }
}
}