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

View File

@ -10,6 +10,7 @@ using FabAccessAPI.Schema;
using Prism.Services.Dialogs;
using Prism.Services;
using Prism.AppModel;
using static FabAccessAPI.Schema.Machine;
namespace Borepin.PageModel
{
@ -45,25 +46,44 @@ namespace Borepin.PageModel
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_user_assigned = new List<MachineListItemViewModel>();
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;
UserAssignedMachineListItemViewModel_List = viewmodel_list_user_assigned;
IsBusy = false;
}
#endregion
#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;
public IList<MachineListItemViewModel> MachineListItemViewModel_List
{