CaseInventoryHandlers.cs 1.13 KB
using System;
using System.Collections.Generic;
using System.Linq;
using Sungero.Core;
using Sungero.CoreEntities;
using DirRX.CaseArchiving.CaseInventory;

namespace DirRX.CaseArchiving
{
  partial class CaseInventorySharedHandlers
  {

    public override void InternalApprovalStateChanged(Sungero.Domain.Shared.EnumerationPropertyChangedEventArgs e)
    {
      base.InternalApprovalStateChanged(e);
      
      // Изменить состояние описи в зависимости от жизненного цикла подписания.
      if (e.NewValue == InternalApprovalState.OnApproval && _obj.ArchiveState == ArchiveState.Checking && _obj.VerificationState == VerificationState.Completed)
        _obj.ArchiveState = ArchiveState.OnApproval;
      else if (e.NewValue == InternalApprovalState.PendingSign && (_obj.ArchiveState == ArchiveState.OnApproval || _obj.ArchiveState == ArchiveState.Checking))
        _obj.ArchiveState = ArchiveState.Signing;
      else if (e.NewValue == InternalApprovalState.Signed && _obj.ArchiveState == ArchiveState.Signing)
        _obj.ArchiveState = ArchiveState.Approved;
    }

  }
}