Exemple #1
0
        public virtual bool CanChangeRequisites(Sungero.Domain.Client.CanExecuteActionArgs e)
        {
            var documentKind = _obj.DocumentKind;

            if (documentKind == null)
            {
                return(false);
            }

            var accessRights = _obj.AccessRights;
            var isNotifiable = documentKind.NumberingType == Docflow.DocumentKind.NumberingType.Registrable;
            var isNumerable  = documentKind.NumberingType == Docflow.DocumentKind.NumberingType.Numerable;
            var isRegistered = _obj.RegistrationState == RegistrationState.Registered;
            var isReserved   = _obj.RegistrationState == RegistrationState.Reserved;

            var canUnregister = isRegistered &&
                                ((isNotifiable && accessRights.CanRegister()) || isNumerable);

            bool hasReservationSetting;
            var  canUnreserve = isReserved &&
                                (accessRights.CanRegister() ||
                                 (e.Params.TryGetValue(Sungero.Docflow.Constants.OfficialDocument.HasReservationSetting, out hasReservationSetting) && hasReservationSetting));

            return(accessRights.CanUpdate() && (canUnregister || canUnreserve) && !Functions.Module.IsLockedByOther(_obj));
        }
Exemple #2
0
        public virtual bool CanCancelRegistration(Sungero.Domain.Client.CanExecuteActionArgs e)
        {
            var documentKind = _obj.DocumentKind;

            if (documentKind == null)
            {
                return(false);
            }

            var accessRights = _obj.AccessRights;
            var isNotifiable = documentKind.NumberingType == Docflow.DocumentKind.NumberingType.Registrable;
            var isNumerable  = documentKind.NumberingType == Docflow.DocumentKind.NumberingType.Numerable;
            var isRegistered = _obj.RegistrationState == RegistrationState.Registered;
            var isReserved   = _obj.RegistrationState == RegistrationState.Reserved;

            var canUnregister = isRegistered &&
                                ((isNotifiable && accessRights.CanRegister()) || isNumerable);

            bool hasReservationSetting;
            var  canUnreserve = isReserved &&
                                (accessRights.CanRegister() ||
                                 (e.Params.TryGetValue(Sungero.Docflow.Constants.OfficialDocument.HasReservationSetting, out hasReservationSetting) && hasReservationSetting));

            // Это действие используется как для отмены регистрации / нумерации, так и для отмены резервирования номера.
            return
                (accessRights.CanUpdate() &&
                 !Functions.Module.IsLockedByOther(_obj) &&
                 (canUnregister || canUnreserve));
        }
        public virtual bool CanSendViaExchangeService(Sungero.Domain.Client.CanExecuteActionArgs e)
        {
            var document = _obj.DocumentGroup.OfficialDocuments.FirstOrDefault();

            return(_obj.DocumentGroup.OfficialDocuments.Any() &&
                   Functions.ApprovalSendingAssignment.CanSendToCounterparty(document));
        }
Exemple #4
0
        public virtual bool CanAssignNumber(Sungero.Domain.Client.CanExecuteActionArgs e)
        {
            var documentKind = _obj.DocumentKind;

            if (documentKind == null)
            {
                return(false);
            }

            var  accessRights = _obj.AccessRights;
            var  isNotifiable = documentKind.NumberingType == Docflow.DocumentKind.NumberingType.Registrable;
            var  isRegistered = _obj.RegistrationState == RegistrationState.Registered;
            var  isReserved   = _obj.RegistrationState == RegistrationState.Reserved;
            var  isNumerable  = documentKind.NumberingType == Docflow.DocumentKind.NumberingType.Numerable;
            bool hasReservationSetting;
            var  canReserveNumber = accessRights.CanRegister() ||
                                    (e.Params.TryGetValue(Sungero.Docflow.Constants.OfficialDocument.HasReservationSetting, out hasReservationSetting) && hasReservationSetting);

            return(accessRights.CanUpdate() && !Functions.Module.IsLockedByOther(_obj) &&
                   ((isNumerable && !isRegistered) ||
                    (documentKind.DocumentFlow != Docflow.DocumentKind.DocumentFlow.Incoming &&
                     !isRegistered &&
                     !isReserved &&
                     isNotifiable &&
                     canReserveNumber)));
        }
Exemple #5
0
        public virtual bool CanSendForReview(Sungero.Domain.Client.CanExecuteActionArgs e)
        {
            var attachments   = _obj.AllAttachments.Select(a => Content.ElectronicDocuments.As(a)).Distinct().ToList();
            var documentsList = Docflow.PublicFunctions.OfficialDocument.GetSuitableDocuments(attachments, Docflow.OfficialDocuments.Info.Actions.SendForReview);

            return(documentsList.Any());
        }
Exemple #6
0
        public virtual bool CanCreateCoverLetter(Sungero.Domain.Client.CanExecuteActionArgs e)
        {
            var document = _obj.DocumentGroup.OfficialDocuments.FirstOrDefault();

            return(_obj.Status == Workflow.Task.Status.InProcess &&
                   _obj.DocumentGroup.OfficialDocuments.Any() &&
                   Functions.ApprovalTask.EnableCreateCoverLetter(document));
        }
Exemple #7
0
        public virtual bool CanOpenLogonUrl(Sungero.Domain.Client.CanExecuteActionArgs e)
        {
            if (_obj.ExchangeService == null)
            {
                return(false);
            }

            return(Functions.Module.CanGoToWebsite(_obj.ExchangeService.LogonUrl));
        }
