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