RegistrationSettingReportHandlers.cs
2.97 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
using System;
using System.Collections.Generic;
using System.Linq;
using Sungero.Company;
using Sungero.Core;
using Sungero.CoreEntities;
using Sungero.Domain.Client.Hyperlinks;
namespace Sungero.Docflow
{
partial class RegistrationSettingReportClientHandlers
{
public override void BeforeExecute(Sungero.Reporting.Client.BeforeExecuteEventArgs e)
{
if (RegistrationSettingReport.BusinessUnit != null && !string.IsNullOrWhiteSpace(RegistrationSettingReport.Direction))
return;
RegistrationSettingReport.ParamsDescriprion = string.Empty;
INavigationDialogValue<IBusinessUnit> businessUnit = null;
CommonLibrary.IDropDownDialogValue documentFlow = null;
var dialog = Dialogs.CreateInputDialog(Docflow.Resources.RegistrationSettingReport);
dialog.HelpCode = Constants.RegistrationSettingReport.HelpCode;
dialog.Buttons.AddOkCancel();
// НОР.
if (RegistrationSettingReport.BusinessUnit == null)
businessUnit = dialog.AddSelect(Docflow.Resources.BusinessUnit, false, BusinessUnits.Null);
// Документопоток.
var availableDirections = new List<Enumeration>() { RegistrationSetting.DocumentFlow.Incoming, RegistrationSetting.DocumentFlow.Outgoing,
RegistrationSetting.DocumentFlow.Inner, RegistrationSetting.DocumentFlow.Contracts };
var documentFlows = availableDirections.Select(a => RegistrationSettings.Info.Properties.DocumentFlow.GetLocalizedValue(a)).ToList();
if (string.IsNullOrWhiteSpace(RegistrationSettingReport.Direction))
documentFlow = dialog.AddSelect(Docflow.Resources.Direction, false).From(documentFlows.ToArray());
var filterDepartmentsForBusinessUnits = dialog.AddBoolean(Reports.Resources.ApprovalRulesConsolidatedReport.FilterDepartmentsForBusinessUnitsDialogCheckBox, true);
// Показ диалога.
if (dialog.Show() == DialogButtons.Ok)
{
if (RegistrationSettingReport.BusinessUnit == null && businessUnit.Value != null)
RegistrationSettingReport.BusinessUnit = businessUnit.Value;
if (string.IsNullOrWhiteSpace(RegistrationSettingReport.Direction))
{
RegistrationSettingReport.DirectionLabel = documentFlow.Value;
RegistrationSettingReport.Direction = documentFlow.Value == null ? string.Empty : availableDirections[documentFlows.IndexOf(documentFlow.Value)].Value;
}
if (filterDepartmentsForBusinessUnits != null)
RegistrationSettingReport.FilterDepartmentsForBusinessUnits = filterDepartmentsForBusinessUnits.Value;
}
else
e.Cancel = true;
// Получить адрес сервиса гиперссылок.
var userHyperlink = Sungero.Domain.Client.Hyperlinks.HyperlinkExtensions.CreateHyperlink(Users.Current);
RegistrationSettingReport.HyperlinkServer = string.Format("{0}://{1}{2}", userHyperlink.Scheme, userHyperlink.Host, userHyperlink.LocalPath);
}
}
}