The following is my custom class, with collections. My application is an MDI app with the ability to open a "Program" form multiple times for multiple programs and I want to use the ProgramBudget class but I want all of the "subclasses" within the Program budget to be contained within the Program form ProgramBudget class.
I am having issues however where the subclasses keep getting referenced in IntelliSense recursivelly (i.e.: ProgramBudget.ParticipantTypeBudget.ParticipantTypeBudget.ParticipantTypeBudget...)
What is wrong with this class and how do i work with it, the custom class is below:
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace IPAM_NSF_Financials.Application_Classes
{
public class ProgramBudget
{
internal string strProgramCode;
private string strActualTravelSourceRefCode;
private string strActualExpenseSourceRefCode;
private string strProgramBudgetComment;
private string strParticipantComment;
private decimal decInitTravel;
private decimal decInitLodging;
private decimal decInitStipend;
private decimal decRemTravel;
private decimal decRemLodging;
private decimal decRemStipend;
private decimal decPartTypeTravel;
private decimal decPartTypeExpenses;
private decimal decPartPrimTravelBudget;
private decimal decPartPrimExpenseBudget;
private decimal decPartPrimRegFee;
private decimal decActualTravelAir;
private decimal decActualTravelGround;
private decimal decActualTravelMisc;
private decimal decActualExpenseLodging;
private decimal decActualExpenseCatering;
private decimal decActualExpenseMisc;
private int nProgramBudgetID;
private int nParticipantTypeBudgetID;
private int nParticipantBudgetHDRID;
private int nParticipantBudgetHDRCommentID;
private int nParticipantBudgetDTLID;
private int nParticipantBudgetDTLExpenseID;
private int nParticipantBudgetDTLTravelID;
private int nPartType;
private int nParticipant;
private int nActualTravelSource;
private int nActualExpenseSource;
public int ProgramBudgetID
{
get { return nProgramBudgetID; }
set { nProgramBudgetID = value; }
}
public string ProgramCode
{
get { return strProgramCode; }
set { strProgramCode = value; }
}
public decimal InitialTravel
{
get { return decInitTravel; }
set { decInitTravel = value; }
}
public decimal InitialLodging
{
get { return decInitLodging; }
set { decInitLodging = value; }
}
public decimal InitialStipend
{
get { return decInitStipend; }
set { decInitStipend = value; }
}
public decimal RemainingTravel
{
get { return decRemTravel; }
set { decRemTravel = value; }
}
public decimal RemainingLodging
{
get { return decRemLodging; }
set { decRemLodging = value; }
}
public decimal RemainingStipend
{
get { return decRemStipend; }
set { decRemStipend = value; }
}
public string ProgramBudgetComment
{
get { return strProgramBudgetComment; }
set { strProgramBudgetComment = value; }
}
public class ParticipantTypeBudget : ProgramBudget
{
public int ParticipantTypeBudgetID
{
get { return nParticipantTypeBudgetID; }
set { nParticipantTypeBudgetID = value; }
}
public int ParticipantType
{
get { return nPartType; }
set { nPartType = value; }
}
public decimal ParticipantTypeTravel
{
get { return decPartTypeTravel; }
set { decPartTypeTravel = value; }
}
public decimal ParticipantTypeExpenses
{
get { return decPartTypeExpenses; }
set { decPartTypeExpenses = value; }
}
}
class ParticipantTypeBudgets : CollectionBase
{
public void Add(ParticipantTypeBudget partTypeBudgetObject)
{ InnerList.Add(partTypeBudgetObject); }
public void Remove(int Index)
{ InnerList.RemoveAt(Index); }
public ParticipantTypeBudget Item(int Index)
{ return (ParticipantTypeBudget)InnerList[Index]; }
}
public class ParticipantPrimaryBudget : ProgramBudget
{
public int ParticipantBudgetHDRID
{
get { return nParticipantBudgetHDRID; }
set { nParticipantBudgetHDRID = value; }
}
public int ParticipantID
{
get { return nParticipant; }
set { nParticipant = value; }
}
public string ParticipantBudgetComment
{
get { return strParticipantComment; }
set { strParticipantComment = value; }
}
public decimal ParticipantPrimaryTravelBudget
{
get { return decPartPrimTravelBudget; }
set { decPartPrimTravelBudget = value; }
}
public decimal ParticipantPrimaryExpenseBudget
{
get { return decPartPrimExpenseBudget; }
set { decPartPrimExpenseBudget = value; }
}
public decimal ParticipantPrimaryRegFee
{
get { return decPartPrimRegFee; }
set { decPartPrimRegFee = value; }
}
}
public class ParticipantActualTravelBudget : ProgramBudget
{
public int ParticipantBudgetDTLID
{
get { return nParticipantBudgetDTLID; }
set { nParticipantBudgetDTLID = value; }
}
public int ParticipantBudgetDTLTravelID
{
get { return nParticipantBudgetDTLTravelID; }
set { nParticipantBudgetDTLTravelID = value; }
}
public int FundingSource
{
get { return nActualTravelSource; }
set { nActualTravelSource = value; }
}
public string ReferenceCode
{
get { return strActualTravelSourceRefCode; }
set { strActualTravelSourceRefCode = value; }
}
public decimal Air
{
get { return decActualTravelAir; }
set { decActualTravelAir = value; }
}
public decimal Ground
{
get { return decActualTravelGround; }
set { decActualTravelGround = value; }
}
public decimal Miscellaneous
{
get { return decActualTravelMisc; }
set { decActualTravelMisc = value; }
}
}
class ParticipantActualTravelBudgets : CollectionBase
{
public void Add(ParticipantActualTravelBudget partActTravelBudgetObject)
{ InnerList.Add(partActTravelBudgetObject); }
public void RemoveAt(int Index)
{ InnerList.RemoveAt(Index); }
public ParticipantActualTravelBudget Item(int Index)
{ return (ParticipantActualTravelBudget)InnerList[Index]; }
}
public class ParticipantActualExpensesBudget : ProgramBudget
{
public int ParticipantBudgetDTLID
{
get { return nParticipantBudgetDTLID; }
set { nParticipantBudgetDTLID = value; }
}
public int ParticipantBudgetDTLExpenseID
{
get { return nParticipantBudgetDTLExpenseID; }
set { nParticipantBudgetDTLExpenseID = value; }
}
public int FundingSource
{
get { return nActualExpenseSource; }
set { nActualExpenseSource = value; }
}
public string ReferenceCode
{
get { return strActualExpenseSourceRefCode; }
set { strActualExpenseSourceRefCode = value; }
}
public decimal Lodging
{
get { return decActualExpenseLodging; }
set { decActualExpenseLodging = value; }
}
public decimal Catering
{
get { return decActualExpenseCatering; }
set { decActualExpenseCatering = value; }
}
public decimal Miscellaneous
{
get { return decActualExpenseMisc; }
set { decActualExpenseMisc = value; }
}
}
class ParticipantActualExpenseBudgets : CollectionBase
{
public void Add(ParticipantActualExpensesBudget partActExpensesBudgetObject)
{ InnerList.Add(partActExpensesBudgetObject); }
public void RemoveAt(int Index)
{ InnerList.RemoveAt(Index); }
public ParticipantActualExpensesBudget Item(int Index)
{ return (ParticipantActualExpensesBudget)InnerList[Index]; }
}
}
}