/// <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)); }
/// <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); }
/// <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); } }