Esempio n. 1
0
 public virtual void TeamMembersGroupValueInput(Sungero.Presentation.EnumerationValueInputEventArgs e)
 {
     if (e.NewValue != null && !Equals(e.NewValue, e.OldValue))
     {
         Sungero.Projects.PublicFunctions.Module.ShowProjectRightsNotifyOnce(e, Projects.Resources.ProjectAndProjectFoldersRightsNotifyMessage);
     }
 }
 public virtual void ReasonValueInput(Sungero.Presentation.EnumerationValueInputEventArgs e)
 {
     _obj.State.Properties.Document.IsEnabled      = e.NewValue != Docflow.SignatureSetting.Reason.Duties;
     _obj.State.Properties.Document.IsRequired     = e.NewValue == Docflow.SignatureSetting.Reason.PowerOfAttorney;
     _obj.State.Properties.DocumentInfo.IsEnabled  = e.NewValue == Docflow.SignatureSetting.Reason.Other;
     _obj.State.Properties.DocumentInfo.IsRequired = e.NewValue == Docflow.SignatureSetting.Reason.Other;
     _obj.State.Properties.ValidTill.IsRequired    = e.NewValue == Docflow.SignatureSetting.Reason.PowerOfAttorney;
 }
 public virtual void VerificationStateValueInput(Sungero.Presentation.EnumerationValueInputEventArgs e)
 {
     if (e.NewValue == Docflow.OfficialDocument.VerificationState.Completed)
     {
         var args = new Sungero.Domain.Client.ExecuteActionArgs(Sungero.Domain.Shared.FormType.Card, _obj);
         if (!args.Validate())
         {
             // Bug 96585. Прервать смену значения в контроле невозможно.
             e.NewValue = e.OldValue;
         }
     }
 }
        public virtual void TrackingActionValueInput(Sungero.Presentation.EnumerationValueInputEventArgs e)
        {
            if (Equals(e.NewValue, e.OldValue))
            {
                return;
            }

            // Запретить изменение действия, если документ уже сохранен.
            if (_obj.State.Properties.Action.OriginalValue.HasValue)
            {
                e.AddError(Docflow.Resources.ChangingRecordActionTypeReturnedDocumentIsInadmissible);
            }
        }
 public virtual void LifeCycleStateValueInput(Sungero.Presentation.EnumerationValueInputEventArgs e)
 {
     // Проверка доступности нумерации.
     if (_obj.DocumentKind != null &&
         _obj.DocumentKind.AutoNumbering == true &&
         _obj.RegistrationState == RegistrationState.NotRegistered &&
         !Functions.OfficialDocument.IsObsolete(_obj, e.NewValue))
     {
         var documentRegisters = Functions.OfficialDocument.GetDocumentRegistersByDocument(_obj, Docflow.RegistrationSetting.SettingType.Numeration);
         if (!documentRegisters.Any())
         {
             e.AddWarning(_obj.Info.Properties.LifeCycleState, Sungero.Docflow.Resources.NumberingSettingsRequiredForSave, _obj.Info.Properties.DocumentKind);
         }
         else
         {
             e.AddInformation(_obj.Info.Properties.LifeCycleState, Sungero.Docflow.Resources.DocumentNumberAutomaticallyGeneratedOnSave, _obj.Info.Properties.DocumentKind);
         }
     }
 }
        public virtual void TrackingReturnResultValueInput(Sungero.Presentation.EnumerationValueInputEventArgs e)
        {
            if (Equals(e.NewValue, e.OldValue))
            {
                return;
            }

            // Запретить изменение, если документ уже возвращен.
            if (_obj.State.Properties.ReturnDate.OriginalValue.HasValue &&
                _obj.State.Properties.ReturnResult.OriginalValue != null &&
                !Equals(_obj.State.Properties.ReturnResult.OriginalValue, Docflow.OfficialDocumentTracking.ReturnResult.AtControl))
            {
                e.AddError(Docflow.Resources.ChangingRecordDocumentReturnIsInadmissible);
            }

            // Запретить изменение, если документ был отправлен через сервис обмена.
            if (_obj.ExternalLinkId != null)
            {
                e.AddError(OfficialDocuments.Resources.CannotChangeTrackingSentByExchange);
            }
        }
        public virtual void NumberFormatItemsElementValueInput(Sungero.Presentation.EnumerationValueInputEventArgs e)
        {
            // Если новый элемент - код подразделения, то проверять, что у всех подразделений заполнены коды.
            if (e.NewValue == DocumentRegisterNumberFormatItems.Element.DepartmentCode &&
                Functions.DocumentRegister.Remote.HasDepartmentWithNullCode())
            {
                e.AddWarning(DocumentRegisters.Resources.NeedFillDepartmentCodes);
            }

            // Если новый элемент - код НОР, то проверять, что у всех НОР заполнены коды.
            if (e.NewValue == DocumentRegisterNumberFormatItems.Element.BUCode &&
                Functions.DocumentRegister.Remote.HasBusinessUnitWithNullCode())
            {
                e.AddWarning(DocumentRegisters.Resources.NeedFillBusinessUnitCodes);
            }

            // Если новый элемент - код вида документа, то проверять, что у всех видов документа заполнены коды.
            if (e.NewValue == DocumentRegisterNumberFormatItems.Element.DocKindCode &&
                DocumentKinds.GetAllCached()
                .Any(x => x.Status == CoreEntities.DatabookEntry.Status.Active && x.Code == null))
            {
                e.AddWarning(DocumentRegisters.Resources.NeedFillDocumentKindCodes);
            }
        }
Esempio n. 8
0
 public override void StatusValueInput(Sungero.Presentation.EnumerationValueInputEventArgs e)
 {
     _obj.State.Properties.IsDefault.IsEnabled = e.NewValue != Status.Closed;
 }