| using System;
                                    using System.Collections.Generic;
                                    using System.Collections;
                                    using System.Text;
                                    using EXDb97;
                                    
                                    
                                    namespace Epol
                                    {
                                    //------------------------------------------------------------------------------------------------------------
                                    
                                    public class CPolBase : CDbEPBase
                                    {
                                    
                                    
                                    public class CCommitteeRightList
                                    {
                                    public CCommitteeRightList()
                                    {
                                    m_oRightSortedList = new SortedList();
                                    }
                                    SortedList m_oRightSortedList;
                                    
                                    public void vAdd(SIdentifierIndex idCategory, SVoteRight[] oVoteRightArray)
                                    {
                                    m_oRightSortedList.Add(idCategory.dIndex, oVoteRightArray);
                                    }
                                    
                                    }
                                    
                                    public struct SProjectIndex
                                    {
                                    public SProjectIndex(SIdentifierIndex _id)
                                    {
                                    d =  _id.dIndex;
                                    }
                                    int d;
                                    }
                                    
                                    public struct SVoteRight
                                    {
                                    public SVoteRight(SProfileIndex iProfileIndex, int _dVoteCoefficient)
                                    {
                                    dProfileIndex = iProfileIndex.dIndex;
                                    dVoteCoefficient = _dVoteCoefficient;
                                    }
                                    int dProfileIndex;
                                    int dVoteCoefficient;
                                    }
                                    
                                    public struct SOrganisationIndex
                                    {
                                    public SOrganisationIndex(int _dIndex)
                                    {
                                    dIndex = _dIndex;
                                    }
                                    internal int dIndex;
                                    }
                                    
                                    public struct SCommitteeIndex
                                    {
                                    public SCommittee Index(SOrganisationIndex iOrg, SIdentifierIndex iId)
                                    {
                                    dIndex = iOrg.dIndex;
                                    dSubIndex = iId.dIndex;
                                    }
                                    internal int dIndex;
                                    internal int dSubIndex;
                                    }
                                    public struct SProfileIndex
                                    {
                                    public SProfileIndex(int _dIndex)
                                    {
                                    dIndex = _dIndex;
                                    }
                                    internal int dIndex;
                                    }
                                    
                                    
                                    public struct SSubAvatarIndex
                                    {
                                    public SSubAvatarIndex(int _dIndex)
                                    {
                                    dIndex = _dIndex;
                                    }
                                    internal int dIndex;
                                    }
                                    
                                    public struct SAvatarIndex
                                    {
                                    internal int dIndex;
                                    internal int dSubIndex;
                                    
                                    public SProfileIndex ProfileIndex
                                    {
                                    get
                                    {
                                    return new SProfileIndex(dIndex);
                                    }
                                    set
                                    {
                                    dIndex = value.dIndex;
                                    }
                                    }
                                    public SSubAvatarIndex SubAvatarIndex
                                    {
                                    get
                                    {
                                    return new SSubAvatarIndex(dSubIndex);
                                    }
                                    set
                                    {
                                    dSubIndex = value.dIndex;
                                    }
                                    }
                                    
                                    }
                                    
                                    
                                    
                                    }
                                    
                                    
                                    
                                    public class CReservationSchedule : CPolBase
                                    {
                                    public CReservationSchedule()
                                    {
                                    m_oResourceList = new SortedList();
                                    }
                                    
                                    public void vAdd(int dQte, DateTime oDate)
                                    {
                                    }
                                    public bool bIsAvailable(DateTime oBeginningDate, DateTime oEndingDate)
                                    {
                                    }
                                    
                                    public bool bReserve(int dQte, DateTime oBeginningDate, DateTime oEndingDate, SProjectIndex iProject )
                                    {
                                    }
                                    
                                    SortedList m_oResourceList;
                                    
                                    public struct SResource
                                    {
                                    int dAvaliableQuantity;
                                    int dReserveQuantity;
                                    int dIdIndex;
                                    
                                    }
                                    }
                                    
                                    public class CAccountingBase : CPolBase
                                    {
                                    
                                    public struct SAccountIndex 
                                    {
                                    public SAccountIndex(SIdentifierIndex _d)
                                    {
                                    d = _d.dIndex;
                                    }
                                    int d;
                                    public SIdentifierIndex id
                                    {
                                    get
                                    {
                                    return new SIdentifierIndex(d);
                                    }
                                    }
                                    }
                                    
                                    
                                    public struct SAgent
                                    {
                                    public SAgent(SProfileIndex _o)
                                    {
                                    m_enType = ENType.Individual;
                                    m_oPropects = _o;
                                    
                                    }
                                    public SAgent(SOrganisationIndex _o)
                                    {
                                    m_enType = ENType.Organisation;
                                    m_oPropects = _o;
                                    
                                    }
                                    public SAgent(SProfileIndex[] _o)
                                    {
                                    m_enType = ENType.IndividualArray;
                                    m_oPropects = _o;
                                    
                                    }
                                    public SAgent(SOrganisationIndex[] _o)
                                    {
                                    m_enType = ENType.IndividualArray;
                                    m_oPropects = _o;
                                    
                                    }
                                    public SAgent(SCommitteeIndex _o)
                                    {
                                    m_enType = ENType.Committee;
                                    m_oPropects = _o;
                                    
                                    }
                                    public SAgent(SAgent[] _o)
                                    {
                                    m_enType = ENType.AgentArray;
                                    m_oPropects = _o;
                                    
                                    }
                                    object m_oAgents;
                                    enum ENType
                                    {
                                    Individual,
                                    Organisation,
                                    AllIndividuals,
                                    AllOrganisations,
                                    IndividualArray,
                                    OrganisationArray,
                                    Committee,
                                    AgentArray,
                                    
                                    }
                                    ENType m_enType;
                                    }
                                    
                                    
                                    }
                                    
                                    //------------------------------------------------------------------------------------------------------------
                                    
                                    public class CObjective : CPolBase
                                    {
                                    }
                                    //------------------------------------------------------------------------------------------------------------
                                    
                                    public class COrganisation : CPolBase
                                    {
                                    public COrganisation(CCommitteeRightList _oCommitteeRightList)
                                    {
                                    m_oCommitteeRightList = _oCommitteeRightList;
                                    }
                                    
                                    CCommitteeRightList m_oCommitteeRightList;
                                    CAvatarList m_oAvatarList;
                                    
                                    
                                    public class CAvatarList : CPolBase
                                    {
                                    public CAvatarList()
                                    {
                                    m_AvatarList = new SortedList();
                                    }
                                    SortedList m_AvatarList;
                                    public void vAdd(SAvatarIndex oAvatarIndex)
                                    {
                                    m_AvatarList.Add(oAvatarIndex.dIndex, oAvatarIndex.dSubIndex);
                                    
                                    }
                                    public SSubAvatarIndex this[SProfileIndex iProfile]
                                    {
                                    get
                                    {
                                    return new SSubAvatarIndex(m_AvatarList[iProfile.dIndex]);
                                    
                                    }
                                    }
                                    }
                                    
                                    
                                    
                                    
                                    
                                    }
                                    //------------------------------------------------------------------------------------------------------------
                                    public class CInteraction : CAccountingBase
                                    {
                                    
                                    public CInteraction()
                                    {
                                    }
                                    }
                                    //------------------------------------------------------------------------------------------------------------
                                    
                                    public class CMarket : CAccountingBase
                                    {
                                    
                                    public CMarket()
                                    {
                                    }
                                    }
                                    
                                    //------------------------------------------------------------------------------------------------------------
                                    public class CAccount : CAccountingBase
                                        {
                                    
                                            public CAccount()
                                            {
                                            }
                                        }
                                    
                                        //------------------------------------------------------------------------------------------------------------
                                        public class CAccountRule : CAccountingBase
                                        {
                                    
                                            public CAccountRule()
                                            {
                                            }
                                        }
                                    
                                        //------------------------------------------------------------------------------------------------------------
                                        public class CRuleManager : CAccountingBase
                                        {
                                    
                                            public CRuleManager()
                                            {
                                            }
                                        }
                                    
                                    
                                    
                                    }
                                    
                                    
                                  |