public IList <SchoolYear> GetPreviousSchoolYears(DateTime currentSyStartDate, int schoolId, int count = 1)
        {
            var conds = new AndQueryCondition
            {
                { SchoolYear.END_DATE_FIELD, currentSyStartDate, ConditionRelation.LessEqual },
                { SchoolYear.SCHOOL_REF_FIELD, schoolId, ConditionRelation.Equal }
            };

            var dbQuery = Orm.SimpleSelect <SchoolYear>(conds, count);

            Orm.OrderBy(dbQuery, nameof(SchoolYear), SchoolYear.END_DATE_FIELD, Orm.OrderType.Desc);

            return(ReadMany <SchoolYear>(dbQuery));
        }
        public LessonPlan GetLastDraft(int personId)
        {
            var conds = new AndQueryCondition
            {
                { Announcement.STATE_FIELD, AnnouncementState.Draft },
                { LessonPlan.SCHOOL_SCHOOLYEAR_REF_FIELD, schoolYearId }
            };
            var dbQuery       = SelectLessonPlan(conds);
            var callerIdParam = "callerId";

            dbQuery.Sql.AppendFormat($" and ClassRef in (select ClassRef from ClassTeacher where ClassTeacher.PersonRef =@{callerIdParam})");
            dbQuery.Parameters.Add(callerIdParam, personId);
            Orm.OrderBy(dbQuery, LessonPlan.VW_LESSON_PLAN_NAME, Announcement.CREATED_FIELD, Orm.OrderType.Desc);
            return(ReadOneOrNull <LessonPlan>(dbQuery));
        }
        public SupplementalAnnouncement GetLastDraft(int personId)
        {
            var conds = new AndQueryCondition
            {
                { Announcement.STATE_FIELD, AnnouncementState.Draft },
                { SupplementalAnnouncement.SCHOOL_SCHOOLYEAR_REF_FIELD, _schoolYearId }
            };
            var dbQuery       = SelectSupplementalAnnouncement(conds);
            var callerIdParam = "callerId";

            dbQuery.Sql.AppendFormat($" and ClassRef in (select ClassRef from ClassTeacher where ClassTeacher.PersonRef =@{callerIdParam})");
            dbQuery.Parameters.Add(callerIdParam, personId);
            Orm.OrderBy(dbQuery, SupplementalAnnouncement.VW_SUPPLEMENTAL_ANNOUNCEMENT, Announcement.CREATED_FIELD, Orm.OrderType.Desc);
            return(ReadOneOrNull <SupplementalAnnouncement>(dbQuery));
        }
Example #4
0
        //common implementation for teacher or admin
        public virtual ClassAnnouncement GetLastDraft(int personId)
        {
            var conds = new AndQueryCondition
            {
                { Announcement.STATE_FIELD, AnnouncementState.Draft },
                { ClassAnnouncement.SCHOOL_SCHOOLYEAR_REF_FIELD, schoolYearId }
            };
            var dbQuery = SelectClassAnnouncements(ClassAnnouncement.VW_CLASS_ANNOUNCEMENT_NAME, personId);

            conds.BuildSqlWhere(dbQuery, ClassAnnouncement.VW_CLASS_ANNOUNCEMENT_NAME);

            dbQuery.Sql.Append(@" and (ClassRef in (select ClassTeacher.ClassRef from ClassTeacher where ClassTeacher.PersonRef = @callerId))");
            dbQuery.Parameters.Add("callerId", personId);

            Orm.OrderBy(dbQuery, ClassAnnouncement.VW_CLASS_ANNOUNCEMENT_NAME, Announcement.CREATED_FIELD, Orm.OrderType.Desc);
            return(ReadOneOrNull <ClassAnnouncement>(dbQuery));
        }