Beispiel #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);
        }
Beispiel #2
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());
        }
Beispiel #3
0
        private void LoadBatchList()
        {
            lstList.SuspendLayout();
            lstList.Items.Clear();
            KeyValuePair <string, string> kvp;//= (KeyValuePair<string, string>)cboSchoolYear.SelectedItem;
            string schoolYear;

            if (cboSchoolYear.SelectedItem == null)
            {
                return;
            }
            else
            {
                kvp        = (KeyValuePair <string, string>)cboSchoolYear.SelectedItem;
                schoolYear = kvp.Key;
            }
            DSResponse  dsrsp  = QueryStudent.GetUpdateRecordBatchBySchoolYear(schoolYear);
            DSXmlHelper helper = dsrsp.GetContent();

            foreach (XmlNode node in helper.GetElements("UpdateRecordBatch"))
            {
                string name       = node.SelectSingleNode("Name").InnerText;
                string adn        = node.SelectSingleNode("ADNumber").InnerText;
                int    imageIndex = !string.IsNullOrEmpty(adn) ? 1 : 0;
                string id         = node.Attributes["ID"].Value;

                ListViewItem item = new ListViewItem(name, imageIndex);
                item.Tag = id;
                lstList.Items.Add(item);
            }

            lstList.ResumeLayout();
        }
Beispiel #4
0
 void _BWUpdateCode_DoWork(object sender, DoWorkEventArgs e)
 {
     try
     {
         //DSResponse dsrsp = SmartSchool.Feature.Basic.Config.GetUpdateCodeSynopsis();
         DSResponse dsrsp = Framework.Feature.Config.GetUpdateCodeSynopsis();
         _UpdateCodeEditingEvent.Reset();
         foreach (XmlNode var in dsrsp.GetContent().GetElements("異動"))
         {
             string UpdateCode, UpdateDescription, UpdateType;
             UpdateCode        = var.SelectSingleNode("代號").InnerText;
             UpdateDescription = var.SelectSingleNode("原因及事項").InnerText;
             UpdateType        = var.SelectSingleNode("分類").InnerText;
             if (!_UpdateCodeSynopsis.ContainsKey(UpdateType))
             {
                 _UpdateCodeSynopsis.Add(UpdateType, new Dictionary <string, string>());
             }
             _UpdateCodeSynopsis[UpdateType].Add(UpdateCode, UpdateDescription);
         }
         _UpdateCodeEditingEvent.Set();
     }
     catch { }
     finally
     {
         _UpdateCodeLoadedEvent.Set();
     }
 }
