Files
xAiModels/Providers/XAiDataProvider.cs
T

78 lines
3.6 KiB
C#

using System.Threading.Tasks;
using Microsoft.AspNetCore.SignalR;
using xAiModels.Interfaces;
using xAiModels.Interfaces.Entities;
using xAiModels.Providers.Dtos;
using xAiModels.Providers.Entities;
namespace xAiModels.Providers
{
/// <summary>
/// All Data Manipulation Requirements ...
/// </summary>
public class XAiDataProvider : IXAiDataProvider
{
private readonly IHubContext<XAiMessageDtoHub> messageDtoHub;
private readonly IHubContext<XAiProjectDtoHub> projectDtoHub;
private readonly IXAiMessageRepository messageRepositoryService;
private readonly IXAiProjectRepository projectRepositoryService;
private readonly IHubContext<XAiMessageEntityHub> messageEntityHub;
private readonly IHubContext<XAiProjectEntityHub> projectEntityHub;
private readonly IXAiConversationRepository conversationRepository;
private readonly IHubContext<XAiConversationDtoHub> conversationDtoHub;
private readonly IHubContext<XAiConversationEntityHub> conversationEntityHub;
private readonly IXAiProjectTitleResourceProvider projectTitleResourceProvider;
private readonly IXAiConversationTitleResourceProvider conversationTitleResourceProvider;
private readonly IXAiProjectDescriptionResourceProvider projectDescriptionResourceProvider;
public XAiDataProvider(
IHubContext<XAiMessageDtoHub> messageDtoHub,
IHubContext<XAiProjectDtoHub> projectDtoHub,
IXAiMessageRepository messageRepositoryService,
IXAiProjectRepository projectRepositoryService,
IHubContext<XAiMessageEntityHub> messageEntityHub,
IHubContext<XAiProjectEntityHub> projectEntityHub,
IXAiConversationRepository conversationRepository,
IHubContext<XAiConversationDtoHub> conversationDtoHub,
IHubContext<XAiConversationEntityHub> conversationEntityHub,
IXAiProjectTitleResourceProvider projectTitleResourceProvider,
IXAiConversationTitleResourceProvider conversationTitleResourceProvider,
IXAiProjectDescriptionResourceProvider projectDescriptionResourceProvider
)
{
this.messageDtoHub = messageDtoHub;
this.projectDtoHub = projectDtoHub;
this.projectEntityHub = projectEntityHub;
this.messageEntityHub = messageEntityHub;
this.conversationDtoHub = conversationDtoHub;
this.conversationEntityHub = conversationEntityHub;
this.conversationRepository = conversationRepository;
this.messageRepositoryService = messageRepositoryService;
this.projectRepositoryService = projectRepositoryService;
this.projectTitleResourceProvider = projectTitleResourceProvider;
this.conversationTitleResourceProvider = conversationTitleResourceProvider;
this.projectDescriptionResourceProvider = projectDescriptionResourceProvider;
}
//
#region Actions ...
#endregion
//
#region Private ...
/// <summary>
/// Handle Default Project for Specified Owner ...
/// </summary>
/// <param name="ownerId"></param>
/// <returns></returns>
private async Task HandleDefaultProject(string ownerId) { }
/// <summary>
/// Handle Default Project's Default Conversation for Specified Owner ...
/// </summary>
/// <param name="ownerId"></param>
/// <returns></returns>
private async Task HandleDefaultConversation(string ownerId) { }
#endregion
}
}