BlobPackageServerFunctions.cs
3.55 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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
using System;
using System.Collections.Generic;
using System.Linq;
using Sungero.Core;
using Sungero.CoreEntities;
using Sungero.SmartProcessing.BlobPackage;
namespace Sungero.SmartProcessing.Server
{
partial class BlobPackageFunctions
{
/// <summary>
/// Создать пакет блобов обрабатываемых документов.
/// </summary>
/// <returns>Пакет блобов.</returns>
[Remote, Public]
public static IBlobPackage CreateBlobPackage()
{
return BlobPackages.Create();
}
/// <summary>
/// Заполнить в пакете бинарных образов документов информацию о письме, находящуюся в пакете бинарных образов документов DCS.
/// </summary>
/// <param name="source">Пакет бинарных образов документов DCS.</param>
[Public]
public virtual void FillMailInfoFromDcsPackage(Structures.Module.IDcsPackage source)
{
var mailInfo = source.MailInfo;
if (mailInfo == null)
return;
// Тема.
var subject = mailInfo.Subject;
if (!string.IsNullOrWhiteSpace(subject) &&
subject.Length > _obj.Info.Properties.Subject.Length)
{
subject = subject.Substring(0, _obj.Info.Properties.Subject.Length);
}
_obj.Subject = subject;
// От кого.
_obj.FromAddress = mailInfo.FromAddress;
_obj.FromName = mailInfo.FromName;
// Кому.
foreach (var recipient in mailInfo.To)
{
var mailToRecipient = _obj.To.AddNew();
mailToRecipient.Name = recipient.Name;
mailToRecipient.Address = recipient.Address;
}
// Копия.
foreach (var recipient in mailInfo.CC)
{
var copyRecipient = _obj.CC.AddNew();
copyRecipient.Name = recipient.Name;
copyRecipient.Address = recipient.Address;
}
_obj.MessageId = mailInfo.MessageId;
_obj.Priority = mailInfo.Priority;
_obj.SendDate = mailInfo.SendDate.FromUtcTime();
}
/// <summary>
/// Создать информацию о письме, находящуюся в пакете бинарных образов документов.
/// </summary>
/// <returns>Информация о письме.</returns>
[Public]
public virtual Structures.Module.IMailInfo CreateMailInfo()
{
var mailInfo = Structures.Module.MailInfo.Create();
// Тема.
mailInfo.Subject = _obj.Subject;
// От кого.
mailInfo.FromAddress = _obj.FromAddress;
mailInfo.FromName = _obj.FromName;
// Кому.
mailInfo.To = new List<Structures.Module.IMailRecipient>();
foreach (var recipient in _obj.To)
{
var mailToRecipient = Structures.Module.MailRecipient.Create();
mailToRecipient.Name = recipient.Name;
mailToRecipient.Address = recipient.Address;
mailInfo.To.Add(mailToRecipient);
}
// Копия.
mailInfo.CC = new List<Structures.Module.IMailRecipient>();
foreach (var recipient in _obj.CC)
{
var copyRecipient = Structures.Module.MailRecipient.Create();
copyRecipient.Name = recipient.Name;
copyRecipient.Address = recipient.Address;
mailInfo.CC.Add(copyRecipient);
}
mailInfo.MessageId = _obj.MessageId;
mailInfo.Priority = _obj.Priority;
mailInfo.SendDate = _obj.SendDate;
return mailInfo;
}
}
}