Beispiel #5
0
        /// <summary>
        /// 直接用DSAUtil來呼叫Service
        /// </summary>
        /// <param name="service">服務名稱</param>
        /// <param name="req">申請文件</param>
        /// <returns></returns>
        private DSResponse CallTestingService(string service, DSRequest req)
        {
            FISCA.DSAClient.Connection vConnection = new FISCA.DSAClient.Connection();

            vConnection.Connect(mAccessPoint,"" , mFullUserName , mPassword);

            if (vConnection.IsConnected)
            {
                try
                {
                    Envelope vRequest = new Envelope();

                    vRequest.Body = new XmlStringHolder(req.GetContent().GetRawXml());
                    Envelope vResponse = vConnection.SendRequest(service,vRequest);

                    DSResponse rsp = new DSResponse();

                    rsp.SetContent(vResponse.Body.XmlString);

                    return rsp;
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }
                finally
                {
                    vConnection = null;
                }
            }
            else
                throw new Exception("無法與DSA連線");

            return null;
        }
        /// <summary>
        /// 取得節次類型
        /// </summary>
        /// <returns>節次類型清單</returns>
        public static List <string> GetPeriodTypeItems()
        {
            string targetService = "SmartSchool.Config.GetList";

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

            DSXmlHelper helper = new DSXmlHelper("GetListRequest");

            helper.AddElement("Field");
            helper.AddElement("Field", "Content", "");
            helper.AddElement("Condition");
            helper.AddElement("Condition", "Name", "節次對照表");

            DSRequest  req = new DSRequest(helper.BaseElement);
            DSResponse rsp = FISCA.Authentication.DSAServices.CallService(targetService, req);

            foreach (XmlElement element in rsp.GetContent().GetElements("List/Periods/Period"))
            {
                string type = element.GetAttribute("Type");

                if (!list.Contains(type))
                {
                    list.Add(type);
                }
            }
            return(list);
        }
        public StatisticWeightConfig()
        {
            InitializeComponent();

            DSResponse        dsrsp      = Config.GetPeriodList();
            DSXmlHelper       helper     = dsrsp.GetContent();
            List <PeriodInfo> collection = new List <PeriodInfo>();

            foreach (XmlElement element in helper.GetElements("Period"))
            {
                PeriodInfo info = new PeriodInfo(element);
                collection.Add(info);
            }
            collection.Sort(SortByOrder);
            foreach (PeriodInfo info in collection)
            {
                int             index = dataGridView.Rows.Add();
                DataGridViewRow row   = dataGridView.Rows[index];
                row.Cells[colPeriod.Index].Value = info.Name;
                row.Cells[colType.Index].Value   = info.Type;
                row.Cells[colOrder.Index].Value  = info.Sort;
                row.Cells[colWeight.Index].Value = info.Aggregated;

                ValidateRow(row);
            }
        }
Beispiel #8
0
        public static DSResponse GetSCAttendBrief(params string[] courseid)
        {
            DSXmlHelper helper = new DSXmlHelper("SelectRequest");

            helper.AddElement("Field");
            helper.AddElement("Field", "ID");
            helper.AddElement("Field", "RefStudentID");
            helper.AddElement("Field", "RefCourseID");
            helper.AddElement("Field", "ClassName");
            helper.AddElement("Field", "StudentNumber");
            helper.AddElement("Field", "SeatNumber");
            helper.AddElement("Field", "Name");
            helper.AddElement("Field", "Score");
            helper.AddElement("Field", "Extension");
            helper.AddElement("Condition");
            foreach (string var in courseid)
            {
                helper.AddElement("Condition", "CourseID", var);
            }
            helper.AddElement("Order");
            helper.AddElement("Order", "ClassName", "ASC");
            helper.AddElement("Order", "SeatNumber", "ASC");
            DSRequest  dsreq = new DSRequest(helper);
            DSResponse rsp   = FISCA.Authentication.DSAServices.CallService("SmartSchool.Course.GetSCAttend", dsreq);

            return(rsp);
        }
Beispiel #9
0
        public void InvokGraduationPlanUpdated(string id)
        {
            GraduationPlanInfo oldInfo = null;
            GraduationPlanInfo newInfo = null;

            if (GraduationPlan.GraduationPlan.Instance._Items.ContainsKey(id))
            {
                oldInfo = GraduationPlan.GraduationPlan.Instance._Items[id];
                DSResponse        resp     = QueryGraduationPlan.GetGraduationPlan(id);
                List <XmlElement> SortList = new List <XmlElement>();
                XmlElement        gPlan    = resp.GetContent().GetElement("GraduationPlan");
                if (gPlan != null)
                {
                    newInfo = new GraduationPlanInfo(gPlan);
                    GraduationPlan.GraduationPlan.Instance._Items[id] = newInfo;
                }
                else
                {
                    GraduationPlan.GraduationPlan.Instance._Items.Remove(id);
                }
            }
            if (GraduationPlanUpdated != null)
            {
                GraduationPlanUpdated.Invoke(this, new UpdateGraduationPlanEventArgs(oldInfo, newInfo));
            }
        }
