DeadlineExtensionAssignmentHandlers.cs
1.39 KB
using System;
using System.Collections.Generic;
using System.Linq;
using Sungero.Core;
using Sungero.CoreEntities;
using Sungero.RecordManagement.DeadlineExtensionAssignment;
namespace Sungero.RecordManagement
{
partial class DeadlineExtensionAssignmentServerHandlers
{
public override void BeforeComplete(Sungero.Workflow.Server.BeforeCompleteEventArgs e)
{
if (_obj.Result.Value == Result.ForRework)
{
// Проверить заполненность причины отказа.
if (_obj.Texts.Last().IsAutoGenerated ?? false)
e.AddError(DeadlineExtensionAssignments.Resources.RefusalReasonNotFilled);
// Добавить автотекст.
e.Result = DeadlineExtensionAssignments.Resources.Denied;
}
else
{
// Новый срок поручения должен быть больше старого.
if (_obj.NewDeadline <= _obj.ScheduledDate)
e.AddError(_obj.Info.Properties.NewDeadline, DeadlineExtensionTasks.Resources.DesiredDeadlineIsNotCorrect, new[] { _obj.Info.Properties.NewDeadline });
// Добавить автотекст.
var desiredDeadlineLabel = Functions.DeadlineExtensionTask.GetDesiredDeadlineLabel(_obj.NewDeadline.Value);
e.Result = DeadlineExtensionAssignments.Resources.DeadlineExtendedFormat(desiredDeadlineLabel);
}
}
}
}