예제 #1
0
        public static DSResponse GetSchoolYearSubjectScoreBySchoolYear(int schoolyear, params string[] studentIDList)
        {
            DSXmlHelper helper = new DSXmlHelper("GetSchoolYearSubjectScore");
            DSRequest   dsreq  = new DSRequest();

            helper.AddElement("Field");
            helper.AddElement("Field", "ID");
            helper.AddElement("Field", "RefStudentId");
            helper.AddElement("Field", "SchoolYear");
            helper.AddElement("Field", "Semester");
            helper.AddElement("Field", "GradeYear");
            helper.AddElement("Field", "ScoreInfo");
            helper.AddElement("Condition");
            helper.AddElement("Condition", "SchoolYear", schoolyear.ToString());
            if (studentIDList.Length > 0)
            {
                helper.AddElement("Condition", "StudentIDList");
                foreach (string id in studentIDList)
                {
                    helper.AddElement("Condition/StudentIDList", "ID", id);
                }
            }
            helper.AddElement("Order");
            helper.AddElement("Order", "RefStudentId");
            helper.AddElement("Order", "SchoolYear");
            dsreq.SetContent(helper);
            DSResponse dsrsp = DSAServices.CallService("SmartSchool.Score.GetSchoolYearSubjectScore", dsreq);

            return(dsrsp);
        }
        private static Dictionary <string, ConfigurationRecord> SendRequest(DSXmlHelper request)
        {
            string srvname = "SmartSchool.Configuration.User.GetDetailList";
            Dictionary <string, ConfigurationRecord> records = new Dictionary <string, ConfigurationRecord>();

            DSXmlHelper response = DSAServices.CallService(srvname, new DSRequest(request)).GetContent();

            foreach (XmlElement each in response.GetElements("Configuration"))
            {
                DSXmlHelper helper = new DSXmlHelper(each);
                string      name   = helper.GetText("Name");

                XmlElement configdata = null;
                foreach (XmlNode content in helper.GetElement("Content").ChildNodes)
                {
                    if (content.NodeType == XmlNodeType.Element) //內容可能是以「Configurations」為 Root,也可能是舊的格式。
                    {
                        configdata = content as XmlElement;
                    }
                }

                if (configdata == null)
                {
                    configdata = DSXmlHelper.LoadXml("<" + ConfigurationRecord.RootName + "/>");
                }

                records.Add(name, new ConfigurationRecord(name, configdata as XmlElement));
            }

            return(records);
        }
예제 #3
0
        public static DSResponse GetGraduationPlanList()
        {
            DSXmlHelper request = new DSXmlHelper("Request");

            request.AddElement(".", "Field", "<ID/><Name/>", true);
            return(DSAServices.CallService("SmartSchool.GraduationPlan.GetDetailList", new DSRequest(request)));
        }
예제 #4
0
        protected override Dictionary <string, TagRecord> GetData(IEnumerable <string> primaryKeys)
        {
            bool        execute_required = false;
            DSXmlHelper helper           = new DSXmlHelper("Request");

            helper.AddElement("Field");
            helper.AddElement("Field", "All");
            helper.AddElement("Condition");

            foreach (string each in primaryKeys)
            {
                helper.AddElement("Condition", "ID", each);
                execute_required = true;
            }

            DSRequest dsreq = new DSRequest(helper);
            Dictionary <string, TagRecord> result = new Dictionary <string, TagRecord>();

            if (execute_required)
            {
                string srvname = ServiceName;
                foreach (var item in DSAServices.CallService(srvname, dsreq).GetContent().GetElements("Tag"))
                {
                    TagRecord tag = new TagRecord(item);
                    result.Add(tag.ID, tag);
                }
            }

            return(result);
        }