Beispiel #10
0
        public static List <SemesterScoreRecord> GetSemesterScores(IEnumerable <string> primaryKeys)
        {
            DSXmlHelper helper = new DSXmlHelper("GetSemesterSubjectScore");

            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", "StudentIDList");
            foreach (var each in primaryKeys)
            {
                helper.AddElement("Condition/StudentIDList", "ID", each);
            }

            DSResponse rsp = FISCA.Authentication.DSAServices.CallService("SmartSchool.Score.GetSemesterSubjectScore", new DSRequest(helper));

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

            foreach (XmlElement element in rsp.GetContent().GetElements("SemesterSubjectScore"))
            {
                SemesterScoreRecord record = new SemesterScoreRecord(element);
                result.Add(record);
            }
            return(result);
        }
        public string StartG2(string strUserName, string strPassword, int portNo)
        {
            LogMsg("StartG2: StartG2 called.");
            DSResponse response = new DSResponse();

            string  strErrMsg = "";
            BSLUser objUser   = GetUser(strUserName, strPassword, ref strErrMsg);

            if (objUser == null)
            {
                response.G2MgrResponse.AddG2MgrResponseRow("", strErrMsg, 1);
                return(response.GetXml());
            }

            LogMsg("StartG2: Successfully retrieved user.");

            BSLCompany objCompany = objUser.GetCompany();

            LogMsg("StartG2: Successfully retrieved user's company.");

            LogMsg("StartG2: About to call ShellG2.");

            if (!ShellG2(portNo, objCompany, ref strErrMsg))
            {
                LogMsg("StartG2: " + strErrMsg + " occured in ShellG2.");
                response.G2MgrResponse.AddG2MgrResponseRow("", strErrMsg, 1);
                return(response.GetXml());
            }

            LogMsg("StartG2: Successfully Shelled G2.");

            response.G2MgrResponse.AddG2MgrResponseRow("Started", "", 0);
            return(response.GetXml());

            //			XmlDocument xDoc = new XmlDocument();
            //			xDoc.LoadXml(response.GetXml());
            //			NameTable nt = new NameTable();
            //			XmlNamespaceManager nsmgr = new XmlNamespaceManager(nt);
            //			nsmgr.AddNamespace("dsresponse", "http://tempuri.org/DSResponse.xsd");
            //			XmlNode nodeErrCode = xDoc.DocumentElement.SelectSingleNode("//dsresponse:errorCode", nsmgr);
            //			if (nodeErrCode.InnerText.Equals("0"))
            //			{
            //				try
            //				{
            //					XmlNode nodeResults = xDoc.DocumentElement.SelectSingleNode("//dsresponse:results", nsmgr);
            //					if (nodeResults != null)
            //					{
            //						string s = nodeResults.InnerText;
            //						DSUser ds2 = new DSUser();
            //						System.Xml.XmlDataDocument xDataDoc = new XmlDataDocument(ds2);
            //						xDataDoc.LoadXml(s);
            //						if (ds2.TUsers.Count > 0)
            //							s = ds2.TUsers[0].firstName;
            //					}
            //				}
            //				catch(Exception ex)
            //				{
            //				}
            //			}
        }
Beispiel #12
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>());
            }
        }
        //德行成績 -> 等第
        private string ParseLevel(decimal score)
        {
            if (_degreeList == null)
            {
                _degreeList = new Dictionary <string, decimal>();
                DSResponse  dsrsp  = SmartSchool.Feature.Basic.Config.GetDegreeList();
                DSXmlHelper helper = dsrsp.GetContent();
                foreach (XmlElement element in helper.GetElements("Degree"))
                {
                    decimal low = decimal.MinValue;
                    if (!decimal.TryParse(element.GetAttribute("Low"), out low))
                    {
                        low = decimal.MinValue;
                    }
                    _degreeList.Add(element.GetAttribute("Name"), low);
                }
            }

            foreach (string var in _degreeList.Keys)
            {
                if (_degreeList[var] <= score)
                {
                    return(var);
                }
            }
            return("");
        }
