99 lines
3.5 KiB
C#
99 lines
3.5 KiB
C#
using System;
|
|
using System.Threading.Tasks;
|
|
using RdtClient.Data.Data;
|
|
using Download = RdtClient.Data.Models.Data.Download;
|
|
|
|
namespace RdtClient.Service.Services
|
|
{
|
|
public interface IDownloads
|
|
{
|
|
Task<Download> GetById(Guid downloadId);
|
|
Task<Download> Get(Guid torrentId, String path);
|
|
Task<Download> Add(Guid torrentId, String path);
|
|
Task UpdateUnrestrictedLink(Guid downloadId, String unrestrictedLink);
|
|
Task UpdateDownloadStarted(Guid downloadId, DateTimeOffset? dateTime);
|
|
Task UpdateDownloadFinished(Guid downloadId, DateTimeOffset? dateTime);
|
|
Task UpdateUnpackingQueued(Guid downloadId, DateTimeOffset? dateTime);
|
|
Task UpdateUnpackingStarted(Guid downloadId, DateTimeOffset? dateTime);
|
|
Task UpdateUnpackingFinished(Guid downloadId, DateTimeOffset? dateTime);
|
|
Task UpdateCompleted(Guid downloadId, DateTimeOffset? dateTime);
|
|
Task UpdateError(Guid downloadId, String error);
|
|
Task UpdateRetryCount(Guid downloadId, Int32 retryCount);
|
|
Task DeleteForTorrent(Guid torrentId);
|
|
}
|
|
|
|
public class Downloads : IDownloads
|
|
{
|
|
private readonly IDownloadData _downloadData;
|
|
|
|
public Downloads(IDownloadData downloadData)
|
|
{
|
|
_downloadData = downloadData;
|
|
}
|
|
|
|
public async Task<Download> GetById(Guid downloadId)
|
|
{
|
|
return await _downloadData.GetById(downloadId);
|
|
}
|
|
|
|
public async Task<Download> Get(Guid torrentId, String path)
|
|
{
|
|
return await _downloadData.Get(torrentId, path);
|
|
}
|
|
|
|
public async Task<Download> Add(Guid torrentId, String path)
|
|
{
|
|
return await _downloadData.Add(torrentId, path);
|
|
}
|
|
|
|
public async Task UpdateUnrestrictedLink(Guid downloadId, String unrestrictedLink)
|
|
{
|
|
await _downloadData.UpdateUnrestrictedLink(downloadId, unrestrictedLink);
|
|
}
|
|
|
|
public async Task UpdateDownloadStarted(Guid downloadId, DateTimeOffset? dateTime)
|
|
{
|
|
await _downloadData.UpdateDownloadStarted(downloadId, dateTime);
|
|
}
|
|
|
|
public async Task UpdateDownloadFinished(Guid downloadId, DateTimeOffset? dateTime)
|
|
{
|
|
await _downloadData.UpdateDownloadFinished(downloadId, dateTime);
|
|
}
|
|
|
|
public async Task UpdateUnpackingQueued(Guid downloadId, DateTimeOffset? dateTime)
|
|
{
|
|
await _downloadData.UpdateUnpackingQueued(downloadId, dateTime);
|
|
}
|
|
|
|
public async Task UpdateUnpackingStarted(Guid downloadId, DateTimeOffset? dateTime)
|
|
{
|
|
await _downloadData.UpdateUnpackingStarted(downloadId, dateTime);
|
|
}
|
|
|
|
public async Task UpdateUnpackingFinished(Guid downloadId, DateTimeOffset? dateTime)
|
|
{
|
|
await _downloadData.UpdateUnpackingFinished(downloadId, dateTime);
|
|
}
|
|
|
|
public async Task UpdateCompleted(Guid downloadId, DateTimeOffset? dateTime)
|
|
{
|
|
await _downloadData.UpdateCompleted(downloadId, dateTime);
|
|
}
|
|
|
|
public async Task UpdateError(Guid downloadId, String error)
|
|
{
|
|
await _downloadData.UpdateError(downloadId, error);
|
|
}
|
|
|
|
public async Task UpdateRetryCount(Guid downloadId, Int32 retryCount)
|
|
{
|
|
await _downloadData.UpdateRetryCount(downloadId, retryCount);
|
|
}
|
|
|
|
public async Task DeleteForTorrent(Guid torrentId)
|
|
{
|
|
await _downloadData.DeleteForTorrent(torrentId);
|
|
}
|
|
}
|
|
}
|