예제 #1
0
 /// <summary>
 /// Adiciona o parametro para a coleção.
 /// </summary>
 /// <param name="parameter"></param>
 public void Add(ReportDataSourceParameter parameter)
 {
     if (_parameters.Any(f => ParameterNameEqualityComparer.Equals(f.Name, parameter.Name)))
     {
         throw new ArgumentException("An element with the same key already exists");
     }
     _parameters.Add(parameter);
 }
예제 #2
0
        /// <summary>
        /// Remove o parametro associado ao nome informado.
        /// </summary>
        /// <param name="name"></param>
        public void Remove(string name)
        {
            var index = _parameters.FindIndex(f => ParameterNameEqualityComparer.Equals(f.Name, name));

            if (index >= 0)
            {
                _parameters.RemoveAt(index);
            }
        }
예제 #3
0
 /// <summary>
 /// Recupera e define o valor do parametro pela chave informada.
 /// </summary>
 /// <param name="name"></param>
 /// <returns></returns>
 public object this[string name]
 {
     get
     {
         return(_parameters.Where(f => ParameterNameEqualityComparer.Equals(f.Name, name)).Select(f => f.Value).FirstOrDefault());
     }
     set
     {
         name.Require("name").NotNull();
         var parameter = _parameters.Where(f => ParameterNameEqualityComparer.Equals(f.Name, name)).FirstOrDefault();
         if (parameter == null)
         {
             Add(name, value);
         }
         else
         {
             parameter.Value = value;
         }
     }
 }
예제 #4
0
 /// <summary>
 /// Verifica se existe alguma parametro com o nome informado.
 /// </summary>
 /// <param name="name"></param>
 /// <returns></returns>
 public bool Contains(string name)
 {
     return(_parameters.Any(f => ParameterNameEqualityComparer.Equals(f.Name, name)));
 }