56 lines
2.1 KiB
C#
56 lines
2.1 KiB
C#
using System;
|
|
using AutoMapper;
|
|
using xAiModels.Interfaces;
|
|
using xAiModels.Models.Dtos;
|
|
using xAiModels.Models.Entities;
|
|
using xIdentityService.Extensions;
|
|
using xIdentityService.Interfaces;
|
|
|
|
namespace xAiModels.Configurations.Entities
|
|
{
|
|
public class XAiConversationMappingAction : IMappingAction<XAiConversation, XAiConversationDto>
|
|
{
|
|
private readonly IXIdentityProvider identityProvider;
|
|
private readonly IXAiProjectTitleResourceProvider projectTitleResourceProvider;
|
|
private readonly IXAiConversationTitleResourceProvider conversationTitleResourceProvider;
|
|
private readonly IXAiProjectDescriptionResourceProvider projectDescriptionResourceProvider;
|
|
|
|
public XAiConversationMappingAction(
|
|
IXIdentityProvider identityProvider,
|
|
IXAiProjectTitleResourceProvider projectTitleResourceProvider,
|
|
IXAiConversationTitleResourceProvider conversationTitleResourceProvider,
|
|
IXAiProjectDescriptionResourceProvider projectDescriptionResourceProvider
|
|
)
|
|
{
|
|
this.identityProvider = identityProvider;
|
|
this.projectTitleResourceProvider = projectTitleResourceProvider;
|
|
this.conversationTitleResourceProvider = conversationTitleResourceProvider;
|
|
this.projectDescriptionResourceProvider = projectDescriptionResourceProvider;
|
|
}
|
|
|
|
public void Process(
|
|
XAiConversation source,
|
|
XAiConversationDto destination,
|
|
ResolutionContext context
|
|
)
|
|
{
|
|
//
|
|
// Retrieve Owner ...
|
|
var device = identityProvider.GetDevice();
|
|
var ownerUserInfo = identityProvider.GetUserInfo(
|
|
device: device,
|
|
userSelectByParam: source.OwnerId
|
|
)
|
|
.GetAwaiter()
|
|
.GetResult();
|
|
var owner = ownerUserInfo.ToXPersonDto();
|
|
|
|
//
|
|
// Setting Owner ...
|
|
destination.Owner = owner;
|
|
|
|
// Retrieve Project Info ...
|
|
throw new NotImplementedException();
|
|
}
|
|
}
|
|
} |