/// <summary>
        /// Получить описание способа доставки.
        /// </summary>
        /// <param name="method">Способ доставки.</param>
        /// <param name="service">Сервис обмена.</param>
        /// <param name="isManyAddressees">True, если отправка на несколько адресов, иначе - false.</param>
        /// <returns>Описание способа доставки.</returns>
        public static string GetDeliveryMethodDescription(IMailDeliveryMethod method, ExchangeCore.IExchangeService service, bool isManyAddressees)
        {
            if (isManyAddressees)
            {
                return(ApprovalTasks.Resources.DeliveryMethodToManyAddressees);
            }
            if (method == null)
            {
                return(string.Empty);
            }

            var exchangeServiceDelivery = method.Sid == Constants.MailDeliveryMethod.Exchange;

            if (exchangeServiceDelivery)
            {
                if (service == null)
                {
                    return(string.Empty);
                }

                return(ApprovalTasks.Resources.DeliveryMethodByExchangeFormat(service.Name));
            }

            return(ApprovalTasks.Resources.DeliveryMethodNotByExchangeFormat(method.Name));
        }
Exemple #2
0
        /// <summary>
        /// Узнать, нужно ли показывать хинт о доступности сервиса обмена.
        /// </summary>
        /// <param name="state">Свойство.</param>
        /// <param name="info">Информация о свойстве.</param>
        /// <param name="deliveryMethod">Сервис обмена.</param>
        /// <param name="param">Параметр, в котором хранится информация о необходимости показать хинт.</param>
        /// <returns>Признак необходимости показать хинт. True - если нужно показать хинт, иначе - false.</returns>
        public bool NeedShowExchangeHint(Domain.Shared.IPropertyState state, Domain.Shared.IPropertyInfo info, IMailDeliveryMethod deliveryMethod, Domain.Shared.ParamsDictionary param)
        {
            var isVisibleAndEnabled = state.IsVisible && state.IsEnabled;

            if (isVisibleAndEnabled && (deliveryMethod == null || deliveryMethod.Sid != Constants.MailDeliveryMethod.Exchange))
            {
                var show = false;
                if (!param.TryGetValue(Constants.ApprovalTask.NeedShowExchangeServiceHint, out show))
                {
                    show = Functions.ApprovalTask.Remote.GetExchangeServices(_obj).DefaultService != null;
                    param.AddOrUpdate(Constants.ApprovalTask.NeedShowExchangeServiceHint, show);
                }

                return(show);
            }
            return(false);
        }
Exemple #3
0
 /// <summary>
 /// Показать хинт о доступности сервиса обмена на событии обновления формы.
 /// </summary>
 /// <param name="state">Свойство.</param>
 /// <param name="info">Информация о свойстве.</param>
 /// <param name="deliveryMethod">Сервис обмена.</param>
 /// <param name="e">Аргументы события Обновление формы.</param>
 public void ShowExchangeHint(Domain.Shared.IPropertyState state, Domain.Shared.IPropertyInfo info, IMailDeliveryMethod deliveryMethod, Sungero.Domain.Shared.BaseEntityValidationEventArgs e)
 {
     if (this.NeedShowExchangeHint(state, info, deliveryMethod, e.Params))
     {
         e.AddInformation(info, Sungero.Docflow.ApprovalTasks.Resources.ExchangeDeliveryExist, _obj.Info.Properties.ApprovalRule);
     }
 }