/// <summary> /// 通过名称设置DataSet参数 /// </summary> /// <param name="parameterName">参数名称</param> /// <param name="value">参数值</param> public void SetDataSetParameter(string parameterName, DataSetBase dataset) { MainParameter mainParameter = GetParameter(parameterName, MainParameter.ParameterType.DataSet); if (mainParameter != null) { mainParameter.DataSet = dataset; } }
/// <summary> /// 添加数据集至数据集仓库 /// </summary> /// <param name="dataSet">数据集</param> public void AddDataSet(DataSetBase dataSet) { if (dataSet == null) { return; } Type type = dataSet.GetType(); if (!DataSets.ContainsKey(type)) { DataSets.Add(type, new List <DataSetBase>()); } DataSets[type].Add(dataSet); }
/// <summary> /// 添加数据集至数据集仓库 /// </summary> /// <param name="dataSet">数据集</param> public void AddDataSet(DataSetBase dataSet) { if (!dataSet) { throw new HTFrameworkException(HTFrameworkModule.DataSet, "不能添加空的数据集至仓库!"); } Type type = dataSet.GetType(); if (!DataSets.ContainsKey(type)) { DataSets.Add(type, new List <DataSetBase>()); } DataSets[type].Add(dataSet); }
/// <summary> /// 获取某一类型的满足匹配条件的第一条数据集 /// </summary> /// <param name="type">数据集类型</param> /// <param name="match">匹配条件</param> /// <param name="isCut">是否同时在数据集仓库中移除该数据集</param> /// <returns>数据集</returns> public DataSetBase GetDataSet(Type type, Predicate <DataSetBase> match, bool isCut = false) { if (DataSets.ContainsKey(type)) { DataSetBase dataset = DataSets[type].Find(match); if (isCut && dataset) { DataSets[type].Remove(dataset); } return(dataset); } else { throw new HTFrameworkException(HTFrameworkModule.DataSet, "获取数据集失败:" + type.Name + " 并不是有效的数据集类型!"); } }
/// <summary> /// 新建数据集并添加至数据集仓库 /// </summary> /// <param name="type">数据集类型</param> /// <param name="data">填充数据</param> /// <returns>新建的数据集</returns> public DataSetBase CreateDataSet(Type type, JsonData data = null) { if (DataSets.ContainsKey(type)) { DataSetBase dataSet = ScriptableObject.CreateInstance(type) as DataSetBase; if (data != null) { dataSet.Fill(data); } DataSets[type].Add(dataSet); return(dataSet); } else { throw new HTFrameworkException(HTFrameworkModule.DataSet, "新建数据集失败:" + type.Name + " 并不是有效的数据集类型!"); } }
/// <summary> /// 从数据集仓库中移除数据集 /// </summary> /// <param name="dataSet">数据集</param> public void RemoveDataSet(DataSetBase dataSet) { if (!dataSet) { throw new HTFrameworkException(HTFrameworkModule.DataSet, "不能移除空的数据集!"); } Type type = dataSet.GetType(); if (!DataSets.ContainsKey(type)) { DataSets.Add(type, new List <DataSetBase>()); } if (DataSets[type].Contains(dataSet)) { DataSets[type].Remove(dataSet); } }
/// <summary> /// 根据索引获取某一类型的一条数据集 /// </summary> /// <param name="type">数据集类型</param> /// <param name="index">索引</param> /// <param name="isCut">是否同时在数据集仓库中移除该数据集</param> /// <returns>数据集</returns> public DataSetBase GetDataSet(Type type, int index, bool isCut = false) { if (DataSets.ContainsKey(type)) { if (index >= 0 && index < DataSets[type].Count) { DataSetBase dataset = DataSets[type][index]; if (isCut) { DataSets[type].RemoveAt(index); } return(dataset); } else { return(null); } } else { throw new HTFrameworkException(HTFrameworkModule.DataSet, "获取数据集失败:" + type.Name + " 并不是有效的数据集类型!"); } }
/// <summary> /// 根据先后顺序获取某一类型的第一条数据集 /// </summary> /// <param name="type">数据集类型</param> /// <param name="isCut">是否同时在数据集仓库中移除该数据集</param> /// <returns>数据集</returns> public DataSetBase GetDataSet(Type type, bool isCut = false) { if (_dataSets.ContainsKey(type)) { if (_dataSets[type].Count > 0) { DataSetBase dataset = _dataSets[type][0]; if (isCut) { _dataSets[type].RemoveAt(0); } return(dataset); } else { return(null); } } else { throw new HTFrameworkException(HTFrameworkModule.DataSet, "获取数据集失败:" + type.Name + " 并不是有效的数据集类型!"); } }
/// <summary> /// 从数据集仓库中移除数据集 /// </summary> /// <param name="dataSet">数据集</param> public void RemoveDataSet(DataSetBase dataSet) { _helper.RemoveDataSet(dataSet); }
/// <summary> /// 添加数据集至数据集仓库 /// </summary> /// <param name="dataSet">数据集</param> public void AddDataSet(DataSetBase dataSet) { _helper.AddDataSet(dataSet); }