public UserManagement(UserManager <ApplicationUser> userManager, ISignInManagement signInManager, IMessageService messageService, IResourceManagement resourceManager) { _userManager = userManager; _signInManager = signInManager; _messageService = messageService; _resourceManager = resourceManager; }
/// <summary> /// Modify the resource. /// </summary> /// <param name="proxy"></param> /// <param name="modifier">Modifier delegate, must return <value>true</value> in order to save changes</param> /// <param name="facade"></param> /// <param name="context"></param> public static void Modify <TContext>(this IResourceManagement facade, IResource proxy, Func <Resource, TContext, bool> modifier, TContext context) { if (facade is IResourceModification modification) { modification.Modify(proxy.Id, resource => modifier(resource, context)); } throw new NotSupportedException("Instance of resource management does not support resource modification"); }
/// <summary> /// Read data from a resource /// </summary> public static TResult Read <TResult>(this IResourceManagement facade, IResource proxy, Func <Resource, TResult> accessor) { if (facade is IResourceModification modification) { return(modification.Read(proxy.Id, accessor)); } throw new NotSupportedException("Instance of resource management does not support resource modification"); }
/// <summary> /// Modify the resource. /// </summary> /// <param name="proxy"></param> /// <param name="modifier">Modifier delegate, must return <value>true</value> in order to save changes</param> /// <param name="facade"></param> public static void Modify(this IResourceManagement facade, IResource proxy, Func <Resource, bool> modifier) { if (facade is IResourceModification modification) { modification.Modify(proxy.Id, modifier); } throw new NotSupportedException("Instance of resource management does not support resource modification"); }
/// <summary> /// Create a resource with typed initializer /// </summary> /// <param name="facade"></param> /// <param name="initializer"></param> public static long Create <TResource>(this IResourceManagement facade, Action <TResource> initializer) where TResource : Resource { if (facade is IResourceModification modification) { return(modification.Create(typeof(TResource), r => initializer((TResource)r))); } throw new NotSupportedException("Instance of resource management does not support resource modification"); }