/// <summary> /// 添加该grDataPoint 到集合中,并根据站名和时间自动分配到相关的Wccs中 /// </summary> /// <param name="grDataPoint"></param> public void AddGrDataPoint(GrDataPoint grDataPoint) { if (grDataPoint == null) { throw new ArgumentNullException("grDataPoint"); } WastingCaloricCalculatorWithName wccwn = this._wccwns.FindWccwn( grDataPoint.StationName, true ); // wccwn.AddGrDataPoint(grDataPoint); // grdataPoint 要求按照时间顺序依次加入 // // 以站名称 和 时间区分 // // 查找和grDataPoint同名的wcc, 如果没有则创建 // // 如果该grDataPoint能加入该wcc则加入 // // 否则新建wcc并加入该grDataPoint // }
/// <summary> /// 计算耗热量并将结果集传回 /// </summary> /// <returns></returns> public WccResultSet CalcWccResultSet() { WccResultSet wccrSet = new WccResultSet(); for (int i = 0; i < _wccwns.Count; i++) { WastingCaloricCalculatorWithName wccwn = _wccwns[i]; string stname = wccwn.StationName; WccResultsCollection wccrs = new WccResultsCollection(stname); WastingCaloricCalculatorsCollection wccs = wccwn.WastingCaloricCalculatorsCollection; for (int j = 0; j < wccs.Count; j++) { WastingCaloricCalculator wcc = wccs[j]; int wc = wcc.Calc(); DateTime date = wcc.Date; WccResult wccr = new WccResult(date, wc); wccrs.Add(wccr); } wccrSet.Add(wccrs); } return(wccrSet); }
/// <summary> /// /// </summary> /// <param name="wccwn"></param> public void Add(WastingCaloricCalculatorWithName wccwn) { if (wccwn == null) { throw new ArgumentNullException("wccwn"); } _list.Add(wccwn); }
/// <summary> /// 查找名称为stationName的Wccwn /// </summary> /// <param name="stationName"></param> /// <param name="create">没有匹配时,是否创建新的。如创建则会把新对象加入本集合中</param> /// <returns></returns> public WastingCaloricCalculatorWithName FindWccwn(string stationName, bool create) { for (int i = 0; i < this.Count; i++) { WastingCaloricCalculatorWithName wccwn = this[i]; if (wccwn.StationName == stationName) { return(wccwn); } } if (create) { WastingCaloricCalculatorWithName newwccwn = new WastingCaloricCalculatorWithName(stationName); this.Add(newwccwn); return(newwccwn); } return(null); }