Пример #1
0
        public virtual IQueryable <T> DocumentFiltering(IQueryable <T> query, Sungero.Domain.PropertyFilteringEventArgs e)
        {
            query = query.Where(d => InternalDocumentBases.Is(d) && d.LifeCycleState != Docflow.OfficialDocument.LifeCycleState.Obsolete);

            if (_obj.Reason == Docflow.SignatureSetting.Reason.PowerOfAttorney)
            {
                query = query.Where(d => PowerOfAttorneys.Is(d) && PowerOfAttorneys.As(d).ValidTill >= Calendar.UserToday);

                if (_obj.Recipient != null)
                {
                    query = query.Where(d => Equals(_obj.Recipient, PowerOfAttorneys.As(d).IssuedTo));
                }
            }

            return(query);
        }
Пример #2
0
 public virtual void DocumentChanged(Sungero.Docflow.Shared.SignatureSettingDocumentChangedEventArgs e)
 {
     if (e.NewValue != null && !Equals(e.NewValue, e.OldValue) && _obj.Reason == Docflow.SignatureSetting.Reason.PowerOfAttorney)
     {
         if (PowerOfAttorneys.Is(e.NewValue))
         {
             var powerOfAttorney = PowerOfAttorneys.As(e.NewValue);
             _obj.Recipient = powerOfAttorney.IssuedTo;
             _obj.ValidFrom = powerOfAttorney.RegistrationDate;
             _obj.ValidTill = powerOfAttorney.ValidTill;
             _obj.BusinessUnits.Clear();
             var newBusinessUnit = _obj.BusinessUnits.AddNew();
             newBusinessUnit.BusinessUnit = powerOfAttorney.BusinessUnit;
         }
         else
         {
             _obj.Recipient = null;
             _obj.ValidTill = null;
             _obj.BusinessUnits.Clear();
         }
     }
 }