Click here to Skip to main content
15,891,902 members
Articles / Web Development / ASP.NET

Conversion of Reporting Starter Kit to use Mono/MySQL

Rate me:
Please Sign up or sign in to vote.
3.69/5 (9 votes)
1 Oct 20053 min read 28.3K   411   32  
A porting of the ASP.NET reporting starter kit to use Mono, MySQL and Apache on a Linux system.
using System;
using System.Data;
using System.Configuration;
using ASPNET.StarterKit.Reports.DataAccessLayer;
using System.Collections;

namespace ASPNET.StarterKit.Reports.Components
{
	public class HierarchicalReport
	{
		private string		_territoryDescription;
		private decimal		_salesTotals;
		private int			_employeeID;
		private string		_employeeName;
		private string		_employeeTitle;
		private string		_employeeAddress;
		private string		_employeeCity;
		private string		_employeeRegion;
		private string		_employeePostalCode;
		private string		_employeeCountry;
		private string		_employeePhone;

		public string TerritoryDescription
		{
			get { return _territoryDescription; }
			set { _territoryDescription = value; }
		}

		public decimal SalesTotals
		{
			get { return _salesTotals; }
			set { _salesTotals = value; }
		}

		public int EmployeeID
		{
			get { return _employeeID; }
			set { _employeeID = value; }
		}

		public string EmployeeName
		{
			get { return _employeeName; }
			set { _employeeName = value; }
		}

		public string EmployeeTitle
		{
			get { return _employeeTitle; }
			set { _employeeTitle = value; }
		}
		
		public string EmployeeAddress
		{
			get { return _employeeAddress; }
			set { _employeeAddress = value; }
		}
		
		public string EmployeeCity
		{
			get { return _employeeCity; }
			set { _employeeCity = value; }
		}
		
		public string EmployeeRegion
		{
			get { return _employeeRegion; }
			set { _employeeRegion = value; }
		}
		
		public string EmployeePostalCode
		{
			get { return _employeePostalCode; }
			set { _employeePostalCode = value; }
		}

		public string EmployeeCountry
		{
			get { return _employeeCountry; }
			set { _employeeCountry = value; }
		}

		public string EmployeePhone
		{
			get { return _employeePhone; }
			set { _employeePhone = value; }
		}

		//*********************************************************************
		//
		// GetSalesByTerritory()
		//
		// This function calls the "GetSalesByTerritory" which retrieves the
		// sales totals for 1996, 1997, and 1998, grouped by Territory.
		// The items are added to the Array List and returned in the custom
		// thin class HierarchicalReportCollection.
		//
		//*********************************************************************

		public static HierarchicalReportCollection GetSalesByTerritory(int year)
		{
			DataSet dsData = SqlHelper.ExecuteDataset(ConfigurationSettings.AppSettings[Global.CfgKeyConnString], "Reports_GetSalesByTerritory", year);
			HierarchicalReportCollection items = new HierarchicalReportCollection();

			foreach(DataRow row in dsData.Tables[0].Rows)
			{
				HierarchicalReport item = new HierarchicalReport();
				item.TerritoryDescription = row["TerritoryDescription"].ToString();

				// Check for nulls, as they may not have any sales for this period
				if(row["SalesTotals"] != System.DBNull.Value)
					item.SalesTotals = Convert.ToDecimal(row["SalesTotals"]);

				items.Add(item);
			}

			return items;
		}
		
		//*********************************************************************
		//
		// GetEmployeeSalesByTerritory()
		//
		// This function calls the "GetSalesByTerritory" which retrieves the
		// sales totals for 1996, 1997, and 1998, grouped by Employee, for
		// a particular Territory.
		//
		// The items are added to the Array List and returned in the custom
		// thin class HierarchicalReportCollection.
		//
		//*********************************************************************

		public static HierarchicalReportCollection GetEmployeeSalesByTerritory(string TerritoryName, int year)
		{
			DataSet dsData = SqlHelper.ExecuteDataset(ConfigurationSettings.AppSettings[Global.CfgKeyConnString], "Reports_GetEmployeeSalesByTerritory", TerritoryName, year);
			HierarchicalReportCollection items = new HierarchicalReportCollection();

			foreach(DataRow row in dsData.Tables[0].Rows)
			{
				HierarchicalReport item = new HierarchicalReport();
				item.EmployeeID = Convert.ToInt32(row["EmployeeID"]);
				item.EmployeeName = row["EmployeeName"].ToString();

				// Check for nulls, as they may not have any sales for this period
				if(row["SalesTotals"] != System.DBNull.Value)
					item.SalesTotals = Convert.ToDecimal(row["SalesTotals"]);

				items.Add(item);
			}

			return items;
		}

		//*********************************************************************
		//
		// GetEmployeeInfo()
		//
		// This function calls the "GetSalesByTerritory" which retrieves the
		// sales totals for 1996, 1997, and 1998, grouped by Employee, for
		// a particular Territory.
		//
		// The items are added to the Array List and returned in the custom
		// thin class HierarchicalReportCollection.
		//
		//*********************************************************************

		public static HierarchicalReportCollection GetEmployeeInfo(int employeeID)
		{
			DataSet dsData = SqlHelper.ExecuteDataset(ConfigurationSettings.AppSettings[Global.CfgKeyConnString], "Reports_GetEmployeeByID", employeeID);
			HierarchicalReportCollection items = new HierarchicalReportCollection();

			foreach(DataRow row in dsData.Tables[0].Rows)
			{
				HierarchicalReport item = new HierarchicalReport();
				item.EmployeeID = Convert.ToInt32(row["EmployeeID"]);
				item.EmployeeTitle = row["Title"].ToString();
				item.EmployeeAddress = row["Address"].ToString();
				item.EmployeeCity = row["City"].ToString();
				item.EmployeeRegion = row["Region"].ToString();
				item.EmployeePostalCode = row["PostalCode"].ToString();
				item.EmployeeCountry = row["Country"].ToString();
				item.EmployeePhone = row["HomePhone"].ToString();

				items.Add(item);
			}

			return items;
		}
	}
}

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


Written By
Web Developer
United States United States
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions