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
{
[Scope]
public class FeedAggregateDataProvider
{
private FeedDbContext FeedDbContext => _lazyFeedDbContext.Value;
private readonly AuthContext _authContext;
private readonly TenantManager _tenantManager;
private readonly TenantUtil _tenantUtil;
private readonly Lazy<FeedDbContext> _lazyFeedDbContext;
private FeedDbContext FeedDbContext => _lazyFeedDbContext.Value;
private IMapper _mapper;
public FeedAggregateDataProvider(
AuthContext authContext,
TenantManager tenantManager,
TenantUtil tenantUtil,
DbContextManager<FeedDbContext> dbContextManager)
: this(authContext, tenantManager, tenantUtil)
DbContextManager<FeedDbContext> dbContextManager,
IMapper mapper)
: this(authContext, tenantManager, tenantUtil, mapper)
{
_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;
_tenantManager = tenantManager;
_tenantUtil = tenantUtil;
_mapper = mapper;
}
public DateTime GetLastTimeAggregate(string key)
@ -102,21 +112,8 @@ namespace ASC.Feed.Data
continue;
}
var feedAggregate = new FeedAggregate
{
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
};
var feedAggregate = _mapper.Map<FeedRow, FeedAggregate>(f);
feedAggregate.AggregateDate = aggregatedDate;
if (f.ClearRightsBeforeInsert)
{

View File

@ -156,7 +156,7 @@ namespace ASC.Feed.Aggregator
.Select(tuple => new Tuple<FeedRow, object>(new FeedRow(tuple.Item1)
{
Tenant = tenant1,
ProductId = module1.Product
Product = module1.Product
}, tuple.Item2))
.ToList();
@ -186,7 +186,7 @@ namespace ASC.Feed.Aggregator
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))
{