forked from ddrilling/AsbCloudServer
доработка методов репозитория
This commit is contained in:
parent
95790af1f6
commit
6bf992f1f6
@ -71,7 +71,6 @@ namespace AsbCloudDb.Model
|
|||||||
int SaveChanges(bool acceptAllChangesOnSuccess);
|
int SaveChanges(bool acceptAllChangesOnSuccess);
|
||||||
Task<int> SaveChangesAsync(CancellationToken cancellationToken);
|
Task<int> SaveChangesAsync(CancellationToken cancellationToken);
|
||||||
DbSet<TEntity> Set<TEntity>(string name) where TEntity : class;
|
DbSet<TEntity> Set<TEntity>(string name) where TEntity : class;
|
||||||
DbSet<TEntity> Set<TEntity>() where TEntity : class;
|
DbSet<TEntity> Set<TEntity>() where TEntity : class;
|
||||||
EntityEntry<TEntity> Entry<TEntity>([NotNull] TEntity entity) where TEntity : class;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -121,8 +121,7 @@ namespace AsbCloudInfrastructure.Repository
|
|||||||
entity.Patronymic = user.Patronymic;
|
entity.Patronymic = user.Patronymic;
|
||||||
entity.Position = user.Position;
|
entity.Position = user.Position;
|
||||||
entity.IdCompany = user.IdCompany;
|
entity.IdCompany = user.IdCompany;
|
||||||
entity.IdState = user.IdState;
|
entity.IdState = user.IdState;
|
||||||
entity.RelationUsersUserRoles = user.RelationUsersUserRoles;
|
|
||||||
await dbContext.SaveChangesAsync(token);
|
await dbContext.SaveChangesAsync(token);
|
||||||
}
|
}
|
||||||
DropCacheUsers();
|
DropCacheUsers();
|
||||||
@ -199,25 +198,19 @@ namespace AsbCloudInfrastructure.Repository
|
|||||||
var entities = query.ToArray();
|
var entities = query.ToArray();
|
||||||
return entities;
|
return entities;
|
||||||
});
|
});
|
||||||
return cache;
|
return cache!;
|
||||||
}
|
}
|
||||||
private void DropCacheRelationUserUserRoleCacheTag()
|
private void DropCacheRelationUserUserRoleCacheTag()
|
||||||
{
|
{
|
||||||
memoryCache.Remove(relationUserUserRoleCacheTag);
|
memoryCache.Remove(relationUserUserRoleCacheTag);
|
||||||
}
|
}
|
||||||
|
|
||||||
private async Task UpdateRolesCacheForUserAsync(int idUser, IEnumerable<UserRoleDto> newRoles, CancellationToken token)
|
private async Task UpdateRolesCacheForUserAsync(int idUser, IEnumerable<UserRoleDto> roleDtos, CancellationToken token)
|
||||||
{
|
{
|
||||||
var relations = dbContext.RelationUserUserRoles.Where(r => r.IdUser == idUser);
|
var relations = dbContext.RelationUserUserRoles.Where(r => r.IdUser == idUser);
|
||||||
dbContext.RelationUserUserRoles.RemoveRange(relations);
|
dbContext.RelationUserUserRoles.RemoveRange(relations);
|
||||||
|
var entityRoles = roleDtos.Select(role => Convert(role));
|
||||||
if (newRoles?.Any() is true)
|
dbContext.RelationUserUserRoles.AddRange(entityRoles);
|
||||||
await dbContext.RelationUserUserRoles.AddRangeAsync(newRoles.Select(role => new RelationUserUserRole
|
|
||||||
{
|
|
||||||
IdUser = idUser,
|
|
||||||
IdUserRole = role.Id
|
|
||||||
}), token).ConfigureAwait(false);
|
|
||||||
|
|
||||||
await dbContext.SaveChangesAsync(token);
|
await dbContext.SaveChangesAsync(token);
|
||||||
DropCacheRelationUserUserRoleCacheTag();
|
DropCacheRelationUserUserRoleCacheTag();
|
||||||
}
|
}
|
||||||
@ -237,7 +230,7 @@ namespace AsbCloudInfrastructure.Repository
|
|||||||
var entities = query.ToArray();
|
var entities = query.ToArray();
|
||||||
return entities;
|
return entities;
|
||||||
});
|
});
|
||||||
return cache;
|
return cache!;
|
||||||
}
|
}
|
||||||
|
|
||||||
private Task<IEnumerable<User>> GetCacheUserAsync(CancellationToken token)
|
private Task<IEnumerable<User>> GetCacheUserAsync(CancellationToken token)
|
||||||
@ -252,7 +245,7 @@ namespace AsbCloudInfrastructure.Repository
|
|||||||
var entities = await query.ToArrayAsync(token);
|
var entities = await query.ToArrayAsync(token);
|
||||||
return entities.AsEnumerable();
|
return entities.AsEnumerable();
|
||||||
});
|
});
|
||||||
return cache;
|
return cache!;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected User Convert(UserExtendedDto dto)
|
protected User Convert(UserExtendedDto dto)
|
||||||
@ -263,7 +256,11 @@ namespace AsbCloudInfrastructure.Repository
|
|||||||
return entity;
|
return entity;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected RelationUserUserRole Convert(UserRoleDto dto)
|
||||||
|
{
|
||||||
|
var entity = dto.Adapt<RelationUserUserRole>();
|
||||||
|
return entity;
|
||||||
|
}
|
||||||
|
|
||||||
protected virtual UserExtendedDto Convert(User entity)
|
protected virtual UserExtendedDto Convert(User entity)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user