예제 #5
0
        public static List <StudentRecord> GetStudents(IEnumerable <string> primaryKeys)
        {
            bool        hasKey = false;
            DSRequest   dsreq  = new DSRequest();
            DSXmlHelper helper = CreateBriefFieldHelper();

            helper.AddElement("Condition");
            foreach (string var in primaryKeys)
            {
                helper.AddElement("Condition", "ID", var);
                hasKey = true;
            }
            helper.AddElement("Order");
            dsreq.SetContent(helper);
            if (hasKey)
            {
                DSResponse           dsrsp  = DSAServices.CallService("SmartSchool.Student.GetAbstractListWithTag", dsreq);
                List <StudentRecord> result = new List <StudentRecord>();
                foreach (XmlElement var in dsrsp.GetContent().GetElements("Student"))
                {
                    result.Add(new StudentRecord(var));
                    System.Diagnostics.Trace.WriteLine("建立StudentRecord{0}", DateTime.Now.ToLongTimeString());
                }
                return(result);
            }
            else
            {
                return(new List <StudentRecord>());
            }
        }
예제 #6
0
        public static DSResponse GetScoreCalcRuleList()
        {
            DSXmlHelper request = new DSXmlHelper("Request");

            request.AddElement(".", "Field", "<ID/><Name/>", true);
            return(DSAServices.CallService("SmartSchool.ScoreCalcRule.GetScoreCalcRule", new DSRequest(request)));
        }
예제 #7
0
        protected override Dictionary <string, List <T> > GetAllData()
        {
            DSXmlHelper helper = new DSXmlHelper("Request");

            helper.AddElement("Field");
            helper.AddElement("Field", "All");

            DSRequest dsreq = new DSRequest(helper);
            Dictionary <string, List <T> > result = new Dictionary <string, List <T> >();
            string srvname = ServiceName;

            foreach (var item in DSAServices.CallService(srvname, dsreq).GetContent().GetElements("Tag"))
            {
                T objT = new T();
                objT.Initialize(item);

                if (!result.ContainsKey(objT.RefEntityID))
                {
                    result.Add(objT.RefEntityID, new List <T>());
                }

                result[objT.RefEntityID].Add(objT);
            }
            return(result);
        }
예제 #8
0
        public static DSResponse GetExtension(string nameSpace, string[] fields, string[] studentIDs)
        {
            if (studentIDs.Length == 0)
            {
                return(null);
            }
            DSRequest   dsreq  = new DSRequest();
            DSXmlHelper helper = new DSXmlHelper("Request");

            helper.SetAttribute(".", "Namespace", nameSpace);
            helper.AddElement("Field");
            foreach (string field in fields)
            {
                helper.AddElement("Field", field);
            }
            if (fields.Length == 0)
            {
                helper.AddElement("Field", "All.Field");
            }
            helper.AddElement("Condition");
            foreach (string id in studentIDs)
            {
                helper.AddElement("Condition", "ID", id);
            }
            dsreq.SetContent(helper);
            DSResponse dsrsp = DSAServices.CallService("SmartSchool.Student.GetExtend", dsreq);

            return(dsrsp);
        }
예제 #9
0
        public static List <TeacherRecord> GetTeachers(IEnumerable <string> primaryKeys)
        {
            bool        hasKey = false;
            DSRequest   dsreq  = new DSRequest();
            DSXmlHelper helper = CreateBriefFieldHelper();

            helper.AddElement("Condition");
            foreach (var key in primaryKeys)
            {
                hasKey = true;
                helper.AddElement("Condition", "ID", key);
            }
            helper.AddElement("Order");
            List <TeacherRecord> result = new List <TeacherRecord>();

            if (hasKey)
            {
                dsreq.SetContent(helper);
                DSResponse dsrsp = DSAServices.CallService("SmartSchool.Teacher.GetDetailList", dsreq);
                foreach (XmlElement var in dsrsp.GetContent().GetElements("Teacher"))
                {
                    result.Add(new TeacherRecord(var));
                }
            }
            return(result);
        }
