hitsofurlinhour.cs

来自「《精通ASP.NET2.0网络应用系统开发》书中的源码」· CS 代码 · 共 88 行

CS
88
字号
using System;
using System.Collections;
using System.Data;
using webvisitStatistic.Reporter.Graph;

namespace webvisitStatistic.Reporter
{
	/// <summary>
	/// HitsOfUrlInHour 的摘要说明。
	/// </summary>
	public class HitsOfUrlInHour : IGraphBuilder
	{
		// just use it
//		public class AttributesCustom:CollectionBase
//		{
//			public object this[String index]
//			{
//				get{
//					return List[index];
//				}
//				set{
//					List[index] = value;
//				}
//			}
//		}

		public HitsOfUrlInHour() 
		{
			//
			// TODO: 在此处添加构造函数逻辑
			//
		}

		#region IGraphBuilder 成员

		public void Render(System.IO.Stream outStream)
		{
			// TODO:  添加 HitsOfUrlInHour.WriterTo 实现
			// 初始化数据,初始化图形控件,输出
			GraphColumn.PointItem[] pointItemList = new GraphColumn.PointItem[24];
			for(int i=0;i<24;i++) {
				GraphColumn.PointItem item = pointItemList[i];
				item.Y = 0;
				item.XUnit = i.ToString();
			}			

			using( DBLayer.SqlJournelDB journelDB = new DBLayer.SqlJournelDB())
			{
				IDataReader reader =  journelDB.SelHitsOfWebInHour(
										(int)_attributes["webid"]
										,(DateTime)_attributes["sdt"]
										,(DateTime)_attributes["edt"]);
				while (reader.Read()) {
					pointItemList[(int)reader[1]].Y = (int)reader[0];
				}																						
			}

			GraphColumn columnGraphBuilder = new GraphColumn();
			columnGraphBuilder.PointItemList = pointItemList;
			columnGraphBuilder.Height = (int)_attributes["height"];
			columnGraphBuilder.Width  = (int)_attributes["width"];
			columnGraphBuilder.Id	  = (String)_attributes["id"];
			columnGraphBuilder.Title  = "按每天时间段统计的访问情况";
			
			using (System.Drawing.Bitmap bm = columnGraphBuilder.BuildGraph())
			{
				bm.Save(outStream,System.Drawing.Imaging.ImageFormat.Jpeg);
			}

		}

		public Hashtable Attributes
		{
			get
			{
				// TODO:  添加 HitsOfUrlInHour.Attributes getter 实现
				return _attributes;
			}
		}

		#endregion
		
		protected Hashtable _attributes = new Hashtable();
	}


}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?