示例#1
0
        /// <summary>
        /// Link other information against this enumerant.
        /// </summary>
        /// <param name="ctx">
        /// A <see cref="RegistryContext"/> holding the registry information to link.
        /// </param>
        internal void Link(RegistryContext ctx)
        {
            if (ctx == null)
            {
                throw new ArgumentNullException(nameof(ctx));
            }

            RequiredBy.Clear();
            RequiredBy.AddRange(GetFeaturesRequiringEnum(ctx));

            RemovedBy.Clear();
            RemovedBy.AddRange(GetFeaturesRemovingEnum(ctx));
        }
示例#2
0
        /// <summary>
        /// Link other information against this enumerant.
        /// </summary>
        /// <param name="ctx">
        /// A <see cref="RegistryContext"/> holding the registry information to link.
        /// </param>
        internal void Link(RegistryContext ctx)
        {
            if (ctx == null)
            {
                throw new ArgumentNullException("ctx");
            }

            RequiredBy.Clear();
            RequiredBy.AddRange(GetFeaturesRequiringCommand(ctx));

            RemovedBy.Clear();
            RemovedBy.AddRange(GetFeaturesRemovingCommand(ctx));

            foreach (CommandParameter commandParameter in Parameters)
            {
                commandParameter.ParentCommand = this;
            }
        }
        /// <summary>
        /// 累計應得學分
        /// </summary>
        /// <param name="pStudentID">學生系統編號</param>
        /// <param name="pSchoolYear">學年度</param>
        /// <param name="pSemester">學期</param>
        /// <param name="pRequired">必/選修</param>
        /// <param name="pRequiredBy">校/部訂</param>
        /// <param name="pSubjectType">分項類別(學業、體育、實習科目、國防通識、健康與護理、專業科目),不依據此項目統計時,傳入 null</param>
        /// <returns>學分數</returns>
        public decimal GetAccumulatedDeservedCredit(string pStudentID, List<int> pSchoolYear, List<int> pSemester, bool pRequired, RequiredBy pRequiredBy, Entry pEntry)
        {
            decimal? credit = 0;
            foreach(int schoolYear in pSchoolYear)
            {
                foreach(int semester in pSemester)
                {
                    string key = pStudentID + "_" + pSchoolYear.ToString() + "_" + pSemester;
                    foreach (SHSubjectSemesterScoreInfo shsssi in _PersonalSemesterSubjectScoreInfo[key])
                    {
                        //if (shsssi.NotIncludedInCredit)
                        //    continue;

                        if (shsssi.Entry != pEntry.ToString())
                            continue;

                        if (shsssi.RequiredBy != pRequiredBy.ToString())
                            continue;

                        if (shsssi.Required != pRequired)
                            continue;

                        credit += ((shsssi.Credit.HasValue) ? shsssi.Credit.Value : 0);
                    }
                }
            }
            return ((credit.HasValue) ? credit.Value : 0);
        }
示例#4
0
        /// <summary>
        /// 累計應得學分
        /// </summary>
        /// <param name="pStudentID">學生系統編號</param>
        /// <param name="pSchoolYear">學年度</param>
        /// <param name="pSemester">學期</param>
        /// <param name="pRequired">必/選修</param>
        /// <param name="pRequiredBy">校/部訂</param>
        /// <param name="pSubjectType">分項類別(學業、體育、實習科目、國防通識、健康與護理、專業科目),不依據此項目統計時,傳入 null</param>
        /// <returns>學分數</returns>
        public decimal GetAccumulatedDeservedCredit(string pStudentID, List <int> pSchoolYear, List <int> pSemester, bool pRequired, RequiredBy pRequiredBy, Entry pEntry)
        {
            decimal?credit = 0;

            foreach (int schoolYear in pSchoolYear)
            {
                foreach (int semester in pSemester)
                {
                    string key = pStudentID + "_" + pSchoolYear.ToString() + "_" + pSemester;
                    foreach (SHSubjectSemesterScoreInfo shsssi in _PersonalSemesterSubjectScoreInfo[key])
                    {
                        //if (shsssi.NotIncludedInCredit)
                        //    continue;

                        if (shsssi.Entry != pEntry.ToString())
                        {
                            continue;
                        }

                        if (shsssi.RequiredBy != pRequiredBy.ToString())
                        {
                            continue;
                        }

                        if (shsssi.Required != pRequired)
                        {
                            continue;
                        }

                        credit += ((shsssi.Credit.HasValue) ? shsssi.Credit.Value : 0);
                    }
                }
            }
            return((credit.HasValue) ? credit.Value : 0);
        }