Start adding Show Machines from User

This commit is contained in:
TheJoKlLa 2022-01-12 02:24:34 +01:00
parent 0a27854331
commit 2334cbc20d
3 changed files with 70 additions and 15 deletions

View File

@ -0,0 +1,25 @@
using System;
using System.Collections;
using System.Globalization;
using Xamarin.Forms;
namespace Borepin.Converter
{
public class ListNotEmptyConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if(value != null && value is IList)
{
ICollection collection = value as ICollection;
return collection.Count > 0;
}
return false;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotSupportedException();
}
}
}

View File

@ -8,6 +8,7 @@
<ContentPage.Resources> <ContentPage.Resources>
<ResourceDictionary> <ResourceDictionary>
<converters:InvertBoolConverter x:Key="InvertBoolConverter"/> <converters:InvertBoolConverter x:Key="InvertBoolConverter"/>
<converters:ListNotEmptyConverter x:Key="ListNotEmptyConverter"/>
</ResourceDictionary> </ResourceDictionary>
</ContentPage.Resources> </ContentPage.Resources>
<ContentPage.Content> <ContentPage.Content>
@ -24,17 +25,26 @@
Android="true"/> Android="true"/>
</Button.IsVisible> </Button.IsVisible>
</Button> </Button>
<RefreshView Command="{Binding RefreshCommand}" IsRefreshing="{Binding IsRefreshing}"> <Label Text="Your Machines" IsVisible="{Binding UserAssignedMachineListItemViewModel_List, Converter={StaticResource ListNotEmptyConverter}}"/>
<ListView ItemsSource="{Binding MachineListItemViewModel_List}" IsVisible="{Binding IsConnected}" SelectionMode="None"> <ListView ItemsSource="{Binding UserAssignedMachineListItemViewModel_List}" IsVisible="{Binding UserAssignedMachineListItemViewModel_List, Converter={StaticResource ListNotEmptyConverter}}" SelectionMode="None">
<ListView.ItemTemplate> <ListView.ItemTemplate>
<DataTemplate> <DataTemplate>
<ViewCell> <ViewCell>
<views:MachineListItemView /> <views:MachineListItemView />
</ViewCell> </ViewCell>
</DataTemplate> </DataTemplate>
</ListView.ItemTemplate> </ListView.ItemTemplate>
</ListView> </ListView>
</RefreshView> <Label Text="All Machines"/>
<ListView ItemsSource="{Binding MachineListItemViewModel_List}" SelectionMode="None">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<views:MachineListItemView />
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</StackLayout> </StackLayout>
<StackLayout IsVisible="{Binding IsConnected, Converter={StaticResource InvertBoolConverter}}"> <StackLayout IsVisible="{Binding IsConnected, Converter={StaticResource InvertBoolConverter}}">
<Label Text="Please connect to Server" ></Label> <Label Text="Please connect to Server" ></Label>

View File

@ -10,6 +10,7 @@ using FabAccessAPI.Schema;
using Prism.Services.Dialogs; using Prism.Services.Dialogs;
using Prism.Services; using Prism.Services;
using Prism.AppModel; using Prism.AppModel;
using static FabAccessAPI.Schema.Machine;
namespace Borepin.PageModel namespace Borepin.PageModel
{ {
@ -45,25 +46,44 @@ namespace Borepin.PageModel
IsConnected = true; IsConnected = true;
IMachineSystem machineInterface = await _BFFHService.GetMachineSystemInterface().ConfigureAwait(false); IMachineSystem machineSystem = await _BFFHService.GetMachineSystemInterface().ConfigureAwait(false);
MachineSystem.IInfoInterface machine_infoInterface = await machineSystem.Info().ConfigureAwait(false);
MachineSystem.IInfoInterface infoInterface = await machineInterface.Info().ConfigureAwait(false); IUserSystem userSystem = await _BFFHService.GetUserSystemInterface().ConfigureAwait(false);
UserSystem.IInfoInterface user_infoInterface = await userSystem.Info().ConfigureAwait(false);
User user_self = (await user_infoInterface.GetUserSelf().ConfigureAwait(false)).Item1;
IReadOnlyList<Machine> machine_list = await infoInterface.GetMachineList().ConfigureAwait(false); IReadOnlyList<Machine> machine_list = await machine_infoInterface.GetMachineList().ConfigureAwait(false);
List<MachineListItemViewModel> viewmodel_list = new List<MachineListItemViewModel>(); List<MachineListItemViewModel> viewmodel_list = new List<MachineListItemViewModel>();
List<MachineListItemViewModel> viewmodel_list_user_assigned = new List<MachineListItemViewModel>();
foreach (Machine machine in machine_list) foreach (Machine machine in machine_list)
{ {
viewmodel_list.Add(new MachineListItemViewModel(machine)); if(((InUseInterface_Proxy)machine.Inuse).IsNull)
{
viewmodel_list.Add(new MachineListItemViewModel(machine));
}
else
{
viewmodel_list_user_assigned.Add(new MachineListItemViewModel(machine));
}
} }
MachineListItemViewModel_List = viewmodel_list; MachineListItemViewModel_List = viewmodel_list;
UserAssignedMachineListItemViewModel_List = viewmodel_list_user_assigned;
IsBusy = false; IsBusy = false;
} }
#endregion #endregion
#region Fields #region Fields
private IList<MachineListItemViewModel> _UserAssignedMachineListItemViewModel_List;
public IList<MachineListItemViewModel> UserAssignedMachineListItemViewModel_List
{
get => _UserAssignedMachineListItemViewModel_List;
set => SetProperty(ref _UserAssignedMachineListItemViewModel_List, value);
}
private IList<MachineListItemViewModel> _MachineListItemViewModel_List; private IList<MachineListItemViewModel> _MachineListItemViewModel_List;
public IList<MachineListItemViewModel> MachineListItemViewModel_List public IList<MachineListItemViewModel> MachineListItemViewModel_List
{ {