Exemple #8
0
        public virtual bool CanExportFinancialDocument(Sungero.Domain.Client.CanExecuteActionArgs e)
        {
            if (e.FormType == Sungero.Domain.Shared.FormType.Collection)
            {
                return(true);
            }

            return(_objs.Any() && _objs.All(d => !d.State.IsChanged));
        }
Exemple #9
0
        public virtual bool CanRegister(Sungero.Domain.Client.CanExecuteActionArgs e)
        {
            var documentKind = _obj.DocumentKind;

            if (documentKind == null)
            {
                return(false);
            }

            var accessRights = _obj.AccessRights;
            var isNotifiable = documentKind.NumberingType == Docflow.DocumentKind.NumberingType.Registrable;

            return
                (accessRights.CanUpdate() &&
                 _obj.RegistrationState != RegistrationState.Registered &&
                 (isNotifiable && accessRights.CanRegister()) &&
                 !Functions.Module.IsLockedByOther(_obj));
        }
Exemple #10
0
        public virtual bool CanDeleteDocuments(Sungero.Domain.Client.CanExecuteActionArgs e)
        {
            if (ClientApplication.ApplicationType != ApplicationType.Web)
            {
                return(false);
            }

            if (_obj.Status != Sungero.Workflow.AssignmentBase.Status.InProcess)
            {
                return(false);
            }

            if (e.Params.Contains(Sungero.SmartProcessing.PublicConstants.VerificationAssignment.CanDeleteParamName))
            {
                bool canDelete;
                if (!(e.Params.TryGetValue(Sungero.SmartProcessing.PublicConstants.VerificationAssignment.CanDeleteParamName, out canDelete) && canDelete))
                {
                    return(false);
                }
            }

            return(_obj.AllAttachments.Any(a => Content.ElectronicDocuments.Is(a)));
        }
Exemple #11
0
 public static bool CanFollowUpExecution(Sungero.Domain.Client.CanExecuteActionArgs e)
 {
     return(Reports.GetActionItemsExecutionReport().CanExecute());
 }
Exemple #12
0
 public override bool CanAbort(Sungero.Domain.Client.CanExecuteActionArgs e)
 {
     return(_obj.AccessRights.CanUpdate() && base.CanAbort(e) && _obj.IsDraftResolution != true);
 }
Exemple #13
0
 public override bool CanStart(Sungero.Domain.Client.CanExecuteActionArgs e)
 {
     return(_obj.IsDraftResolution == true ? false : base.CanStart(e));
 }
 public override bool CanSign(Sungero.Domain.Client.CanExecuteActionArgs e)
 {
     return(false);
 }
Exemple #15
0
 public virtual bool CanOpenCertificatesList(Sungero.Domain.Client.CanExecuteActionArgs e)
 {
     return(true);
 }
Exemple #16
0
 public override bool CanCopyEntity(Sungero.Domain.Client.CanExecuteActionArgs e)
 {
     return(base.CanCopyEntity(e) && _obj.IsDraftResolution != true);
 }
Exemple #17
0
 public override bool CanRestart(Sungero.Domain.Client.CanExecuteActionArgs e)
 {
     return(base.CanRestart(e));
 }
 public override bool CanSendForApproval(Sungero.Domain.Client.CanExecuteActionArgs e)
 {
     return(false);
 }
 public override bool CanCancelRegistration(Sungero.Domain.Client.CanExecuteActionArgs e)
 {
     return(false);
 }
 public override bool CanDeliverDocument(Sungero.Domain.Client.CanExecuteActionArgs e)
 {
     return(false);
 }
 public override bool CanReturnFromCounterparty(Sungero.Domain.Client.CanExecuteActionArgs e)
 {
     return(false);
 }
 public static bool CanShowDocumentReturn(Sungero.Domain.Client.CanExecuteActionArgs e)
 {
     return(false);
 }
 public override bool CanAddToFavoritesFolder(Sungero.Domain.Client.CanExecuteActionArgs e)
 {
     return(false);
 }
Exemple #24
0
 public virtual bool CanRequireReport(Sungero.Domain.Client.CanExecuteActionArgs e)
 {
     return(_obj.Status == Workflow.Task.Status.InProcess &&
            _obj.ExecutionState != RecordManagement.ActionItemExecutionTask.ExecutionState.Executed &&
            _obj.AccessRights.CanUpdate());
 }
Exemple #25
0
 public virtual bool CanChangeCompoundMode(Sungero.Domain.Client.CanExecuteActionArgs e)
 {
     return(_obj.Status == Workflow.Task.Status.Draft);
 }
 public override bool CanCreateFromFile(Sungero.Domain.Client.CanExecuteActionArgs e)
 {
     return(false);
 }
Exemple #27
0
 public virtual bool CanAddPerformer(Sungero.Domain.Client.CanExecuteActionArgs e)
 {
     return(_obj.IsCompoundActionItem == true && _obj.Status == Workflow.Task.Status.Draft);
 }
 public override bool CanCreateVersionFromLastVersion(Sungero.Domain.Client.CanExecuteActionArgs e)
 {
     return(false);
 }
 public override bool CanChangeRequisites(Sungero.Domain.Client.CanExecuteActionArgs e)
 {
     return(false);
 }
 public override bool CanImportInNewVersion(Sungero.Domain.Client.CanExecuteActionArgs e)
 {
     return(false);
 }