Esempio n. 1
0
 public override void Created(Sungero.Domain.CreatedEventArgs e)
 {
     base.Created(e);
     if (!_obj.State.IsCopied)
     {
         _obj.IsAutomaticRenewal = false;
         var availableDocuments = Docflow.PublicFunctions.DocumentGroupBase.GetAvailableDocumentGroup(_obj.DocumentKind).Where(g => ContractCategories.Is(g));
         if (availableDocuments.Count() == 1)
         {
             _obj.DocumentGroup = availableDocuments.FirstOrDefault();
         }
     }
 }
Esempio n. 2
0
        public override void DocumentKindChanged(Sungero.Docflow.Shared.OfficialDocumentDocumentKindChangedEventArgs e)
        {
            base.DocumentKindChanged(e);

            var documentKind = e.NewValue;

            if (documentKind == null)
            {
                return;
            }

            // Очистить категорию, если она не соответствует виду документа.
            var availableCategory = Docflow.PublicFunctions.DocumentGroupBase.GetAvailableDocumentGroup(documentKind).Where(g => ContractCategories.Is(g));

            if (_obj.DocumentGroup != null && !availableCategory.Contains(_obj.DocumentGroup))
            {
                _obj.DocumentGroup = null;
            }

            // Заполнить категорию, если для выбранного вида доступна только одна.
            if (_obj.DocumentGroup == null && availableCategory.Count() == 1)
            {
                _obj.DocumentGroup = availableCategory.First();
            }

            // Проставить корректно жизненный цикл для договора после смены типа.
            if (_obj.LifeCycleState == Docflow.OfficialDocument.LifeCycleState.Obsolete)
            {
                if (_obj.ExchangeState == Docflow.OfficialDocument.ExchangeState.Obsolete)
                {
                    _obj.LifeCycleState = ContractBase.LifeCycleState.Obsolete;
                }
                if (_obj.ExchangeState == Docflow.OfficialDocument.ExchangeState.Terminated)
                {
                    _obj.LifeCycleState = ContractBase.LifeCycleState.Terminated;
                }
            }
        }
Esempio n. 3
0
 public override IQueryable <T> DocumentGroupFiltering(IQueryable <T> query, Sungero.Domain.PropertyFilteringEventArgs e)
 {
     query = base.DocumentGroupFiltering(query, e);
     query = query.Where(g => ContractCategories.Is(g));
     return(query);
 }