///////////////////////////////////////////

        public AnnouncementQueryResult GetSupplementalAnnouncementOrderedByDate(SupplementalAnnouncementQuery query)
        {
            var ps = new Dictionary <string, object>
            {
                ["standardId"] = query.StandardId
            };

            return(InternalGetAnnouncements("spGetSupplementalAnnouncementsOrderedByDate", query, ps));
        }
        public AnnouncementQueryResult GetSupplementalAnnouncementOrderedByClassName(SupplementalAnnouncementQuery query)
        {
            var ps = new Dictionary <string, object>
            {
                ["fromClassName"] = query.FromClassName,
                ["toClassName"]   = query.ToClassName
            };

            return(InternalGetAnnouncements("spGetSupplementalAnnouncementsOrderedByClassName", query, ps));
        }
        protected virtual AnnouncementQueryResult InternalGetAnnouncements(string procedureName, SupplementalAnnouncementQuery query, IDictionary <string, object> additionalParams)
        {
            if (additionalParams == null)
            {
                additionalParams = new Dictionary <string, object>();
            }

            additionalParams.Add("schoolYearId", query.ClassId.HasValue ? (int?)null : _schoolYearId);
            additionalParams.Add("classId", query.ClassId);
            additionalParams.Add("teacherId", query.TeacherId);
            additionalParams.Add("studentId", query.StudentId);

            return(InternalGetAnnouncements <SupplementalAnnouncementQuery>(procedureName, query, additionalParams));
        }