예제 #10
0
        //┤·╕╒е╬
        public static DSResponse GetTeacherDetailTest(params string[] idList)
        {
            DSXmlHelper helper = new DSXmlHelper("GetDetailListRequest");

            helper.AddElement("Field");
            helper.AddElement("Field", "ID");
            helper.AddElement("Field", "TeacherName");
            helper.AddElement("Field", "Nickname");
            helper.AddElement("Field", "Gender");
            helper.AddElement("Field", "IDNumber");
            helper.AddElement("Field", "ContactPhone");
            //helper.AddElement("Field", "Email");
            //helper.AddElement("Field", "Photo");
            helper.AddElement("Field", "Category");
            //helper.AddElement("Field", "SmartTeacherLoginName");
            //helper.AddElement("Field", "SmartTeacherPassword");
            //helper.AddElement("Field", "RemoteAccount");
            helper.AddElement("Field", "Status");
            if (idList.Length > 0)
            {
                helper.AddElement("Condition");
                foreach (string var in idList)
                {
                    helper.AddElement("Condition", "TeacherID", var);
                }
            }
            helper.AddElement("Order");
            helper.AddElement("Order", "TeacherName");
            return(DSAServices.CallService("SmartSchool.Teacher.GetDetailList", new DSRequest(helper)));
        }
예제 #11
0
        public static DSResponse GetTeacherListWithSupervisedByClassInfo(params string[] teacherIdList)
        {
            DSXmlHelper helper = new DSXmlHelper("GetDetailListRequest");

            helper.AddElement("Field");
            helper.AddElement("Field", "ID");
            helper.AddElement("Field", "TeacherName");
            helper.AddElement("Field", "Nickname");
            helper.AddElement("Field", "Gender");
            helper.AddElement("Field", "IDNumber");
            helper.AddElement("Field", "ContactPhone");
            helper.AddElement("Field", "Category");
            helper.AddElement("Field", "SupervisedByClassID");
            helper.AddElement("Field", "SupervisedByClassName");
            helper.AddElement("Field", "SupervisedByGradeYear");
            helper.AddElement("Field", "Status");
            helper.AddElement("Condition");
            if (teacherIdList.Length > 0)
            {
                helper.AddElement("Condition", "IDList");
                foreach (string id in teacherIdList)
                {
                    helper.AddElement("Condition/IDList", "ID", id);
                }
            }
            helper.AddElement("Order");
            helper.AddElement("Order", "TeacherName");
            return(DSAServices.CallService("SmartSchool.Teacher.GetDetailListWithSupervisedByClassInfo", new DSRequest(helper)));
        }
예제 #12
0
        /// <summary>
        /// 取得詳細資料列表
        /// </summary>
        /// <param name="id">學生編號</param>
        /// <returns></returns>
        public static DSResponse GetDetailList(IEnumerable <string> fields, params string[] list)
        {
            DSRequest   dsreq  = new DSRequest();
            DSXmlHelper helper = new DSXmlHelper("GetStudentListRequest");

            helper.AddElement("Field");
            bool hasfield = false;

            foreach (string field in fields)
            {
                helper.AddElement("Field", field);
                hasfield = true;
            }
            if (!hasfield)
            {
                throw new Exception("必須傳入Field");
            }
            helper.AddElement("Condition");
            foreach (string id in list)
            {
                helper.AddElement("Condition", "ID", id);
            }
            dsreq.SetContent(helper);
            return(DSAServices.CallService("SmartSchool.Student.GetDetailList", dsreq));
        }