Beispiel #14
0
        /// <summary>
        /// 取得對照表
        /// </summary>
        /// <param name="type">類別</param>
        /// <returns>項目列表</returns>
        public static List <MappingItem> GetActivityRecordMappingItems(string type)
        {
            string             targetService = "UDSInvokeService.Invoke";
            List <MappingItem> items         = new List <MappingItem>();

            DSXmlHelper helper = new DSXmlHelper("Request");

            helper.AddElement("Condition");
            helper.AddElement("Condition", "類別", type);

            helper.BaseElement.SetAttribute("Package", PACKAGE_NAME);
            helper.BaseElement.SetAttribute("Service", SERIVCE_取得活動表現紀錄對照表);

            DSResponse rsp = FISCA.Authentication.DSAServices.CallService(targetService, new DSRequest(helper.BaseElement));

            foreach (XmlNode node in rsp.GetContent().BaseElement.SelectNodes("項目"))
            {
                XmlElement element = (XmlElement)node;

                int count;
                if (!int.TryParse(element.GetAttribute("數量"), out count))
                {
                    count = 1;
                }

                MappingItem item = new MappingItem();
                item.Item  = element.GetAttribute("細項");
                item.Type  = element.GetAttribute("類別");
                item.Count = count;
                items.Add(item);
            }

            return(items);
        }
Beispiel #15
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);
        }
        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("");
        }
Beispiel #17
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);
        }
Beispiel #18
0
 public BackGroundInfo(DSResponse moralList, DSResponse scoreList, decimal limit)
 {
     _commonList = new Dictionary <string, string>();
     _limit      = limit;
     _moralList  = moralList;
     _scoreList  = scoreList;
 }
Beispiel #19
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);
        }
 private void _BKWGraduationPlanLoader_DoWork(object sender, DoWorkEventArgs e)
 {
     _LoadGraduationPlanAgain = true;
     while (_LoadGraduationPlanAgain)
     {
         try
         {
             _LoadGraduationPlanAgain = false;
             _Items = new Dictionary <string, GraduationPlanInfo>();
             DSResponse        resp     = QueryGraduationPlan.GetGraduationPlan();
             List <XmlElement> SortList = new List <XmlElement>();
             foreach (XmlElement gPlan in resp.GetContent().GetElements("GraduationPlan"))
             {
                 SortList.Add(gPlan);
             }
             SortList.Sort(new GPlanXmlSorter());
             foreach (XmlElement gPlan in SortList)
             {
                 _Items.Add(gPlan.SelectSingleNode("@ID").InnerText, new GraduationPlanInfo(gPlan));
             }
         }
         catch (Exception exc)
         {
             SmartSchool.ExceptionHandler.BugReporter.ReportException(new Exception("取得課程規劃表資料時發生錯誤。", exc), false);
         }
     }
     _LoadingEvent.Set();
 }
        public string GetG2CompanyId(string strUserName, string strPassword, int portNo)
        {
            Hashtable  sessionList = (Hashtable)Application["m_sessionList"];
            DSResponse response    = new DSResponse();

            //Retrieve application constants
            string strConnStr = (string)Context.Cache["CONN_STR"];

            string  strErrMsg = "";
            BSLUser objUser   = GetUser(strUserName, strPassword, ref strErrMsg);

            if (objUser == null)
            {
                response.G2MgrResponse.AddG2MgrResponseRow("", strErrMsg, 1);
                return(response.GetXml());
            }

            G2Process p = (G2Process)sessionList[portNo];

            if ((p == null) || (p.HasExited))
            {
                response.G2MgrResponse.AddG2MgrResponseRow("", "G2 is not running on specified port.", 1);
            }
            else
            {
                response.G2MgrResponse.AddG2MgrResponseRow(p.companyId.ToString(), "", 0);
            }

            return(response.GetXml());
        }
