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