ArchiveEventLogActions.cs
3.13 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
using System;
using System.Collections.Generic;
using System.Linq;
using Sungero.Core;
using Sungero.CoreEntities;
using DirRX.Storage.ArchiveEventLog;
namespace DirRX.Storage.Client
{
partial class ArchiveEventLogCollectionActions
{
public virtual bool CanResetErrorStatus(Sungero.Domain.Client.CanExecuteActionArgs e)
{
return _objs.Any(x => x.CurrentState == CurrentState.Error);
}
public virtual void ResetErrorStatus(Sungero.Domain.Client.ExecuteActionArgs e)
{
foreach (var item in _objs)
Functions.ArchiveEventLog.Remote.ResetErrorStatus(item);
}
}
partial class ArchiveEventLogActions
{
public virtual void ExportContainer(Sungero.Domain.Client.ExecuteActionArgs e)
{
var error = string.Empty;
try
{
var zip = PublicFunctions.ArchiveEventLog.Remote.ExportContainer(_obj);
if (zip != null)
zip.Export();
else
error = Storage.ArchiveDocumentBases.Resources.ErrorDataNotFound;
}
catch (Exception ex)
{
var exception = ex.InnerException != null ? ex.InnerException : ex;
error = exception.Message;
Logger.Debug(exception.ToString());
}
if (error != string.Empty)
e.AddError(Storage.ArchiveDocumentBases.Resources.ErrorMessageTemplateFormat(error));
else
PublicFunctions.ArchiveEventLog.AddEventHistory(_obj, "Экспорт контейнера", _obj.CurrentState.Value, "Выгрузка из Журнала поступления и выбытия");
}
public virtual bool CanExportContainer(Sungero.Domain.Client.CanExecuteActionArgs e)
{
return _obj.DocumentId.HasValue && _obj.DocumentId.Value > 0 && _obj.DestructionAct == null;
}
public virtual void VerifyContainer(Sungero.Domain.Client.ExecuteActionArgs e)
{
if (_obj.CurrentState == Storage.ArchiveEventLog.CurrentState.Destroyed)
{
Dialogs.NotifyMessage(DirRX.Storage.ArchiveEventLogs.Resources.MessageDocumentAlreadyDestroyed);
return;
}
_obj.VerificationResponsible = PublicFunctions.Module.Remote.GetEmployeeForCurentUser();
_obj.VerificationReason = ArchiveEventLogs.Resources.UnscheduledVerificationReason;
_obj.JobStartDate = Calendar.Now;
_obj.JobEndDate = null;
_obj.VerificationResult = null;
var note = Storage.ArchiveEventLogs.Resources.VerificationInitiatedByUserFormat(
Users.Current != null && Users.Current.IsSystem != true ? Users.Current.DisplayValue : Storage.ArchiveEventLogs.Resources.VerificationSystemUser,
_obj.VerificationReason);
Storage.PublicFunctions.ArchiveEventLog.AddEventHistory(_obj, Storage.ArchiveEventLogs.Resources.Operation_Verification,
DirRX.Storage.ArchiveEventLog.CurrentState.InQueue, note);
PublicFunctions.ArchiveEventLog.Remote.VerifyContainer(_obj);
Dialogs.NotifyMessage(ArchiveEventLogs.Resources.MessageVerificationCompleted);
}
public virtual bool CanVerifyContainer(Sungero.Domain.Client.CanExecuteActionArgs e)
{
return true;
}
}
}