protected virtual void OnRightsRequired(RightsRequiredArgs e)
 {
     var handler = RightsRequired; if (handler != null)
     {
         handler(this, e);
     }
 }
        /// <summary>
        /// Проверка и запрос прав на выполнение действия
        /// </summary>
        protected virtual bool ChangeRights(out Exception ex)
        {
            //TODO: данная реализация является костылем и может быть переопределена в наследнике
            if (!_isAdmin)
            {
                var args = new RightsRequiredArgs();
                OnRightsRequired(args);
                if (args.Cancel)
                {
                    ex = null;
                    return(false);
                }
            }

            ex = null;
            return(true);
        }