private async Task UpdateNetworkAccessAsync(NetworkAccessModel networkAccess) { NetworkAccess entity = await Context.NetworkAccesses.SingleAsync(n => n.Id == networkAccess.Id); entity.AccessMode = networkAccess.AccessMode.ToEntity(); await UpdateUserAccessesAsync(networkAccess.Id, networkAccess.PermittedUsers); Context.Attach(entity); }
private void CreateNetworkAccess(NetworkAccessModel networkAccess) { var entity = new NetworkAccess { Id = networkAccess.Id, AccessMode = networkAccess.AccessMode.ToEntity() }; Context.NetworkAccesses.Add(entity); }
private static bool CanAccess(Guid userId, NetworkAccessModel access, Guid ownerId) { if (ownerId == userId) { return(true); } switch (access.AccessMode) { case AccessMode.Private: return(false); case AccessMode.ByPermission: return(access.PermittedUsers.Contains(userId)); case AccessMode.Public: return(true); default: throw new ArgumentOutOfRangeException(); } }
public NetworkAccess(NetworkAccessModel readAccess) { AccessMode = readAccess.AccessMode; PermittedUsers = readAccess.PermittedUsers; }