| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- using DaJiaoYan.Models;
- using System.Collections.Generic;
- namespace DaJiaoYan.Services
- {
- internal class UploadTask
- {
- private static Dictionary<string, UploadTaskInfo> _infos = new Dictionary<string, UploadTaskInfo>();
- public delegate void DeleNewUploadTask(string id);
- public delegate void DeleIncreaseScanTask(string id, int cnt = 1);
- public delegate void DeleIncreaseUploadTask(string id, int cnt = 1);
- public delegate UploadTaskInfo DeleGetUploadTask(string id);
- public delegate void DeleFinishUploadTask(string id);
- public delegate void DeleFinishScanTask(string id);
- public static DeleNewUploadTask deleNewUploadTask = NewUploadTask;
- public static DeleIncreaseScanTask deleIncreaseScanTask = IncreaseScanTask;
- public static DeleIncreaseUploadTask deleIncreaseUploadTask = IncreaseUploadTask;
- public static DeleGetUploadTask deleGetUploadTask = GetUploadTaskInfo;
- public static DeleFinishScanTask deleFinishUploadTask = FinishUploadTask;
- public static DeleFinishScanTask deleFinishScanTask = FinishScanTask;
- private static void NewUploadTask(string id)
- {
- lock (_infos)
- {
- if (!_infos.ContainsKey(id))
- {
- _infos.Add(id, new UploadTaskInfo(id));
- }
- }
- }
- private static void IncreaseScanTask(string id, int cnt = 1)
- {
- lock (_infos)
- {
- if (_infos.ContainsKey(id))
- {
- _infos[id].ScanCount += cnt;
- }
- }
- }
- private static void IncreaseUploadTask(string id, int cnt = 1)
- {
- lock (_infos)
- {
- if (_infos.ContainsKey(id))
- {
- _infos[id].UploadCount += cnt;
- }
- }
- }
- private static UploadTaskInfo GetUploadTaskInfo(string id)
- {
- UploadTaskInfo info;
- lock (_infos)
- {
- if (_infos.ContainsKey(id))
- {
- info = _infos[id].Copy();
- }
- else
- {
- info = new UploadTaskInfo(id);
- }
- }
- return info;
- }
- private static void FinishUploadTask(string id)
- {
- lock (_infos)
- {
- if (_infos.ContainsKey(id))
- {
- _infos[id].UploadFinished = 1;
- }
- }
- }
- private static void FinishScanTask(string id)
- {
- lock (_infos)
- {
- if (_infos.ContainsKey(id))
- {
- _infos[id].ScanFinished = 1;
- }
- }
- }
- }
- }
|