Ejemplo n.º 1
0
        /// <summary>
        /// Получить множество номеров каналов из условий запроса с проверкой прав
        /// </summary>
        private HashSet <int> GetCnlSet(string cnlNums, string viewIDs, int viewID, UserRights userRights)
        {
            if (!string.IsNullOrWhiteSpace(cnlNums))
            {
                if (!userRights.ViewAllRight)
                {
                    int[] cnlNumArr = ScadaUtils.ParseIntArray(cnlNums);
                    int[] viewIDArr = ScadaUtils.ParseIntArray(viewIDs);

                    if (!userRights.CheckInCnlRights(cnlNumArr, viewIDArr))
                    {
                        throw new ScadaException(CommonPhrases.NoRights);
                    }
                }

                return(ScadaUtils.ParseIntSet(cnlNums));
            }
            else if (viewID > 0)
            {
                BaseView view = GetViewFromCache(viewID, userRights);
                return(view.CnlSet);
            }
            else
            {
                return(null);
            }
        }
Ejemplo n.º 2
0
 /// <summary>
 /// Получить значение параметра из строки запроса как множество целых чисел.
 /// </summary>
 public static HashSet <int> GetParamAsIntSet(this NameValueCollection queryString, string paramName)
 {
     return(ScadaUtils.ParseIntSet(queryString[paramName]));
 }