public virtual void Forward(Sungero.Workflow.Client.ExecuteResultActionArgs e) { if (!e.Validate()) { return; } if (_obj.Addressee == null) { e.AddError(FreeApprovalTasks.Resources.CantRedirectWithoutAddressee); e.Cancel(); } if (_obj.Addressee == _obj.Performer) { e.AddError(FreeApprovalAssignments.Resources.ApproverAlreadyExistsFormat(_obj.Addressee.Person.ShortName)); e.Cancel(); } if (!Functions.Module.ShowDialogGrantAccessRightsWithConfirmationDialog(_obj, _obj.OtherGroup.All.ToList(), new List <IRecipient> { _obj.Addressee }, e.Action, Constants.FreeApprovalTask.FreeApprovalAssignmentConfirmDialogID.Forward)) { e.Cancel(); } }
/// <summary> /// Установка ЭП. /// </summary> /// <param name="e">Параметр действия.</param> /// <param name="comment">Комментарий.</param> public void SetSignature(Sungero.Workflow.Client.ExecuteResultActionArgs e, string comment) { // Не подписывать, если это внесение результата рассмотрения. if (_obj.IsResultSubmission == true) { return; } var needStrongSign = _obj.Stage.NeedStrongSign ?? false; var document = _obj.DocumentGroup.OfficialDocuments.FirstOrDefault(); var addenda = _obj.AddendaGroup.OfficialDocuments.ToList(); var addendaToElectronic = _obj.AddendaGroup.OfficialDocuments.ToList <Sungero.Content.IElectronicDocument>(); var performer = Company.Employees.As(_obj.Performer); var signatories = Functions.OfficialDocument.Remote.GetSignatories(document); var currentEmployee = Company.Employees.Current; // Подписать утверждающей подписью, если нет прав, то согласующей. if (document.AccessRights.CanApprove() && signatories.Any(s => currentEmployee != null && Equals(s.EmployeeId, currentEmployee.Id))) { // Для утверждения необходимо, чтобы документ не был заблокирован. var lockInfo = Functions.OfficialDocument.GetDocumentLockInfo(document); if (lockInfo != null && lockInfo.IsLocked) { e.AddError(Sungero.Docflow.ApprovalReviewAssignments.Resources.CanNotSetSignatureFormat(lockInfo.OwnerName, lockInfo.LockTime)); return; } Functions.Module.ApproveDocument(document, addenda, performer, needStrongSign, comment, e); } else { Functions.Module.EndorseDocument(document, addendaToElectronic, performer, true, needStrongSign, comment, e); } }
public virtual void Complete(Sungero.Workflow.Client.ExecuteResultActionArgs e) { if (!Functions.ApprovalTask.Remote.HasDocumentAndCanRead(ApprovalTasks.As(_obj.Task))) { e.AddError(ApprovalTasks.Resources.NoRightsToDocument); return; } // Проверить зарегистрированность документа, если схлопнуто с этапом регистрации. if (_obj.CollapsedStagesTypesExe.Any(s => s.StageType == Docflow.ApprovalStage.StageType.Register)) { var registrationState = _obj.DocumentGroup.OfficialDocuments.First().RegistrationState; if (registrationState == null || registrationState != Docflow.OfficialDocument.RegistrationState.Registered) { e.AddError(ApprovalTasks.Resources.ToPerformNeedRegisterDocument); return; } } var confirmationAccepted = Functions.Module.ShowConfirmationDialogCreationActionItem(_obj, _obj.DocumentGroup.OfficialDocuments.FirstOrDefault(), e); var sendDialog = Functions.Module.ShowConfirmationDialogSendToCounterparty(_obj, _obj.CollapsedStagesTypesExe.Select(x => x.StageType), e); if (Docflow.PublicFunctions.Module.ShowDialogGrantAccessRightsWithConfirmationDialog(_obj, _obj.OtherGroup.All.ToList(), (confirmationAccepted || sendDialog) ? null : e.Action, Constants.ApprovalTask.ApprovalExecutionAssignmentConfirmDialogID.Complete) == false) { e.Cancel(); } }
public virtual void Execute(Sungero.Workflow.Client.ExecuteResultActionArgs e) { if (!Functions.ApprovalTask.Remote.HasDocumentAndCanRead(ApprovalTasks.As(_obj.Task))) { e.AddError(ApprovalTasks.Resources.NoRightsToDocument); return; } // Проверить зарегистрированность документа. var document = _obj.DocumentGroup.OfficialDocuments.First(); var registrationState = document.RegistrationState; if (registrationState == null || (Enumeration)registrationState != OfficialDocument.RegistrationState.Registered) { e.AddError(ApprovalTasks.Resources.ToPerformNeedRegisterDocument); return; } var sendDialog = Functions.Module.ShowConfirmationDialogSendToCounterparty(_obj, _obj.CollapsedStagesTypesReg.Select(x => x.StageType), e); if (!Functions.Module.ShowDialogGrantAccessRightsWithConfirmationDialog(_obj, _obj.OtherGroup.All.ToList(), sendDialog ? null : e.Action, Constants.ApprovalTask.ApprovalRegistrationAssignmentConfirmDialogID.Execute)) { e.Cancel(); } }
public virtual void Complete(Sungero.Workflow.Client.ExecuteResultActionArgs e) { if (!Functions.Module.ShowDialogGrantAccessRightsWithConfirmationDialog(_obj, _obj.OtherGroup.All.ToList(), e.Action, Constants.FreeApprovalTask.FinishConfirmDialogID)) { e.Cancel(); } }
public virtual void Agree(Sungero.Workflow.Client.ExecuteResultActionArgs e) { if (!Docflow.PublicFunctions.Module.ShowDialogGrantAccessRightsWithConfirmationDialog(_obj, _obj.OtherGroup.All.ToList(), e.Action, Constants.ActionItemExecutionTask.ActionItemSupervisorAssignmentConfirmDialogID.Agree)) { e.Cancel(); } }
/// <summary> /// Диалог подтверждения старта поручений из проекта резолюции. /// </summary> /// <param name="e">Аргументы.</param> /// <returns>True, если диалог был, иначе false.</returns> public bool ShowConfirmationDialogStartDraftResolution(Sungero.Workflow.Client.ExecuteResultActionArgs e) { var dialogText = PreparingDraftResolutionAssignments.Resources.ExecuteAndStartDraftResolution; var dialogTextDescription = PreparingDraftResolutionAssignments.Resources.ExecuteAndStartDraftResolutionDescription; var dialogID = Constants.DocumentReviewTask.PreparingDraftResolutionAssignmentConfirmDialogID.AddAssignment; return(Docflow.PublicFunctions.Module.ShowConfirmationDialog(dialogText, dialogTextDescription, null, dialogID)); }
/// <summary> /// Диалог подтверждения отправки документа на рассмотрение. /// </summary> /// <param name="e">Аргументы.</param> /// <returns>True, если диалог был, иначе false.</returns> public bool ShowConfirmationDialogSendForReview(Sungero.Workflow.Client.ExecuteResultActionArgs e) { var actionItemsExist = _obj.ResolutionGroup.All.Count != 0; var dialogText = actionItemsExist ? PreparingDraftResolutionAssignments.Resources.SendForReviewWithResolution : PreparingDraftResolutionAssignments.Resources.SendForReviewWithoutResolution; var dialogID = Constants.DocumentReviewTask.PreparingDraftResolutionAssignmentConfirmDialogID.SendForReview; return(Docflow.PublicFunctions.Module.ShowConfirmationDialog(dialogText, null, null, dialogID)); }
public virtual void Accept(Sungero.Workflow.Client.ExecuteResultActionArgs e) { if (!Docflow.PublicFunctions.Module.ShowDialogGrantAccessRightsWithConfirmationDialog(_obj, _obj.OtherGroup.All.ToList(), e.Action)) { e.Cancel(); } }
public virtual void Accept(Sungero.Workflow.Client.ExecuteResultActionArgs e) { if (!Docflow.PublicFunctions.Module.ShowDialogGrantAccessRightsWithConfirmationDialog(_obj, _obj.OtherGroup.All.ToList(), e.Action, Constants.StatusReportRequestTask.ReportRequestCheckAssignmentConfirmDialogID.Accept)) { e.Cancel(); } }
/// <summary> /// Проверить просроченные поручения, вывести ошибку в случае просрочки. /// </summary> /// <param name="e">Аргументы события.</param> public virtual void CheckOverdueActionItemExecutionTasks(Sungero.Workflow.Client.ExecuteResultActionArgs e) { var overdueTasks = Functions.DocumentReviewTask.GetDraftOverdueActionItemExecutionTasks(_obj); if (overdueTasks.Any()) { e.AddError(RecordManagement.Resources.ImpossibleSpecifyDeadlineLessThanTodayCorrectIt); e.Cancel(); } }
public virtual void AddAssignment(Sungero.Workflow.Client.ExecuteResultActionArgs e) { var confirmationAccepted = Functions.Module.ShowConfirmationDialogCreationActionItem(_obj, _obj.DocumentForReviewGroup.OfficialDocuments.FirstOrDefault(), e); if (!Docflow.PublicFunctions.Module.ShowDialogGrantAccessRightsWithConfirmationDialog(_obj, _obj.OtherGroup.All.ToList(), confirmationAccepted ? null : e.Action, Constants.DocumentReviewTask.ReviewResolutionAssignmentConfirmDialogID)) { e.Cancel(); } }
public virtual void Abort(Sungero.Workflow.Client.ExecuteResultActionArgs e) { if (!Functions.Module.HasCurrentUserExchangeServiceCertificate(_obj.BusinessUnitBox)) { e.AddError(Resources.RejectCertificateNotFoundReadressToResponsible); return; } if (string.IsNullOrEmpty(_obj.ActiveText)) { e.AddError(ExchangeDocumentProcessingAssignments.Resources.NeedCommentToAbort); return; } else if (_obj.ActiveText.Length > 1000) { e.AddError(ExchangeDocumentProcessingAssignments.Resources.TextOverlong); return; } if (!Sungero.Docflow.PublicFunctions.Module.ShowConfirmationDialog(e.Action.ConfirmationMessage, null, null, Constants.ExchangeDocumentProcessingTask.ExchangeDocumentProcessingAssignmentConfirmDialogID.Abort)) { e.Cancel(); return; } var certificate = Functions.Module.GetCurrentUserExchangeCertificate(_obj.Box, Company.Employees.Current); if (!Functions.ExchangeDocumentProcessingAssignment.SendDeliveryConfirmation(_obj, certificate)) { e.Cancel(); return; } var documents = _obj.AllAttachments.Select(d => Docflow.OfficialDocuments.As(d)).Where(d => d != null).ToList(); var error = Exchange.PublicFunctions.Module.SendAmendmentRequest(documents, _obj.Counterparty, _obj.ActiveText, false, _obj.Box, certificate, false); if (!string.IsNullOrWhiteSpace(error)) { if (error == Resources.CertificateNotFound) { e.AddError(Resources.RejectCertificateNotFoundReadressToResponsible); } else if (error == Resources.AllAnswersIsAlreadySent) { e.AddError(error); } else { e.AddError(Resources.CannotSendAmendmentNotice); } } }
public virtual void ConfirmSign(Sungero.Workflow.Client.ExecuteResultActionArgs e) { if (!Functions.ApprovalTask.Remote.HasDocumentAndCanRead(ApprovalTasks.As(_obj.Task))) { e.AddError(ApprovalTasks.Resources.NoRightsToDocument); return; } // Проверить зарегистрированность документа, если схлопнуто с этапом регистрации. if (_obj.CollapsedStagesTypesSig.Any(s => s.StageType == Docflow.ApprovalStage.StageType.Register)) { var registrationState = _obj.DocumentGroup.OfficialDocuments.First().RegistrationState; if (registrationState == null || registrationState != Docflow.OfficialDocument.RegistrationState.Registered) { e.AddError(ApprovalTasks.Resources.ToPerformNeedRegisterDocument); return; } } // Запросить подтверждение "не создания" поручений, если схлопнуто с созданием поручений. var confirmationAccepted = false; if (_obj.CollapsedStagesTypesSig.Any(s => s.StageType == Docflow.ApprovalStage.StageType.Execution)) { confirmationAccepted = Functions.Module.ShowConfirmationDialogCreationActionItem(_obj, _obj.DocumentGroup.OfficialDocuments.FirstOrDefault(), e); } confirmationAccepted = confirmationAccepted || Functions.Module.ShowConfirmationDialogSendToCounterparty(_obj, _obj.CollapsedStagesTypesSig.Select(x => x.StageType), e); var accessRightsGranted = Functions.Module.ShowDialogGrantAccessRights(_obj, _obj.OtherGroup.All.ToList()); if (accessRightsGranted == false) { e.Cancel(); } var document = _obj.DocumentGroup.OfficialDocuments.First(); if (!confirmationAccepted && accessRightsGranted == null && !Functions.ApprovalTask.ConfirmCompleteAssignment(document, e.Action.ConfirmationMessage, Constants.ApprovalTask.ApprovalSigningAssignmentConfirmDialogID.ConfirmSign, true)) { e.Cancel(); } var task = ApprovalTasks.As(_obj.Task); // TODO Котегов: запилить в одну функцию, чтобы уменьшить число запросов. // Заполнить статус согласования "Подписан". Functions.OfficialDocument.Remote.SetInternalApprovalStateToSigned(document); // Заполнить подписывающего в карточке документа. Functions.OfficialDocument.Remote.SetDocumentSignatory(document, task.Signatory); }
public virtual void Accept(Sungero.Workflow.Client.ExecuteResultActionArgs e) { if (!Functions.ApprovalTask.Remote.HasDocumentAndCanRead(ApprovalTasks.As(_obj.Task))) { e.AddError(ApprovalTasks.Resources.NoRightsToDocument); return; } if (!Docflow.PublicFunctions.Module.ShowDialogGrantAccessRightsWithConfirmationDialog(_obj, _obj.OtherGroup.All.ToList(), e.Action, Constants.ApprovalTask.ApprovalCheckingAssignmentConfirmDialogID.Accept)) { e.Cancel(); } }
public virtual void Reworked(Sungero.Workflow.Client.ExecuteResultActionArgs e) { var assignees = _obj.Approvers.Where(a => a.Approver != null).Select(a => Recipients.As(a.Approver)).ToList(); if (!Functions.Module.ShowDialogGrantAccessRightsWithConfirmationDialog(_obj, _obj.OtherGroup.All.ToList(), assignees, e.Action, Constants.FreeApprovalTask.ReworkAssignmentConfirmDialogID.Reworked)) { e.Cancel(); } }
public virtual void ForRework(Sungero.Workflow.Client.ExecuteResultActionArgs e) { if (!Functions.DeadlineRejectionAssignment.ValidateDeadlineRejectionAssignment(_obj, e)) { return; } if (!Docflow.PublicFunctions.Module.ShowConfirmationDialog(e.Action.ConfirmationMessage, null, null, Constants.DeadlineExtensionTask.DeadlineRejectionAssignmentConfirmDialogID)) { e.Cancel(); } }
public virtual void AddResolution(Sungero.Workflow.Client.ExecuteResultActionArgs e) { if (!Functions.ApprovalTask.Remote.HasDocumentAndCanRead(ApprovalTasks.As(_obj.Task))) { e.AddError(ApprovalTasks.Resources.NoRightsToDocument); return; } var haveError = false; if (string.IsNullOrWhiteSpace(_obj.ActiveText)) { e.AddError(ApprovalReviewAssignments.Resources.ResolutionTextNeeded); haveError = true; } // Проверить зарегистрированность документа, если схлопнуто с этапом регистрации. if (_obj.CollapsedStagesTypesRe.Any(s => s.StageType == Docflow.ApprovalStage.StageType.Register)) { var registrationState = _obj.DocumentGroup.OfficialDocuments.First().RegistrationState; if (registrationState == null || registrationState != Docflow.OfficialDocument.RegistrationState.Registered) { e.AddError(ApprovalTasks.Resources.ToPerformNeedRegisterDocument); haveError = true; } } var document = _obj.DocumentGroup.OfficialDocuments.First(); var needStrongSign = _obj.Stage.NeedStrongSign ?? false; if (document.HasVersions && needStrongSign && !PublicFunctions.Module.Remote.GetCertificates(document).Any()) { e.AddError(ApprovalReviewAssignments.Resources.CertificateNeeded); haveError = true; } if (haveError) { return; } var sendDialog = Functions.Module.ShowConfirmationDialogSendToCounterparty(_obj, _obj.CollapsedStagesTypesRe.Select(x => x.StageType), e); if (!Functions.Module.ShowDialogGrantAccessRightsWithConfirmationDialog(_obj, _obj.OtherGroup.All.ToList(), sendDialog ? null : e.Action, Constants.ApprovalTask.ApprovalReviewAssignmentConfirmDialogID.AddResolution)) { e.Cancel(); } // Подписать ЭП. Functions.ApprovalReviewAssignment.SetSignature(_obj, e, ApprovalReviewAssignments.Resources.ResolutionAdded); }
public virtual void Forward(Sungero.Workflow.Client.ExecuteResultActionArgs e) { if (!e.Validate()) { return; } if (!Functions.ApprovalTask.Remote.HasDocumentAndCanRead(ApprovalTasks.As(_obj.Task))) { e.AddError(ApprovalTasks.Resources.NoRightsToDocument); return; } if (_obj.ForwardPerformer == null) { e.AddError(ApprovalReworkAssignments.Resources.CantRedirectWithoutForwardPerformer); e.Cancel(); } var document = _obj.DocumentGroup.OfficialDocuments.FirstOrDefault(); var stages = Functions.ApprovalTask.Remote.GetStages(ApprovalTasks.As(_obj.Task)); var hasSignStage = Functions.ApprovalRuleBase.HasApprovalStage(_obj.ApprovalRule, Docflow.ApprovalStage.StageType.Sign, document, stages.Stages); // Проверить, имеет ли право подписывающий на подпись. if (hasSignStage && !Functions.ApprovalTask.Remote.CheckSignatory(ApprovalTasks.As(_obj.Task), _obj.Signatory, stages.Stages)) { e.AddError(ApprovalTasks.Resources.IncorrectSignatory); return; } var giveRights = Functions.Module.ShowDialogGrantAccessRights(_obj, _obj.OtherGroup.All.ToList(), new List <IRecipient>() { _obj.ForwardPerformer }); // Замена стандартного диалога подтверждения выполнения действия. if (giveRights == null) { if (!Functions.Module.ShowConfirmationDialog(e.Action.ConfirmationMessage, e.Action.ConfirmationDescription, null, Constants.ApprovalTask.ApprovalReworkAssignmentConfirmDialogID.Forward)) { e.Cancel(); } } else if (giveRights == false) { e.Cancel(); } }
public virtual void AddResolution(Sungero.Workflow.Client.ExecuteResultActionArgs e) { // Проверить заполненность текста резолюции при выполнении задания с результатом "Вынести резолюцию". if (string.IsNullOrWhiteSpace(_obj.ActiveText)) { e.AddError(ReviewManagerAssignments.Resources.ResolutionTextNeeded); return; } if (!Docflow.PublicFunctions.Module.ShowDialogGrantAccessRightsWithConfirmationDialog(_obj, _obj.OtherGroup.All.ToList(), e.Action, Constants.DocumentReviewTask.ReviewManagerAssignmentConfirmDialogID.AddResolution)) { e.Cancel(); } }
public virtual void Approved(Sungero.Workflow.Client.ExecuteResultActionArgs e) { if (!e.Validate()) { return; } if (!Functions.ApprovalTask.Remote.HasDocumentAndCanRead(ApprovalTasks.As(_obj.Task))) { e.AddError(ApprovalTasks.Resources.NoRightsToDocument); return; } var document = _obj.DocumentGroup.OfficialDocuments.First(); var needStrongSign = _obj.Stage.NeedStrongSign ?? false; if (document.HasVersions && needStrongSign && !PublicFunctions.Module.Remote.GetCertificates(document).Any()) { e.AddError(ApprovalTasks.Resources.CertificateNeeded); e.Cancel(); } var assignees = new List <IRecipient>(); if (_obj.Signatory != null) { assignees.Add(_obj.Signatory); } assignees.AddRange(_obj.AddApprovers.Where(a => a.Approver != null).Select(a => a.Approver)); var accessRightsGranted = Functions.Module.ShowDialogGrantAccessRights(_obj, _obj.OtherGroup.All.ToList(), assignees); if (accessRightsGranted == false) { e.Cancel(); } var confirmationMessage = e.Action.ConfirmationMessage; if (_obj.AddendaGroup.OfficialDocuments.Any()) { confirmationMessage = Docflow.ApprovalAssignments.Resources.ApprovalConfirmationMessage; } if (accessRightsGranted == null && !Functions.ApprovalTask.ConfirmCompleteAssignment(document, confirmationMessage, Constants.ApprovalTask.ApprovalManagerAssignmentConfirmDialogID.Approved, false)) { e.Cancel(); } Functions.Module.EndorseDocument(_obj, true, needStrongSign, e); }
/// <summary> /// Показать диалог выбора исполнителя доработки с запросом выдачи прав на вложения. /// </summary> /// <param name="assignment">Задание.</param> /// <param name="attachments">Вложения.</param> /// <param name="additionalAssignees">Дополнительные согласующие.</param> /// <param name="reworkPerformer">Ответственный за доработку.</param> /// <param name="e">Аргументы.</param> /// <param name="dialogId">Ид диалога.</param> public virtual void ShowReworkConfirmationDialog(IAssignmentBase assignment, List <Domain.Shared.IEntity> attachments, List <IRecipient> additionalAssignees, Sungero.Company.IEmployee reworkPerformer, Sungero.Workflow.Client.ExecuteResultActionArgs e, string dialogId) { if (reworkPerformer != null) { additionalAssignees.Add(reworkPerformer); } // Диалог выдачи прав (отображается, если нет прав на вложения). if (Functions.Module.ShowDialogGrantAccessRightsWithConfirmationDialog(_obj, attachments, additionalAssignees, e.Action, dialogId) == false) { e.Cancel(); } }
public virtual void ForRework(Sungero.Workflow.Client.ExecuteResultActionArgs e) { if (string.IsNullOrWhiteSpace(_obj.ActiveText)) { e.AddError(StatusReportRequestTasks.Resources.ReportCommentNotFilled); return; } if (!Docflow.PublicFunctions.Module.ShowDialogGrantAccessRightsWithConfirmationDialog(_obj, _obj.OtherGroup.All.ToList(), e.Action, Constants.StatusReportRequestTask.ReportRequestCheckAssignmentConfirmDialogID.ForRework)) { e.Cancel(); } }
public virtual void ForRework(Sungero.Workflow.Client.ExecuteResultActionArgs e) { // Проверить заполненность причины отказа. if (string.IsNullOrWhiteSpace(_obj.ActiveText)) { e.AddError(DeadlineExtensionAssignments.Resources.RefusalReasonNotFilled); return; } // Замена стандартного диалога подтверждения выполнения действия. if (!Docflow.PublicFunctions.Module.ShowConfirmationDialog(e.Action.ConfirmationMessage, null, null, Constants.DeadlineExtensionTask.DeadlineExtensionAssignmentConfirmDialogID.ForRework)) { e.Cancel(); } }
public virtual void Complete(Sungero.Workflow.Client.ExecuteResultActionArgs e) { if (!Functions.ApprovalTask.Remote.HasDocumentAndCanRead(ApprovalTasks.As(_obj.Task))) { e.AddError(ApprovalTasks.Resources.NoRightsToDocument); return; } var sendDialog = Functions.Module.ShowConfirmationDialogSendToCounterparty(_obj, _obj.CollapsedStagesTypesSen.Select(x => x.StageType), e); if (!Docflow.PublicFunctions.Module.ShowDialogGrantAccessRightsWithConfirmationDialog(_obj, _obj.OtherGroup.All.ToList(), sendDialog ? null : e.Action, Constants.ApprovalTask.ApprovalSendingAssignmentConfirmDialogID.Complete)) { e.Cancel(); } }
public virtual void Approved(Sungero.Workflow.Client.ExecuteResultActionArgs e) { var accessRightsGranted = Functions.Module.ShowDialogGrantAccessRights(_obj, _obj.OtherGroup.All.ToList()); if (accessRightsGranted == false) { e.Cancel(); } if (accessRightsGranted == null && !Functions.FreeApprovalAssignment.ConfirmCompleteAssignment(_obj, e.Action)) { e.Cancel(); } // Подписание согласующей подписью с результатом "согласовано". Functions.Module.EndorseDocument(_obj, true, false, e); }
public virtual void Forward(Sungero.Workflow.Client.ExecuteResultActionArgs e) { if (_obj.Addressee == null) { e.AddError(DocumentReviewTasks.Resources.CantRedirectWithoutAddressee); e.Cancel(); } // Подтверждение удаления проекта резолюции. var hasActionItems = _obj.ResolutionGroup.ActionItemExecutionTasks.Any(); var dropDialogId = Constants.DocumentReviewTask.ReviewDraftResolutionAssignmentConfirmDialogID.ForwardWithDrop; if (hasActionItems) { var dropIsConfirmed = Docflow.PublicFunctions.Module.ShowConfirmationDialog(e.Action.ConfirmationMessage, Resources.ConfirmDeleteDraftResolutionAssignment, null, dropDialogId); if (!dropIsConfirmed) { e.Cancel(); } } // Запрос прав на группу "Дополнительно". var grandRightDialogResult = Docflow.PublicFunctions.Module .ShowDialogGrantAccessRights(_obj, _obj.OtherGroup.All.ToList(), new List <IRecipient>() { _obj.Addressee }); if (grandRightDialogResult == false) { e.Cancel(); } // Подтверждение выполнения действия. var dialogId = Constants.DocumentReviewTask.ReviewDraftResolutionAssignmentConfirmDialogID.Forward; if (!hasActionItems && grandRightDialogResult == null && !Docflow.PublicFunctions.Module.ShowConfirmationDialog(e.Action.ConfirmationMessage, null, null, dialogId)) { e.Cancel(); } _obj.NeedDeleteActionItems = hasActionItems; }
public virtual void Forward(Sungero.Workflow.Client.ExecuteResultActionArgs e) { if (_obj.Addressee == null) { e.AddError(DocumentReviewTasks.Resources.CantRedirectWithoutAddressee); e.Cancel(); } // В качестве проектов резолюции нельзя отправить поручения-непроекты. if (_obj.ResolutionGroup.ActionItemExecutionTasks.Any(a => a.IsDraftResolution != true)) { e.AddError(DocumentReviewTasks.Resources.FindNotDraftResolution); e.Cancel(); } var hasActionItems = _obj.ResolutionGroup.ActionItemExecutionTasks.Any(); if (hasActionItems) { var dropDialogId = Constants.DocumentReviewTask.PreparingDraftResolutionAssignmentConfirmDialogID.ForwardWithDeletingDraftResolutions; var dropIsConfirmed = Docflow.PublicFunctions.Module.ShowConfirmationDialog(e.Action.ConfirmationMessage, Resources.ConfirmDeleteDraftResolutionAssignment, null, dropDialogId); if (!dropIsConfirmed) { e.Cancel(); } } var confirmDialogId = Constants.DocumentReviewTask.PreparingDraftResolutionAssignmentConfirmDialogID.Forward; if (!Docflow.PublicFunctions.Module.ShowDialogGrantAccessRightsWithConfirmationDialog(_obj, _obj.OtherGroup.All.ToList(), new List <IRecipient>() { _obj.Addressee }, hasActionItems ? null : e.Action, confirmDialogId)) { e.Cancel(); } _obj.NeedDeleteActionItems = hasActionItems; }
public virtual void Complete(Sungero.Workflow.Client.ExecuteResultActionArgs e) { if (!Functions.Module.HasCurrentUserExchangeServiceCertificate(_obj.Box)) { e.AddError(Resources.CertificateNotFound); return; } // Замена стандартного диалога подтверждения выполнения действия. if (!Docflow.PublicFunctions.Module.ShowConfirmationDialog(e.Action.ConfirmationMessage, null, null, Constants.ReceiptNotificationSendingTask.ReceiptNotificationSendingAssignmentConfirmDialogID.Complete)) { e.Cancel(); } Functions.ReceiptNotificationSendingAssignment.SendReceiptNotification(_obj, e); }
public virtual void ForRework(Sungero.Workflow.Client.ExecuteResultActionArgs e) { // Валидация заполненности активного текста. if (!Functions.FreeApprovalTask.ValidateBeforeRework(_obj, FreeApprovalTasks.Resources.NeedTextForRework, e)) { e.Cancel(); } if (!Functions.Module.ShowDialogGrantAccessRightsWithConfirmationDialog(_obj, _obj.OtherGroup.All.ToList(), e.Action, Constants.FreeApprovalTask.FreeApprovalAssignmentConfirmDialogID.ForRework)) { e.Cancel(); } // Подписание согласующей подписью с результатом "не согласовано". Functions.Module.EndorseDocument(_obj, false, false, e); }