예제 #13
0
        public static DSXmlHelper GetSemesterEntryScoreBySemester(bool includePlace, string schoolYear, string semester, EntryGroup group, params string[] studentIDList)
        {
            DSXmlHelper helper = new DSXmlHelper("GetSemesterEntryScore");
            DSRequest   dsreq  = new DSRequest();

            helper.AddElement("Field");
            helper.AddElement("Field", "ID");
            helper.AddElement("Field", "RefStudentId");
            helper.AddElement("Field", "ScoreInfo");
            if (includePlace)
            {
                helper.AddElement("Field", "ClassRating");
                helper.AddElement("Field", "DeptRating");
                helper.AddElement("Field", "YearRating");
            }

            helper.AddElement("Condition");
            if (studentIDList.Length > 0)
            {
                helper.AddElement("Condition", "StudentIDList");
                foreach (string id in studentIDList)
                {
                    helper.AddElement("Condition/StudentIDList", "ID", id);
                }
            }
            helper.AddElement("Condition", "SchoolYear", schoolYear);
            helper.AddElement("Condition", "Semester", semester);
            helper.AddElement("Condition", "EntryGroup", group.ToString());

            dsreq.SetContent(helper);
            DSResponse dsrsp = DSAServices.CallService("SmartSchool.Score.GetSemesterEntryScore", dsreq);

            return(dsrsp.GetContent());
        }
