Initial Commit;

This commit is contained in:
2024-03-10 00:43:57 +07:00
commit 5d80c6351c
29 changed files with 797 additions and 0 deletions

View File

@@ -0,0 +1,13 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net7.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\InServiceQue.Core\InServiceQue.Core.csproj" />
</ItemGroup>
</Project>

View File

@@ -0,0 +1,82 @@
using System.Collections.Concurrent;
using System.Data;
using InServiceQue.Core.Models;
using InServiceQue.Core.Repositories;
namespace InServiceQue.InMemory;
public class TaskRepositoryInMemory: ITaskRepository
{
private static ConcurrentQueue<QueueTask> _que = new();
public void Dispose()
{
// TODO release managed resources here
}
public void Insert(QueueTask task)
{
_que.Enqueue(task);
}
public async Task InsertAsync(QueueTask task)
{
Insert(task);
await Task.CompletedTask;
}
public IDbTransaction StartTransaction()
{
return null;
}
public async Task<IDbTransaction> StartTransactionAsync()
{
return await Task.FromResult<IDbTransaction>(null);
}
public void CommitTransaction(IDbTransaction tx)
{
}
public async Task CommitTransactionAsync(IDbTransaction tx)
{
await Task.CompletedTask;
}
public void RollbackTransaction(IDbTransaction tx)
{
}
public async Task RollbackTransactionAsync(IDbTransaction tx)
{
await Task.CompletedTask;
}
public QueueTask? GetNextTask(IDbTransaction tx)
{
QueueTask? task;
_que.TryDequeue(out task);
return task;
}
public async Task<QueueTask?> GetNextTaskAsync(IDbTransaction tx)
{
QueueTask? task = null;
_que.TryDequeue(out task);
return await Task.FromResult(task);
}
public void SaveTask(QueueTask task, IDbTransaction tx)
{
}
public async Task SaveTaskAsync(QueueTask task, IDbTransaction tx)
{
await Task.CompletedTask;
}
}