Beispiel #22
0
        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);
        }
        public string StartG2(string strUserName, string strPassword, int portNo, int companyId)
        {
            DSResponse response = new DSResponse();

            //Retrieve application constants

            /*string strG2Path = (string)Context.Cache["G2_PATH"];
             * string strOKPath = (string)Context.Cache["OK_PATH"];
             * string strLogPath = (string)Context.Cache["LOG_PATH"];
             * string strG2DataPath = (string)Context.Cache["G2_DATA_PATH"];*/
            string strConnStr = (string)Context.Cache["CONN_STR"];

            string  strErrMsg = "";
            BSLUser objUser   = GetUser(strUserName, strPassword, ref strErrMsg);

            if (objUser == null)
            {
                response.G2MgrResponse.AddG2MgrResponseRow("", strErrMsg, 1);
                return(response.GetXml());
            }

            if (!objUser.IsGensymAdmin)
            {
                response.G2MgrResponse.AddG2MgrResponseRow("",
                                                           "Method reserved for internal use.", 1);
                return(response.GetXml());
            }

            BSLCompany objCompany = new BSLCompany(strConnStr);

            try
            {
                objCompany.Fill(companyId);
            }
            catch (Exception ex)
            {
                response.G2MgrResponse.AddG2MgrResponseRow("", ex.Message, 1);
                LogMsg("StartG2: " + ex.Message);
                return(response.GetXml());
            }

            try
            {
                if (!ShellG2(portNo, objCompany, ref strErrMsg))
                {
                    response.G2MgrResponse.AddG2MgrResponseRow("", strErrMsg, 1);
                    return(response.GetXml());
                }
            }
            catch (Exception ex)
            {
                response.G2MgrResponse.AddG2MgrResponseRow("", ex.Message, 1);
                LogMsg("Start G2: " + ex.Message);
                return(response.GetXml());
            }

            response.G2MgrResponse.AddG2MgrResponseRow("Started", "", 0);
            return(response.GetXml());
        }
Beispiel #24
0
        public static int GetNumberScoreUseCount(string examid)
        {
            DSXmlHelper req = new DSXmlHelper("Request");

            req.AddElement(".", "ID", examid);
            DSResponse rsp = FISCA.Authentication.DSAServices.CallService("SmartSchool.Exam.GetNumberScoreUseCount", new DSRequest(req));

            return(int.Parse(rsp.GetContent().GetElement("Count").InnerText));
        }
Beispiel #25
0
        public void SetSource(XmlElement source)
        {
            _SourceSetting = true;
            IsDirty        = false;
            dataGridViewX1.Rows.Clear();
            #region 抓節次後排序
            DSResponse        dsrsp          = Config.GetPeriodList();
            List <XmlElement> PeriodInfoList = new List <XmlElement>();
            foreach (XmlElement element in dsrsp.GetContent().GetElements("Period"))
            {
                PeriodInfoList.Add(element);
            }
            PeriodInfoList.Sort(SortPeriod);
            #endregion

            #region 抓假別
            dsrsp = SmartSchool.Feature.Basic.Config.GetAbsenceList();
            List <XmlElement> AbsenceInfoList = new List <XmlElement>();
            foreach (XmlElement element in dsrsp.GetContent().GetElements("Absence"))
            {
                AbsenceInfoList.Add(element);
            }
            #endregion

            #region 填入節次假別
            List <string> _FilledPeriod = new List <string>();
            foreach (XmlElement period in PeriodInfoList)
            {
                if (!_FilledPeriod.Contains(period.GetAttribute("Type")))
                {
                    _FilledPeriod.Add(period.GetAttribute("Type"));
                    foreach (XmlElement absence in AbsenceInfoList)
                    {
                        dataGridViewX1.Rows.Add(period.GetAttribute("Type"), absence.GetAttribute("Name"));
                    }
                }
            }
            #endregion
            _Source = source;
            if (source != null)
            {
                textBoxX1.Text = _Source.GetAttribute("NoAbsenceReward");
                foreach (DataGridViewRow row in dataGridViewX1.Rows)
                {
                    XmlElement ele = (XmlElement)source.SelectSingleNode("Rule[@Period='" + row.Cells[0].Value + "' and @Absence='" + row.Cells[1].Value + "']");
                    if (ele != null)
                    {
                        row.Cells[2].Value = ele.GetAttribute("Aggregated");
                        row.Cells[3].Value = ele.GetAttribute("Subtract");
                    }
                }
            }
            _SourceSetting = false;
            _BaseString    = this.GetSource().OuterXml;
            ValidateAll();
        }
