コード例 #1
0
ファイル: ScenarioBase.cs プロジェクト: AlexanderKa1/Lazurite
 /// <summary>
 /// Determine that user can view scenario value
 /// </summary>
 /// <param name="user"></param>
 /// <param name="source"></param>
 /// <returns></returns>
 protected bool CanViewValue(ScenarioActionSource source)
 {
     try
     {
         if (SecuritySettings == null)
         {
             throw new NullReferenceException("Security settings is null");
         }
         return(SecuritySettings.IsAvailableForUser(source.User, source.Source, ScenarioAction.ViewValue));
     }
     catch (Exception e)
     {
         Log.ErrorFormat(e, "Ошибка во время вычисления прав для просмотра значения сценария [{0}][{1}]", Name, Id);
         return(false);
     }
 }
コード例 #2
0
ファイル: ScenarioBase.cs プロジェクト: AlexanderKa1/Lazurite
 /// <summary>
 /// Determine that user can execute scenario
 /// </summary>
 /// <param name="user"></param>
 /// <param name="source"></param>
 /// <returns></returns>
 protected bool CanExecute(ScenarioActionSource source)
 {
     try
     {
         if (SecuritySettings == null)
         {
             throw new NullReferenceException("Security settings is null");
         }
         var writeAvailableForThisSource = !OnlyGetValue || source.Source == ScenarioStartupSource.System; //crutch, scenario can be executed by itself or system
         return(writeAvailableForThisSource && SecuritySettings.IsAvailableForUser(source.User, source.Source, ScenarioAction.Execute));
     }
     catch (Exception e)
     {
         Log.ErrorFormat(e, "Ошибка во время вычисления прав для выполнения сценария [{0}][{1}]", Name, Id);
         return(false);
     }
 }