Click here to Skip to main content
15,886,362 members
Articles / Web Development / HTML

ASP.NET Reports Starter Kits Porting from Windows to Linux (Race to Linux)

Rate me:
Please Sign up or sign in to vote.
3.30/5 (4 votes)
30 Sep 20055 min read 33.7K   184   19  
ASP.NET Reports Starter Kit Porting from Windows to Linux using Mainsoft's Grasshopper
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
Architect
Australia Australia
"Impossible" + "'" + " " = "I'm Possible"

Started programming when i was a kid with 286 computers and Spectrum using BASIC from 1986. There was series of languages like pascal, c, c++, ada, algol, prolog, assembly, java, C#, VB.NET and so on. Then shifted my intrest in Architecture during past 5 years with Rational Suite and UML. Wrote some articles, i was member of month on some sites, top poster(i only answer) of week (actually weeks), won some books as prizes, rated 2nd in ASP.NET and ADO.NET in Australia.

There is simplicity in complexity

Comments and Discussions