public LoadableSection(string fileName, AccountSection accountSection)
        {
            FileName = fileName;

            AccountSection = accountSection;
            //LoadedSections.Add(this);
        }
        public static AccountSection Create(AccountWP account)
        {
            AccountSection section = new AccountSection(account.LocalId);

            section.Value = account;
            _initializedSchools[account.LocalId] = section;
            return(section);
        }
        public void AssignToSection(BaseItemWP item, BaseItemWP parent)
        {
            item.Parent         = parent;
            item.AccountSection = parent.AccountSection;
            item.Section        = this;

            AccountSection.AddLoadedItem(item);
        }
        public SemesterSection(AccountSection accountSection, Guid localAccountId, SemesterWP semester)
            : this(accountSection, Files.SEMESTER_FILE(localAccountId, semester.Identifier), semester.Identifier)
        {
            Year = (YearWP)semester.Parent;

            //automatically calls loaded
            Value = semester;
        }
        /// <summary>
        /// Will always returned initialized section, unless . Ensures there's only one section per each account.
        /// </summary>
        /// <param name="localAccountId"></param>
        /// <returns></returns>
        public static AccountSection Get(Guid localAccountId)
        {
            if (localAccountId == Guid.Empty)
            {
                throw new ArgumentException("localAccountId cannot be an empty GUID.");
            }

            AccountSection school;

            if (_initializedSchools.TryGetValue(localAccountId, out school))
            {
                return(school);
            }

            school = new AccountSection(localAccountId);
            _initializedSchools[localAccountId] = school;
            return(school);
        }
 public GradesSection(AccountSection accountSection, string fileName, ClassWP c)
     : base(fileName, accountSection)
 {
     _accountSection = accountSection;
     _class          = c;
 }
 public SemesterSection(AccountSection accountSection, string fileName, Guid semesterIdentifier)
     : base(fileName, accountSection)
 {
     _accountSection    = accountSection;
     SemesterIdentifier = semesterIdentifier;
 }