예제 #14
0
        public static void SetExtend(string nameSpace, string field, IDictionary <string, string> list)
        {
            if (list.Count == 0)
            {
                return;
            }
            foreach (string var in new string[] { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9" })
            {
                if (field.StartsWith(var))
                {
                    throw new Exception("欄位名稱開頭不可為數字");
                }
            }
            DSRequest   dsreq  = new DSRequest();
            DSXmlHelper helper = new DSXmlHelper("Request");

            helper.SetAttribute(".", "Namespace", nameSpace);
            foreach (string id in list.Keys)
            {
                helper.AddElement("Student");
                helper.SetAttribute("Student", "ID", id);
                if (string.IsNullOrEmpty(list[id]))
                {
                    helper.AddElement("Student", field);
                }
                else
                {
                    helper.AddElement("Student", field, list[id]);
                }
            }
            dsreq.SetContent(helper);
            DSAServices.CallService("SmartSchool.Student.SetExtend", dsreq);
        }
예제 #15
0
        /// <summary>
        /// 取得指定的學生的缺曠紀錄
        /// </summary>
        /// <param name="primaryKeys">學生ID的集合</param>
        /// <returns></returns>
        public static List <AttendanceRecord> GetAttendanceRecords(IEnumerable <string> primaryKeys)
        {
            bool haskey = false;

            StringBuilder req = new StringBuilder("<Request><Field><All/></Field><Condition>");

            foreach (string key in primaryKeys)
            {
                req.Append("<RefStudentID>" + key + "</RefStudentID>");
                haskey = true;
            }

            req.Append("</Condition><Order><SchoolYear/><Semester/><OccurDate/></Order></Request>");

            List <AttendanceRecord> result = new List <AttendanceRecord>();

            if (haskey)
            {
                foreach (XmlElement item in DSAServices.CallService(GET_ATTENDANCE, new DSRequest(req.ToString())).GetContent().GetElements("Attendance"))
                {
                    result.Add(new AttendanceRecord(item));
                }
            }

            return(result);
        }
예제 #16
0
        public static void Main()
        {
            DSAServices.AutoDisplayLoadingMessageOnMotherForm();

            if (DSAServices.AccessPoint.ToLower() != "dsaserverman.ischool.com.tw")
            {
                throw new ApplicationStartupException("不支援,請登入 dsaserverman.ischool.com.tw!");
            }

            GlobalSchoolCache = new DynamicCache(); //建立一個空的快取。

            InitAsposeLicense();
            InitStartMenu();
            InitConfigurationStorage();
            InitMainPanel();

            new Fields.FieldManager();
            new DetailItems();
            new RibbonButtons();
            //new ImportExport();//匯入學校資料

            RefreshFilteredSource();

            FISCA.Presentation.MotherForm.Form.Text = GetTitleText();
        }
예제 #17
0
        public static string Insert(string name, string schoolYear, string semester, string viewerType, Dictionary <string, string> metadata)
        {
            DSXmlHelper dsreq = new DSXmlHelper("Request");

            dsreq.AddElement("ElectronicPaper");
            dsreq.AddElement("ElectronicPaper", "Name", name);
            dsreq.AddElement("ElectronicPaper", "SchoolYear", schoolYear);
            dsreq.AddElement("ElectronicPaper", "Semester", semester);
            dsreq.AddElement("ElectronicPaper", "ViewerType", viewerType);

            if (metadata != null)
            {
                DSXmlHelper hlpmd = new DSXmlHelper("Metadata");
                foreach (KeyValuePair <string, string> each in metadata)
                {
                    XmlElement item = hlpmd.AddElement("Item");
                    item.SetAttribute("Name", each.Key);
                    item.SetAttribute("Value", each.Value);
                }
                dsreq.AddElement("ElectronicPaper", hlpmd.BaseElement);
            }

            DSResponse dsrsp = DSAServices.CallService("SmartSchool.ElectronicPaper.Insert", new DSRequest(dsreq));

            if (dsrsp.HasContent)
            {
                DSXmlHelper helper = dsrsp.GetContent();
                string      newid  = helper.GetText("NewID");
                return(newid);
            }
            return("");
        }
예제 #18
0
        public static List <CourseRecord> GetAllCourses()
        {
            DSRequest   dsreq  = new DSRequest();
            DSXmlHelper helper = new DSXmlHelper("GetDetailListRequest");

            helper.AddElement("Field");
            helper.AddElement("Field", "ID");
            helper.AddElement("Field", "CourseName");
            helper.AddElement("Field", "SchoolYear");
            helper.AddElement("Field", "Semester");
            helper.AddElement("Field", "Period");
            helper.AddElement("Field", "Credit");
            //helper.AddElement("Field", "IsRequired");
            //helper.AddElement("Field", "RequiredBy");
            helper.AddElement("Field", "RefExamTemplateID");
            helper.AddElement("Field", "RefClassID");
            helper.AddElement("Field", "Subject");
            helper.AddElement("Field", "Domain");
            helper.AddElement("Field", "CourseNumber");
            helper.AddElement("Field", "ScoreCalcFlag");
            helper.AddElement("Condition");
            helper.AddElement("Order");
            helper.AddElement("Order", "ID");
            helper.AddElement("Order", "Sequence");
            dsreq.SetContent(helper);
            DSResponse          dsrsp  = DSAServices.CallService("SmartSchool.Course.GetDetailList", dsreq);
            List <CourseRecord> result = new List <CourseRecord>();

            foreach (XmlElement var in dsrsp.GetContent().GetElements("Course"))
            {
                result.Add(new CourseRecord(var));
            }
            return(result);
        }
예제 #19
0
파일: Class.cs 프로젝트: ischoolinc/JHCore
        public static List <int> ListSeatNo(string classID)
        {
            DSRequest   dsreq  = new DSRequest();
            DSXmlHelper helper = new DSXmlHelper("ListSeatNoRequest");

            helper.AddElement("Field");
            helper.AddElement("Field", "All");
            helper.AddElement("Condition");
            helper.AddElement("Condition", "RefClassID", classID);

            dsreq.SetContent(helper);
            DSResponse rsp = DSAServices.CallService("SmartSchool.Class.ListSeatNo", dsreq);

            List <int> list = new List <int>();

            foreach (XmlNode node in rsp.GetContent().GetElements("SeatNo"))
            {
                int no;
                if (int.TryParse(node.InnerText, out no))
                {
                    list.Add(no);
                }
            }
            return(list);
        }
예제 #20
0
파일: Config.cs 프로젝트: ischoolinc/JHCore
        public static DSResponse GetMoralCommentCodeList()
        {
            DSXmlHelper helper = new DSXmlHelper("Request");

            helper.AddElement("Field");
            helper.AddElement("Field", "Content");
            return(DSAServices.CallService("SmartSchool.Config.GetMoralCommentCodeList", new DSRequest(helper)));
        }
예제 #21
0
파일: Config.cs 프로젝트: ischoolinc/JHCore
        public static DSResponse GetDepartment()
        {
            DSXmlHelper helper = new DSXmlHelper("GetDepartmentListRequest");

            helper.AddElement("Field");
            helper.AddElement("Field", "All");
            return(DSAServices.CallService("SmartSchool.Config.GetDepartment", new DSRequest(helper)));
        }
예제 #22
0
        public static DSResponse GetPreference()
        {
            DSXmlHelper request = new DSXmlHelper("Content");

            request.AddElement(".", "UserName", DSAServices.UserAccount);

            return(DSAServices.CallService("SmartSchool.Personal.GetPreference", new DSRequest(request)));
        }
예제 #23
0
        public static void RemoveUpdateRecord(string updateID)
        {
            DSXmlHelper helper = new DSXmlHelper("DeleteRequest");

            helper.AddElement("UpdateRecord");
            helper.AddElement("UpdateRecord", "ID", updateID);
            DSAServices.CallService("SmartSchool.Student.UpdateRecord.Delete", new DSRequest(helper));
        }
예제 #24
0
        public static void Delete(string id)
        {
            DSXmlHelper dsreq = new DSXmlHelper("Request");

            dsreq.AddElement("ElectronicPaper");
            dsreq.AddElement("ElectronicPaper", "ID", id);
            DSAServices.CallService("SmartSchool.ElectronicPaper.Delete", new DSRequest(dsreq));
        }
예제 #25
0
        public static DSResponse GetPaperItemContentById(string id)
        {
            DSXmlHelper helper = new DSXmlHelper("Request");

            helper.AddElement("Content");
            helper.AddElement("Condition");
            helper.AddElement("Condition", "ID", id);
            return(DSAServices.CallService("SmartSchool.ElectronicPaper.GetPaperItem", new DSRequest(helper)));
        }
예제 #26
0
        public static void RemoveCourseTeachers(string courseId)
        {
            DSXmlHelper helper = new DSXmlHelper("Request");

            helper.AddElement("Course");
            helper.AddElement("Course", "CourseID", courseId);

            DSAServices.CallService("SmartSchool.Course.RemoveCourseTeacher", new DSRequest(helper));
        }
예제 #27
0
        internal static void DelTeacher(string TeacherID)
        {
            DSXmlHelper req = new DSXmlHelper("DeleteRequest");

            req.AddElement("Teacher");
            req.AddElement("Teacher", "Condition");
            req.AddElement("Teacher/Condition", "ID", TeacherID);
            DSAServices.CallService("SmartSchool.Teacher.Delete", new DSRequest(req.BaseElement));
        }
예제 #28
0
        public static XmlElement GetShiftCheckList(string key, string value)
        {
            DSXmlHelper request = new DSXmlHelper("GetShiftCheckList");

            request.AddElement(key);
            request.AddElement(value);

            return(DSAServices.CallService("SmartSchool.Teacher.BulkProcessJH.GetShiftCheckList", new DSRequest(request)).GetContent().BaseElement);
        }
예제 #29
0
        /// <summary>
        /// 取得異動名冊資料
        /// </summary>
        /// <param name="id">名冊編號</param>
        /// <returns>結果</returns>
        public static DSResponse GetUpdateRecordBatch(string id)
        {
            DSXmlHelper helper = new DSXmlHelper("GetUpdateRecordBatchRequest");

            helper.AddElement("Field");
            helper.AddElement("Field", "All");
            helper.AddElement("Condition");
            helper.AddElement("Condition", "ID", id);
            return(DSAServices.CallService("SmartSchool.Student.UpdateRecord.GetBatchDetailList", new DSRequest(helper)));
        }
예제 #30
0
        public static void UpdatePaperName(string new_name, string id)
        {
            DSXmlHelper dsreq = new DSXmlHelper("Request");

            dsreq.AddElement("ElectronicPaper");
            dsreq.AddElement("ElectronicPaper", "Name", new_name);
            dsreq.AddElement("ElectronicPaper", "Condition");
            dsreq.AddElement("ElectronicPaper/Condition", "ID", id);
            DSAServices.CallService("SmartSchool.ElectronicPaper.Update", new DSRequest(dsreq));
        }