Example #1
0
        /// <summary>
        ///     Creates a new <see cref="MenuItemDefinition" /> object.
        /// </summary>
        public MenuItemDefinition(
            string name,
            ILocalizableString displayName,
            string icon = null,
            string url  = null,
            bool requiresAuthentication   = false,
            string requiredPermissionName = null,
            IPermissionDependency permissionDependency = null,
            int order         = 0,
            object customData = null,
            IFeatureDependency featureDependency = null,
            string target  = null,
            bool isEnabled = true,
            bool isVisible = true)
        {
            Check.NotNull(name, nameof(name));
            Check.NotNull(displayName, nameof(displayName));

            Name                   = name;
            DisplayName            = displayName;
            Icon                   = icon;
            Url                    = url;
            RequiresAuthentication = requiresAuthentication;
            RequiredPermissionName = requiredPermissionName;
            PermissionDependency   = permissionDependency;
            Order                  = order;
            CustomData             = customData;
            FeatureDependency      = featureDependency;
            Target                 = target;
            IsEnabled              = isEnabled;
            IsVisible              = isVisible;

            Items = new List <MenuItemDefinition>();
        }
Example #2
0
        public AddressMapViewModel(IMvxNavigationService navigationService,
                                   IConnection connection, IMvxMessenger messenger,
                                   IPermissionDependency permissionDependency, IGoogleMapsApiService googleMapsApiService,
                                   IGoogleMapTableAccess googleMapTableAccess, IQuickMessageDependency quickMessageDependency)
        {
            _navigationService      = navigationService;
            _connection             = connection;
            _messenger              = messenger;
            _permissionDependency   = permissionDependency;
            _googleMapsApiService   = googleMapsApiService;
            _googleMapTableAccess   = googleMapTableAccess;
            _quickMessageDependency = quickMessageDependency;
            Title = "Address Book";
            Init();

            _token = _messenger.Subscribe <AddressResult>((addr) =>
            {
                try
                {
                    if (addr != null)
                    {
                        if (!AddedAddresses.Any(x => x.PlaceId == addr.Address.PlaceId))
                        {
                            _googleMapTableAccess.Insert(addr.Address);
                            AddedAddresses.Add(addr.Address);
                            ExecuteSelect(addr.Address);
                        }
                    }
                }
                catch (Exception ex)
                {
                    _quickMessageDependency.ShowToastMessage(ex.Message);
                }
            });
        }
Example #3
0
        /// <param name="name"></param>
        /// <param name="displayName"></param>
        /// <param name="icon"></param>
        /// <param name="url"></param>
        /// <param name="requiresAuthentication"></param>
        /// <param name="PermissionNames">This parameter is obsolete. Use <paramref name="permissionDependency"/> instead!</param>
        /// <param name="order"></param>
        /// <param name="customData"></param>
        /// <param name="featureDependency"></param>
        /// <param name="target"></param>
        /// <param name="isEnabled"></param>
        /// <param name="isVisible"></param>
        /// <param name="permissionDependency"></param>
        public NavigationItemDefinition(
            string name,
            ILocalizableString displayName,
//            string url = null,
            bool requiresAuthentication  = false,
            Permission[] permissionNames = null,
            object customData            = null,
            //     IFeatureDependency featureDependency = null,
            //    bool isEnabled = true,
            bool isVisible = true,
            IPermissionDependency permissionDependency = null
            )
        {
            Check.NotNull(name, nameof(name));
            Check.NotNull(displayName, nameof(displayName));

            Name                   = name;
            DisplayName            = displayName;
            RequiresAuthentication = requiresAuthentication;
            HasPermissions         = permissionNames;
            //   RequiredPermissionName = HasPermissions;
            CustomData = customData;
            // FeatureDependency = featureDependency;
            //   IsEnabled = isEnabled;
            IsVisible = isVisible;
            //  PermissionDependency = permissionDependency;
//            Items = new List<INavigationItemDefinition>();
        }
        /// <summary>
        /// 构造函数
        /// </summary>
        /// <param name="name">唯一名称.</param>
        /// <param name="entityType">类型.</param>
        /// <param name="displayName">显示名称.</param>
        /// <param name="description">描述</param>
        /// <param name="permissionDependency">权限依赖关系。 如果满足该依赖关系,则该通知将可供用户使用。.</param>
        /// <param name="featureDependency">A feature dependency. This notification will be available to a tenant if this feature is enabled.</param>
        public NotificationDefinition(string name, Type entityType = null, ILocalizableString displayName = null, ILocalizableString description = null, IPermissionDependency permissionDependency = null, IFeatureDependency featureDependency = null)
        {
            if (string.IsNullOrWhiteSpace(name))
            {
                throw new ArgumentNullException("name", "name can not be null, empty or whitespace!");
            }

            Name                 = name;
            EntityType           = entityType;
            DisplayName          = displayName;
            Description          = description;
            PermissionDependency = permissionDependency;
            FeatureDependency    = featureDependency;

            Attributes = new Dictionary <string, object>();
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="NotificationDefinition"/> class.
        /// </summary>
        /// <param name="name">Unique name of the notification.</param>
        /// <param name="entityType">Related entity type with this notification (optional).</param>
        /// <param name="displayName">Display name of the notification.</param>
        /// <param name="description">Description for the notification</param>
        /// <param name="permissionDependency">A permission dependency. This notification will be available to a user if this dependency is satisfied.</param>
        /// <param name="featureDependency">A feature dependency. This notification will be available to a tenant if this feature is enabled.</param>
        public NotificationDefinition(string name, Type entityType = null, ILocalizableString displayName = null, ILocalizableString description = null, IPermissionDependency permissionDependency = null, IFeatureDependency featureDependency = null)
        {
            if (string.IsNullOrWhiteSpace(name))
            {
                throw new ArgumentNullException("name", "name can not be null, empty or whitespace!");
            }
            
            Name = name;
            EntityType = entityType;
            DisplayName = displayName;
            Description = description;
            PermissionDependency = permissionDependency;
            FeatureDependency = featureDependency;

            Attributes = new Dictionary<string, object>();
        }
Example #6
0
        public static Permission Create(string name, string navigation, string type,
                                        string resourceKey,
                                        ILocalizableString displayName, IPermissionDependency permissionDependency = null)
        {
            Permission p = new Permission
            {
                Name        = name,
                Navigation  = navigation,
                Type        = type,
                ResourceKey = resourceKey,
                DisplayName = displayName,
            };
            var pDependency = permissionDependency != null ? permissionDependency :
                              new DefaultPermissionDependency(p);

            p.PermissionDependency = pDependency;

            return(p);
        }
Example #7
0
 public RequiresPermissionSettingClientVisibilityProvider(IPermissionDependency permissionDependency)
 {
     _permissionDependency = permissionDependency;
 }
 /// <summary>
 ///     Checks if permission dependency is satisfied.
 /// </summary>
 /// <param name="permissionDependency">The permission dependency</param>
 /// <param name="context">Context.</param>
 public static bool IsSatisfied(this IPermissionDependency permissionDependency,
                                IPermissionDependencyContext context)
 {
     return(AsyncHelper.RunSync(() => permissionDependency.IsSatisfiedAsync(context)));
 }