Example #1
0
        /// <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
            //
        }
Example #2
0
        /// <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);
        }