ModuleClientFunctions.cs
5.24 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
112
113
114
115
116
117
118
119
120
121
122
123
using System;
using System.Collections.Generic;
using System.Linq;
using Sungero.Core;
using Sungero.CoreEntities;
using Sungero.Docflow;
namespace Sungero.RecordManagementUI.Client
{
public class ModuleFunctions
{
#region Документы
/// <summary>
/// Создать документ.
/// </summary>
public virtual void CreateDocument()
{
Docflow.OfficialDocuments.CreateDocumentWithCreationDialog(InternalDocumentBases.Info,
IncomingDocumentBases.Info,
OutgoingDocumentBases.Info);
}
#endregion
#region Отчеты
/// <summary>
/// Открыть отчет пропусков нумерации.
/// </summary>
public virtual void ShowSkippedNumbersReport()
{
Docflow.Reports.GetSkippedNumbersReport().Open();
}
/// <summary>
/// Показать список всех отчетов.
/// </summary>
public virtual void ShowAllReports()
{
var reports = RecordManagement.Reports.GetAll()
.Where(r => !(r is RecordManagement.IAcquaintanceReport))
.ToList();
reports.Add(Docflow.Reports.GetSkippedNumbersReport());
reports.AsEnumerable().Show(RecordManagement.Resources.AllReportsTitle);
}
#endregion
#region Поиск документов
/// <summary>
/// Поиск по регистрационным данным.
/// </summary>
/// <returns>Список документов, удовлетворяющих регистрационным данным.</returns>
public virtual IQueryable<IOfficialDocument> SearchByRegistrationData()
{
// Создать диалог ввода организации и даты регистрации.
var dialog = Dialogs.CreateInputDialog(Resources.SearchFromRegistrationData);
var registrationNumber = dialog.AddString(Docflow.Resources.RegistrationNumber, false);
var registrationDateFrom = dialog.AddDate(Resources.RegistrationDateFrom, false);
var registrationDateTo = dialog.AddDate(Resources.RegistrationDateTo, false);
var documentRegister = dialog.AddSelect(Docflow.Resources.DocumentRegister, false, DocumentRegisters.Null);
var fileList = dialog.AddSelect(Resources.FileList, false, CaseFiles.Null);
var registeredBy = dialog.AddSelect(Resources.RegisteredBy, false, Company.Employees.Null);
dialog.SetOnButtonClick((args) =>
{
Docflow.PublicFunctions.Module.CheckDialogPeriod(args, registrationDateFrom, registrationDateTo);
});
dialog.Buttons.AddOkCancel();
dialog.Buttons.Default = DialogButtons.Ok;
if (dialog.Show() == DialogButtons.Ok)
return Functions.Module.Remote.GetFilteredRegisteredDocuments(registrationNumber.Value,
registrationDateFrom.Value,
registrationDateTo.Value,
documentRegister.Value,
fileList.Value,
registeredBy.Value);
return null;
}
/// <summary>
/// Получить официальную переписку с корреспондентом.
/// </summary>
/// <returns>Список корреспонденции.</returns>
public virtual IQueryable<IOfficialDocument> GetOfficialCorrespondenceWithCounterparty()
{
var personalSettings = Docflow.PublicFunctions.PersonalSetting.GetPersonalSettings(Company.Employees.Current);
var dialog = Dialogs.CreateInputDialog(Resources.OfficialCorrespondenceWithCounterparty);
var counterparty = dialog.AddSelect(Resources.Correspondent, true, Parties.Counterparties.Null);
var settingsStartDate = Docflow.PublicFunctions.PersonalSetting.GetStartDate(personalSettings);
var beginDate = dialog.AddDate(Resources.RegistrationDateFrom, false, settingsStartDate ?? Calendar.UserToday);
var settingsEndDate = Docflow.PublicFunctions.PersonalSetting.GetEndDate(personalSettings);
var endDate = dialog.AddDate(Resources.RegistrationDateTo, false, settingsEndDate ?? Calendar.UserToday);
dialog.SetOnButtonClick((args) =>
{
Docflow.PublicFunctions.Module.CheckDialogPeriod(args, beginDate, endDate);
});
dialog.Buttons.AddOkCancel();
dialog.Buttons.Default = DialogButtons.Ok;
if (dialog.Show() == DialogButtons.Ok)
return Functions.Module.Remote.GetOfficialCorrespondenceWithCounterparty(counterparty.Value, beginDate.Value, endDate.Value);
return null;
}
#endregion
/// <summary>
/// Показать параметры модуля.
/// </summary>
public virtual void ShowRecordManagementSettings()
{
RecordManagement.PublicFunctions.Module.GetSettings().Show();
}
}
}