/// <summary> /// 取得新增的社團學生參與記錄 /// </summary> public Dictionary <string, XmlHelper> GetNewStudSCJoinList() { Dictionary <string, XmlHelper> dic = new Dictionary <string, XmlHelper>(); foreach (OnlineStudent stud in GetList) { if (stud.JoinSuccess) { if (!dic.ContainsKey(stud.School)) { FISCA.DSAClient.XmlHelper _helper = new FISCA.DSAClient.XmlHelper("<Request/>"); dic.Add(stud.School, _helper); } //建立社團物件 dic[stud.School].AddElement("K12.scjoin.universal"); dic[stud.School].AddElement("K12.scjoin.universal", "Field"); dic[stud.School].AddElement("K12.scjoin.universal/Field", "Lock", "f"); dic[stud.School].AddElement("K12.scjoin.universal/Field", "RefClubId", stud.新參與社團.UID); dic[stud.School].AddElement("K12.scjoin.universal/Field", "RefStudentId", stud.Id); } } return(dic); }
private void CallTransferInWS() { TransferInRecord record = Record; try { string contract = "StudentTransferHsinchuSpecial"; string service = "SyncTransferIn"; SecurityToken token = (DSAServices.DefaultDataSource.SecurityToken as SessionToken).OriginToken; Connection conn = DSAServices.DefaultDataSource.AsContract(contract, token); XElement econtent = XElement.Parse(record.ModifiedContent); FISCA.DSAClient.XmlHelper req = new FISCA.DSAClient.XmlHelper("<Request/>"); req.AddElement(".", "TargetSchool", GetSchoolCode()); req.AddElement(".", "Writer", string.Format("{0}:{1}", DSAServices.AccessPoint, DSAServices.UserAccount)); req.AddElement(".", "StudentID", econtent.XPathSelectElement("Student").ElementText("IDNumber")); req.AddElement(".", "StudentNumber", SRecord.StudentNumber); req.AddElement(".", "Grade", SRecord.Class.GradeYear + ""); req.AddElement(".", "ClassName", SRecord.Class.Name.Substring(1)); RTOut.WriteLine(req.XmlString); RTOut.WriteLine(conn.SendRequest(service, new Envelope(req)).XmlString); } catch (Exception ex) { RTOut.WriteError(ex); } }
public int Execute(List<string> cmds) { FISCA.DSAClient.XmlHelper req = new FISCA.DSAClient.XmlHelper("<Request/>"); foreach (string cmd in cmds) req.AddElement(".", "Command", cmd); //呼叫 Service。 Envelope rsp = Connection.SendRequest("UDTService.DML.Command", new Envelope(req)); return 0; }
/// <summary> /// 取得學生學年度學期社團參與記錄 /// </summary> static public FISCA.DSAClient.XmlHelper GetSCJoinRequest(string SchoolYear, string Semester, List <string> ClubNameList) { FISCA.DSAClient.XmlHelper _xml; _xml = new FISCA.DSAClient.XmlHelper("<Reqluest/>"); _xml.AddElement("Field"); _xml.AddElement("Field", "All"); _xml.AddElement("Condition"); if (!string.IsNullOrEmpty(SchoolYear) && !string.IsNullOrEmpty(Semester)) { _xml.AddElement("Condition", "SchoolYear", SchoolYear); _xml.AddElement("Condition", "Semester", Semester); foreach (string each in ClubNameList) { _xml.AddElement("Condition", "ClubName", each); } } return(_xml); }
/// 上傳檔案到局端 - 2020/7/30參考班級鎖定功能 /// </summary> public static string UploadFile(string ID, string Data, string FileName) { string DSNS = FISCA.Authentication.DSAServices.AccessPoint; string AccessPoint = @"j.kh.edu.tw"; if (FISCA.RTContext.IsDiagMode) { string accPoint = FISCA.RTContext.GetConstant("KH_AccessPoint"); if (!string.IsNullOrEmpty(accPoint)) { AccessPoint = accPoint; } } string Contract = "log"; string ServiceName = "_.Upload"; string errMsg = ""; try { XElement xmlRoot = new XElement("Request"); xmlRoot.SetElementValue("ID", ID); xmlRoot.SetElementValue("Data", Data); xmlRoot.SetElementValue("FileName", FileName); xmlRoot.SetElementValue("DSNS", DSNS); xmlRoot.SetElementValue("Type", "student"); FISCA.DSAClient.XmlHelper reqXML = new FISCA.DSAClient.XmlHelper(xmlRoot.ToString()); FISCA.DSAClient.Connection cn = new FISCA.DSAClient.Connection(); cn.Connect(AccessPoint, Contract, DSNS, DSNS); Envelope rsp = cn.SendRequest(ServiceName, new Envelope(reqXML)); XElement rspXML = XElement.Parse(rsp.XmlString); } catch (Exception ex) { errMsg = ex.Message; } return(errMsg); }
private int TagUseCount(string tagId) { XHelper xreq = new XHelper("<Request/>"); xreq.AddElement("Field"); xreq.AddElement("Field", "ID"); xreq.AddElement("Field", EntityIdField); xreq.AddElement("Condition"); xreq.AddElement("Condition", "TagID", tagId); Envelope rsp = DSAServices.DefaultDataSource.SendRequest(CounterService, new Envelope(xreq)); XHelper xrsp = new XHelper(rsp.Body); return xrsp.GetElements("Tag").Count(); }
/// <summary> /// 取得 ischool 的學生基本資料清單 /// </summary> /// <returns></returns> private bool GetDSAStudents() { bool isPass = JudgetDSAConnected(); LogUtil.LogToTransferSummary(Constants.STEP_SyncData, "開始讀取 ischool 的『學生資料』。", isPass); try { dsaStuds = new Dictionary<string, string>(); FISCA.DSAClient.Envelope resp = dsaCn.SendRequest(Constants.DSAServiceName_GetStudentList, new FISCA.DSAClient.Envelope()); FISCA.DSAClient.XmlHelper helper = new FISCA.DSAClient.XmlHelper(resp.Body); foreach (XmlElement elm in helper.GetElements("Student")) { string studID = Util.GetNodeValue(elm, "ID"); string studNo = Util.GetNodeValue(elm, "StudentNumber").ToUpper(); if (!dsaStuds.ContainsKey(studNo.ToUpper())) dsaStuds.Add(studNo.ToUpper(), studID); } LogUtil.LogToTransferSummary(Constants.STEP_SyncData, string.Format("成功讀取 {0} 筆 ischool 的『學生資料』。",dsaStuds.Count.ToString()), isPass); } catch (Exception ex) { LogUtil.LogToTransferSummary(Constants.STEP_SyncData, "讀取 ischool『學生資料』時發生錯誤!" + ex.Message , isPass); isPass = false; } return isPass; }
/// <summary> /// 取得 ischool 的系所組別清單 /// </summary> /// <returns></returns> private bool GetDeptGroups() { bool isPass = JudgetDSAConnected(); LogUtil.LogToTransferSummary(Constants.STEP_SyncData, "開始讀取 ischool 的『系所組別』。", isPass); try { dsaDeptGrps = new Dictionary<string, string>(); FISCA.DSAClient.Envelope resp = dsaCn.SendRequest(Constants.DSAServiceName_GetDeptGroupList, new FISCA.DSAClient.Envelope()); FISCA.DSAClient.XmlHelper helper = new FISCA.DSAClient.XmlHelper(resp.Body); foreach (XmlElement elm in helper.GetElements("DeptGroup")) { string id = Util.GetNodeValue(elm, "ID"); string code = Util.GetNodeValue(elm, "Code"); if (!this.dsaDeptGrps.ContainsKey(code)) dsaDeptGrps.Add(code, id); } LogUtil.LogToTransferSummary(Constants.STEP_SyncData, string.Format("成功讀取 {0} 筆 ischool 的『系所組別』。", this.dsaDeptGrps.Keys.Count.ToString()), isPass); } catch (Exception ex) { LogUtil.LogToTransferSummary(Constants.STEP_SyncData, "讀取 ischool『系所組別』時發生錯誤!" + ex.Message, isPass); isPass = false; } return isPass; }