ModuleJobs.cs
1.15 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
using System;
using System.Collections.Generic;
using System.Linq;
using Sungero.Core;
using Sungero.CoreEntities;
using Sungero.Docflow;
using Sungero.Domain.Shared;
using Sungero.Metadata;
using Sungero.Workflow;
namespace Sungero.SmartProcessing.Server
{
public class ModuleJobs
{
/// <summary>
/// Фоновый процесс для удаления пакетов бинарных образов документов, которые отправлены на верификацию.
/// </summary>
public virtual void DeleteBlobPackages()
{
// Удаление BlobPackage со статусом Processed.
var processedBlobPackages = BlobPackages.GetAll().Where(x => x.ProcessState == SmartProcessing.BlobPackage.ProcessState.Processed);
foreach (var blobPackage in processedBlobPackages)
{
var blobs = blobPackage.Blobs.Select(x => x.Blob);
var mailBodyBlob = blobPackage.MailBodyBlob;
BlobPackages.Delete(blobPackage);
foreach (var blob in blobs)
Blobs.Delete(blob);
if (mailBodyBlob != null)
Blobs.Delete(mailBodyBlob);
}
}
}
}