Feed: add mapping

This commit is contained in:
Maksim Chegulov 2022-02-10 20:48:08 +03:00
parent 395233ea90
commit ef7c77b669
2 changed files with 19 additions and 22 deletions

View File

@ -23,32 +23,42 @@
* *
*/ */
using AutoMapper;
namespace ASC.Feed.Data namespace ASC.Feed.Data
{ {
[Scope] [Scope]
public class FeedAggregateDataProvider public class FeedAggregateDataProvider
{ {
private FeedDbContext FeedDbContext => _lazyFeedDbContext.Value;
private readonly AuthContext _authContext; private readonly AuthContext _authContext;
private readonly TenantManager _tenantManager; private readonly TenantManager _tenantManager;
private readonly TenantUtil _tenantUtil; private readonly TenantUtil _tenantUtil;
private readonly Lazy<FeedDbContext> _lazyFeedDbContext; private readonly Lazy<FeedDbContext> _lazyFeedDbContext;
private FeedDbContext FeedDbContext => _lazyFeedDbContext.Value; private IMapper _mapper;
public FeedAggregateDataProvider( public FeedAggregateDataProvider(
AuthContext authContext, AuthContext authContext,
TenantManager tenantManager, TenantManager tenantManager,
TenantUtil tenantUtil, TenantUtil tenantUtil,
DbContextManager<FeedDbContext> dbContextManager) DbContextManager<FeedDbContext> dbContextManager,
: this(authContext, tenantManager, tenantUtil) IMapper mapper)
: this(authContext, tenantManager, tenantUtil, mapper)
{ {
_lazyFeedDbContext = new Lazy<FeedDbContext>(() => dbContextManager.Get(Constants.FeedDbId)); _lazyFeedDbContext = new Lazy<FeedDbContext>(() => dbContextManager.Get(Constants.FeedDbId));
} }
public FeedAggregateDataProvider(AuthContext authContext, TenantManager tenantManager, TenantUtil tenantUtil) public FeedAggregateDataProvider(
AuthContext authContext,
TenantManager tenantManager,
TenantUtil tenantUtil,
IMapper mapper)
{ {
_authContext = authContext; _authContext = authContext;
_tenantManager = tenantManager; _tenantManager = tenantManager;
_tenantUtil = tenantUtil; _tenantUtil = tenantUtil;
_mapper = mapper;
} }
public DateTime GetLastTimeAggregate(string key) public DateTime GetLastTimeAggregate(string key)
@ -102,21 +112,8 @@ namespace ASC.Feed.Data
continue; continue;
} }
var feedAggregate = new FeedAggregate var feedAggregate = _mapper.Map<FeedRow, FeedAggregate>(f);
{ feedAggregate.AggregateDate = aggregatedDate;
Id = f.Id,
Tenant = f.Tenant,
Product = f.ProductId,
Module = f.ModuleId,
Author = f.AuthorId,
ModifiedBy = f.ModifiedById,
GroupId = f.GroupId,
CreatedDate = f.CreatedDate,
ModifiedDate = f.ModifiedDate,
Json = f.Json,
Keywords = f.Keywords,
AggregateDate = aggregatedDate
};
if (f.ClearRightsBeforeInsert) if (f.ClearRightsBeforeInsert)
{ {

View File

@ -156,7 +156,7 @@ namespace ASC.Feed.Aggregator
.Select(tuple => new Tuple<FeedRow, object>(new FeedRow(tuple.Item1) .Select(tuple => new Tuple<FeedRow, object>(new FeedRow(tuple.Item1)
{ {
Tenant = tenant1, Tenant = tenant1,
ProductId = module1.Product Product = module1.Product
}, tuple.Item2)) }, tuple.Item2))
.ToList(); .ToList();
@ -186,7 +186,7 @@ namespace ASC.Feed.Aggregator
foreach (var res in result) foreach (var res in result)
{ {
foreach (var userGuid in res.Users.Where(userGuid => !userGuid.Equals(res.ModifiedById))) foreach (var userGuid in res.Users.Where(userGuid => !userGuid.Equals(res.ModifiedBy)))
{ {
if (!unreadUsers.TryGetValue(res.Tenant, out var dictionary)) if (!unreadUsers.TryGetValue(res.Tenant, out var dictionary))
{ {