mirror of
https://dev.azure.com/TeilRad/sharee.bike%20App/_git/Code
synced 2024-12-25 00:26:27 +01:00
34 lines
1.4 KiB
C#
34 lines
1.4 KiB
C#
using System;
|
|
using System.Globalization;
|
|
using Xamarin.Forms;
|
|
using TINK.Model.User.Account;
|
|
|
|
namespace TINK.View.Settings
|
|
{
|
|
/// <summary> Translates user permissions into visibility state. </summary>
|
|
public class PermissionToVisibleConverter : BindableObject, IValueConverter
|
|
{
|
|
static readonly BindableProperty VisibleFlagProperty =
|
|
BindableProperty.Create(nameof(VisibleFlag), typeof(Permissions), typeof(BindableObject));
|
|
|
|
/// <summary> Property set from XAML determinig for which permission value object is visible.</summary>
|
|
public Permissions VisibleFlag
|
|
{
|
|
get => (Permissions)GetValue(VisibleFlagProperty);
|
|
set => SetValue(VisibleFlagProperty, value);
|
|
}
|
|
|
|
/// <summary> Converts permission value into visible state.</summary>
|
|
/// <param name="value">Permission value from view model used to derive whether object is visible or not.</param>
|
|
/// <returns>Boolean value indicating whether object is visible or not.</returns>
|
|
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
|
|
{
|
|
return ((Permissions)value).HasFlag(VisibleFlag);
|
|
}
|
|
|
|
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
|
|
{
|
|
return Permissions.None;
|
|
}
|
|
}
|
|
}
|