chatbot/Chatbot.Api.Domain.Data/Repositories/ChatRepository.cs

52 lines
1.3 KiB
C#
Raw Normal View History

2020-06-06 23:18:41 +03:00
using Chatbot.Api.Domain.Data.DbContexts;
using Chatbot.Api.Domain.Entities;
using Chatbot.Api.Domain.Repositories;
2020-06-07 02:38:52 +03:00
using Microsoft.EntityFrameworkCore;
2020-06-06 23:18:41 +03:00
using System;
using System.Threading.Tasks;
namespace Chatbot.Api.Domain.Data.Repositories
{
class ChatRepository : IChatRepository
{
private readonly ChatDbContext _dbContext;
public ChatRepository(ChatDbContext dbContext)
{
_dbContext = dbContext;
}
public async Task<Chat> CreateChat(Guid sessionId)
{
var chat = new Chat()
{
ChatId = Guid.NewGuid(),
SessionId = sessionId,
StartDate = DateTime.Now
};
_dbContext.Add(chat);
await _dbContext.SaveChangesAsync();
return chat;
}
2020-06-06 23:44:49 +03:00
public async Task Add<T>(T entity) where T : class
{
_dbContext.Add(entity);
await _dbContext.SaveChangesAsync();
}
2020-06-07 02:38:52 +03:00
public async Task CloseChat(Guid chatId)
{
var chat = await _dbContext.Chats.FirstOrDefaultAsync(z => z.ChatId == chatId);
if (chat == null)
return;
chat.StopDate = DateTime.Now;
_dbContext.Update(chat);
await _dbContext.SaveChangesAsync();
}
2020-06-06 23:18:41 +03:00
}
}