Beispiel #26
0
        private bool RemoveSelected()
        {
            DSResponse rsp = null;

            try
            {
                rsp = CourseGradeB.Feature.Legacy.QueryCourse.GetSECTake(RunningID);
            }
            catch (Exception ex)
            {
                //CurrentUser user = CurrentUser.Instance;
                //BugReporter.ReportException(user.SystemName, user.SystemVersion, ex, false);
                MsgBox.Show("移除學生修課記錄失敗:" + ex.Message, Application.ProductName);
                return(false);
            }

            List <AttendInfo> cannot = new List <AttendInfo>();
            List <AttendInfo> can    = new List <AttendInfo>();
            int index = lvStudents.Items.Count - 1;

            for (; index >= 0; index--)
            {
                AttendInfo each = lvStudents.Items[index] as AttendInfo;
                if (each.Selected)
                {
                    if (rsp.GetContent().GetElement("Score/AttendID[.='" + each.Identity + "']") == null)
                    {
                        can.Add(each);
                    }
                    else
                    {
                        cannot.Add(each);
                    }
                }
            }

            if (cannot.Count > 0)
            {
                string names = string.Empty;
                foreach (AttendInfo each in cannot)
                {
                    names += string.Format("{0,-12}  {1}", each.Class, each.StudentName + "\n");
                }
                MsgBox.Show("下列學生已經有評量成績,請先刪除評量成績再移除學生修課記錄。\n\n" + names, Application.ProductName);
                return(false);
            }
            else
            {
                _delete_list.AddRange(can);
                foreach (AttendInfo each in can)
                {
                    each.Remove();
                }
                return(true);
            }
        }
Beispiel #27
0
        public static XmlElement GetAbstractList()
        {
            DSXmlHelper req = new DSXmlHelper("GetAbstractListRequest");

            req.AddElement("Field");
            req.AddElement("Field", "All");
            DSResponse rsp = FISCA.Authentication.DSAServices.CallService("SmartSchool.Exam.GetAbstractList", new DSRequest(req));

            return(rsp.GetContent().BaseElement);
        }
Beispiel #28
0
        public static DSResponse GetExamList()
        {
            DSXmlHelper helper = new DSXmlHelper("Request");

            helper.AddElement("Field");
            helper.AddElement("Field", "All");
            DSRequest  dsreq = new DSRequest(helper);
            DSResponse rsp   = FISCA.Authentication.DSAServices.CallService("SmartSchool.Exam.GetAbstractList", dsreq);

            return(rsp);
        }
Beispiel #29
0
        public static XmlElement GetIncludeExamList()
        {
            DSXmlHelper req = new DSXmlHelper("GetTemplateExamListRequest");

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

            DSResponse rsp = DSAServices.CallService("SmartSchool.ExamTemplate.GetIncludeExamList", new DSRequest(req));

            return(rsp.GetContent().BaseElement);
        }
Beispiel #30
0
 void _bkwEntryLoader_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
 {
     if (_RunningEntryID != _CurrentID)
     {
         _RunningEntryID = _CurrentID;
         _bkwEntryLoader.RunWorkerAsync(_CurrentID);
         return;
     }
     _EntryResponse = (DSResponse)e.Result;
     FillScore();
 }
Beispiel #31
0
        private static XmlElement CallNoneRequestService(string serviceName)
        {
            string     strServiceName = serviceName;
            DSResponse rsp            = DSAServices.CallService(serviceName, new DSRequest());

            if (rsp.GetContent() == null)
            {
                throw new Exception("服務未回傳任何欄位資訊。(" + strServiceName + ")");
            }

            return(rsp.GetContent().BaseElement);
        }