mirror of
https://dev.azure.com/TeilRad/sharee.bike%20App/_git/Code
synced 2024-12-22 15:06:26 +01:00
30 lines
1.2 KiB
C#
30 lines
1.2 KiB
C#
using System;
|
|
using System.Globalization;
|
|
using ShareeBike.Model.User.Account;
|
|
using Xamarin.Forms;
|
|
|
|
namespace ShareeBike.View.Settings
|
|
{
|
|
|
|
/// <summary>
|
|
/// Translates user permissions into visibility state.
|
|
/// Used for container which holds a bunch of GUI elemets which migth all/ partly/ none be visible
|
|
/// If all childs are invisible frame must be invisible as well. As soon as one child is visible frame must be visible as well.
|
|
/// </summary>
|
|
public class BackendPermissionsToVisibleConverter : IValueConverter
|
|
{
|
|
/// <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)
|
|
{
|
|
var enumValue = (Permissions)value;
|
|
return enumValue.HasFlag(Permissions.PickCopriServer) | enumValue.HasFlag(Permissions.ManagePolling) | enumValue.HasFlag(Permissions.ManageCopriCacheExpiration);
|
|
}
|
|
|
|
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
|
|
{
|
|
return Permissions.None;
|
|
}
|
|
}
|
|
}
|