Пример #1
0
        public void SetUpdateValue(string updateRecordId)
        {
            _Action         = UpdateRecordAction.Update;
            _UpdateRecordID = updateRecordId;

            //DSResponse dsrsp = SmartSchool.Feature.QueryStudent.GetUpdateRecord(updateRecordId);
            DSResponse dsrsp   = QueryStudent.GetUpdateRecord(updateRecordId);
            XmlElement element = dsrsp.GetContent().GetElement("UpdateRecord");

            foreach (XmlNode node in element.ChildNodes)
            {
                if (node.Name != "ContextInfo")
                {
                    if (node.Name == "UpdateCode")
                    {
                        _UpdateCodeLoadedEvent.WaitOne();
                        foreach (UpdateRecordType type in new UpdateRecordType[] { UpdateRecordType.新生異動, UpdateRecordType.轉入異動, UpdateRecordType.學籍異動, UpdateRecordType.畢業異動 })
                        {
                            if (_UpdateCodeSynopsis.ContainsKey(type.ToString()) && _UpdateCodeSynopsis[type.ToString()].ContainsKey(node.InnerText))
                            {
                                Style = type;
                                break;
                            }
                        }
                        NewData.ChangeNewDataText(node.InnerText);
                    }
                    this.SetValue(node.Name, node.InnerText);
                }
                else
                {
                    if (node.SelectSingleNode("ContextInfo") != null)
                    {
                        foreach (XmlNode contextInfo in node.SelectSingleNode("ContextInfo").ChildNodes)
                        {
                            this.SetValue(contextInfo.Name, contextInfo.InnerText);
                        }
                    }
                }
            }

            //Log,紀錄修改前的資料
            foreach (XmlNode node in GetElement().ChildNodes)
            {
                beforeData.Add(node.Name, node.InnerText);
            }
        }