public bool Validate(IRowStream Value)
        {
            bool check = true;

            for (int x = 1; x <= 學生選填志願數; x++)
            {
                if (Value.Contains("學年度") && Value.Contains("學期") && Value.Contains("志願" + x))
                {
                    string SchoolYear = Value.GetValue("學年度");
                    string Semester   = Value.GetValue("學期");
                    string CourseName = Value.GetValue("志願" + x);
                    if (!string.IsNullOrEmpty(CourseName))
                    {
                        string CourseKey = SchoolYear + "," + Semester + "," + CourseName;

                        if (!ClubDic.ContainsKey(CourseKey))
                        {
                            check = false;
                        }
                    }
                }
            }

            return(check);
        }
Example #2
0
        public void SetClub(IRowStream Row, CLUBRecord club)
        {
            club.ClubNumber   = Row.GetValue("代碼");
            club.Location     = Row.GetValue("場地");
            club.ClubCategory = Row.GetValue("類型");

            club.Level = Row.GetValue("評等");

            club.RefTeacherID  = checkTeacherName("" + Row.GetValue("老師1"));
            club.RefTeacherID2 = checkTeacherName("" + Row.GetValue("老師2"));
            club.RefTeacherID3 = checkTeacherName("" + Row.GetValue("老師3"));

            club.About          = Row.GetValue("簡介");
            club.GenderRestrict = Row.GetValue("限制:性別");
            club.DeptRestrict   = GetDeptXML(Row.GetValue("限制:科別"));

            int x = 0;

            if (int.TryParse("" + Row.GetValue("限制:一年級人數"), out x))
            {
                club.Grade1Limit = x;
            }
            if (int.TryParse("" + Row.GetValue("限制:二年級人數"), out x))
            {
                club.Grade2Limit = x;
            }
            if (int.TryParse("" + Row.GetValue("限制:三年級人數"), out x))
            {
                club.Grade3Limit = x;
            }
            if (int.TryParse("" + Row.GetValue("限制:人數上限"), out x))
            {
                club.Limit = x;
            }
        }
        public bool Evaluate(IRowStream RowSource)
        {
            foreach (IConditionExpression Exp in Expressions)
                if (!Exp.Evaluate(RowSource)) return false;

            return true;
        }
        public string Correct(IRowStream Value)
        {
            string KeyData = null;
            string ValueData = null;
            string KeyCorrect = null;
            string ValueCorrect = null;

            KeyData = Value.GetValue(mKeyFieldName);
            ValueData = Value.GetValue(mValueFieldName);

            KeyCorrect = "";
            ValueCorrect = "";

            if (string.IsNullOrEmpty(KeyData))
            {
                if (!string.IsNullOrEmpty(ValueData))
                {
                    KeyCorrect = mevKeyValue.GetCode(ValueData);
                    if (string.IsNullOrEmpty(KeyCorrect))
                    {
                        ValueCorrect = mevKeyValue.Correct(ValueData);
                        if (!string.IsNullOrEmpty(ValueCorrect))
                        {
                            KeyCorrect = mevKeyValue.GetCode(ValueCorrect);
                        }
                    }
                }
            }
            else
                ValueCorrect = mevKeyValue.GetName(KeyData);

            return "<Result>" + (string.IsNullOrEmpty(KeyCorrect) ? "" : "<" + mKeyFieldName + ">" + KeyCorrect + "</" + mKeyFieldName + ">") + (string.IsNullOrEmpty(ValueCorrect) ? "" : "<" + mValueFieldName + ">" + ValueCorrect + "</" + mValueFieldName + ">") + "</Result>";
        }
        public bool Validate(IRowStream Value)
        {
            if (Value.Contains("學年度") && Value.Contains("學期") && Value.Contains("社團名稱") && Value.Contains("學號"))
            {
                string school_year    = Value.GetValue("學年度");
                string semester       = Value.GetValue("學期");
                string club_name      = Value.GetValue("社團名稱");
                string student_number = Value.GetValue("學號");
                string ClubKey        = school_year + "_" + semester + "_" + club_name;

                mTask.Wait();

                if (ClubNameDic.ContainsKey(ClubKey))
                {
                    if (ClubNameDic[ClubKey].Contains(student_number))
                    {
                        return(true);
                    }
                    else
                    {
                        return(false);
                    }
                }
                else
                {
                    return(false);
                }
            }

            return(false);
        }
        /// <summary>
        /// 傳入Row,以建立XML資料內容
        /// </summary>
        private XmlElement GetInsertTextScore(IRowStream Row)
        {
            XmlDocument XmlDoc       = new XmlDocument();
            XmlElement  XmlElementB1 = XmlDoc.CreateElement("Content");

            foreach (string each in faceDic.Keys)
            {
                if (mOption.SelectedFields.Contains(each)) //如果使用者已選欄位
                {
                    XmlElement elmMorality = XmlDoc.CreateElement("Morality");
                    elmMorality.SetAttribute("Face", each);
                    elmMorality.InnerText = Row.GetValue(each);
                    XmlElementB1.AppendChild(elmMorality);
                }
                else //如果使用者未選該欄位
                {
                    XmlElement elmMorality = XmlDoc.CreateElement("Morality");
                    elmMorality.SetAttribute("Face", each);
                    elmMorality.InnerText = ""; //未選擇欄位,將會填入空值
                    XmlElementB1.AppendChild(elmMorality);
                }
            }
            XmlDoc.AppendChild(XmlElementB1);
            return(XmlDoc.DocumentElement);
        }
        public bool Validate(IRowStream Value)
        {
            bool retVal = false;

            if (Value.Contains("學號") && Value.Contains("狀態"))
            {
                string status = Value.GetValue("狀態").Trim();
                string key    = Value.GetValue("學號") + "_";

                if (_StudStatusDict.ContainsKey(status))
                {
                    key += _StudStatusDict[status];
                }
                else
                {
                    key += "1";
                }

                if (Global._AllStudentNumberStatusIDTemp.ContainsKey(key))
                {
                    retVal = true;
                }
            }

            return(retVal);
        }
        public string Correct(IRowStream Value)
        {
            if (Value.Contains("異動類別") && Value.Contains("原因及事項"))
                if (Value.GetValue("異動類別").Equals("更正學籍") && string.IsNullOrEmpty(Value.GetValue("原因及事項")))
                {
                    string Result = string.Empty;

                    if (Value.Contains("新生日") && !string.IsNullOrEmpty(Value.GetValue("新生日")))
                        Result += "新生日、";

                    if (Value.Contains("新身分證號") && !string.IsNullOrEmpty(Value.GetValue("新身分證號")))
                        Result += "新身分證號、";

                    if (Value.Contains("新姓名") && !string.IsNullOrEmpty(Value.GetValue("新姓名")))
                        Result += "新姓名、";

                    if (Value.Contains("新性別") && !string.IsNullOrEmpty(Value.GetValue("新性別")))
                        Result += "新性別、";

                    if (!string.IsNullOrEmpty(Result))
                        Result = "更正" + Result.Substring(0, Result.Length - 1);

                    Result = "<A><原因及事項>" + Result + "</原因及事項></A>";

                    return Result;
                }

            return "<A><原因及事項/></A>";
        }
 public ErrorCapturedEventArgs(IRowStream source, ValidatorType validType, ErrorType errorType, string fieldName, string description)
 {
     FieldName = fieldName;
     ErrorType = errorType;
     Description = description;
     Row = source;
     ValidatorType = validType;
 }
 public string Correct(IRowStream Value)
 {
     int i;
     if (int.TryParse(Value.GetValue("學年度"), out i))
         return "<A><入學年月>" + (i + 1911) + "09" + "</入學年月></A>";
     else
         return string.Empty;
 }
        public string Correct(IRowStream Value)
        {
            int Position = Value.Position - 1;

            string Result = Position > 9 ? "" + Convert.ToChar(Position + 55) : "" + Position;

            return "<A><熱鍵>" + Result + "</熱鍵></A>";
        }
 public AutoCorrectEventArgs(IRowStream source, ValidatorType validType, string fieldName, string oldValue, string newValue)
 {
     FieldName = fieldName;
     OldValue = oldValue;
     NewValue = newValue;
     Row = source;
     ValidatorType = validType;
 }
        public bool Validate(IRowStream Value)
        {
            if (Value.Contains("監護人關係") && Value.Contains("監護人稱謂"))
                if (string.IsNullOrEmpty(Value.GetValue("監護人稱謂")) && !string.IsNullOrEmpty(Value.GetValue("監護人關係")))
                    return false;

            return true;

            //return !string.IsNullOrEmpty(Value.GetValue("監護人稱謂"));
        }
        public bool Validate(IRowStream row)
        {
            bool retVal = false;
            string key = Utility.GetIRowValueString(row, "學號");

            if (Global._AllStudentNumberIDTemp.ContainsKey(key))
                retVal = true;

            return retVal;
        }
        public bool Validate(IRowStream Value)
        {
            bool retVal = true;
            if (Value.Contains("學號"))
            {
                if(Global._HasStudQuizDataDictTemp.ContainsKey(Value.GetValue("學號")))
                    retVal= false ;
            }

            return retVal;
        }
 public bool Validate(IRowStream Value)
 {
     bool retVal = false;
     if (Value.Contains("晤談老師"))
     {
         // 表示有這位老師
         if(Global._AllTeacherNameIdDictTemp.ContainsKey(Value.GetValue("晤談老師")))
             retVal =true ;
     }
     return retVal;
 }
        public string Correct(IRowStream Value)
        {
            if (Value.Contains("監護人關係") && Value.Contains("監護人稱謂"))
            {
                if (string.IsNullOrEmpty(Value.GetValue("監護人稱謂")) && !string.IsNullOrEmpty(Value.GetValue("監護人關係")))
                {
                    return "<A><監護人稱謂>" + Value.GetValue("監護人關係") + "</監護人稱謂></A>";
                }
            }

            return "<A><監護人稱謂/></A>";
        }
        public bool Validate(IRowStream row)
        {
            bool   retVal = false;
            string key    = Utility.GetIRowValueString(row, "學號");

            if (Global._AllStudentNumberIDTemp.ContainsKey(key))
            {
                retVal = true;
            }

            return(retVal);
        }
        //public string KeyField
        //{
        //    get { return mKeyFieldName; }
        //}
        public bool Validate(IRowStream Value)
        {
            string KeyData = null;
            string ValueData = null;

            KeyData = Value.GetValue(mKeyFieldName);
            ValueData = Value.GetValue(mValueFieldName);

            if (string.IsNullOrEmpty(KeyData) | string.IsNullOrEmpty(ValueData)) return false;

            return (mevKeyValue.GetCode(ValueData) == KeyData);
        }
        /// <summary>
        /// 透過輸入的欄位名稱, 取得匯入資料的值
        /// </summary>
        /// <param name="row"></param>
        /// <param name="name"></param>
        /// <returns></returns>
        public static string GetIRowValueString(IRowStream row, string name)
        {
            if (row.Contains(name))
            {
                if (string.IsNullOrEmpty(row.GetValue(name)))
                    return "";

                return row.GetValue(name).Trim();
            }
            else
                return "";
        }
        public bool Validate(IRowStream row)
        {
            if (row == null) throw new ArgumentException("參數 row 不允許 Null。", "row");

            bool allValidated = true;

            foreach (FieldDescription field in Fields.Values)
            {
                //if (field.Required && !row.Contains(field.Name))
                //{
                //    ErrorCapturedEventArgs args = new ErrorCapturedEventArgs(row, ValidatorType.Field, ErrorType.Error, field.Name, "缺少指定欄位「" + field.Name + "」。");
                //    if (ErrorCaptured != null) ErrorCaptured(this, args);

                //    throw new ArgumentException(string.Format("RowSource 缺少指定欄位「{0}」。", field.Name));
                //}

                //如果 RowSource 有此欄位才驗證
                if (!row.Contains(field.Name))
                    continue;

                //取得欄位值。
                string fieldValue = row.GetValue(field.Name);

                //確認空值是否要驗證資料。
                if (!field.EmptyAlsoValidate)
                    if (string.IsNullOrEmpty(fieldValue)) continue;

                bool isValidated = true;

                //驗證欄位各項規則
                foreach (ValidateStatement vstatement in field.ValidateStatements)
                {
                    if (IsValidatorEnabled(row, vstatement))
                    {
                        IFieldValidator validator = GetValidatorInstance(vstatement);

                        if (!validator.Validate(fieldValue))
                        {
                            if (!IsCorrectable(row, field, fieldValue, isValidated, vstatement, validator))
                                isValidated = false;

                            //如果是 Error 就不繼續驗證了, Warning 就需要再驗證。
                            if (vstatement.ErrorType == ErrorType.Error)
                                break;
                        }
                    }
                }

                if (!isValidated) allValidated = false;
            }

            return allValidated;
        }
Example #22
0
        public bool Validate(IRowStream Value)
        {
            if (Value.Contains("開始時間") && Value.Contains("結束時間"))
            {
                string StartTime = Value.GetValue("開始時間");
                string EndTime = Value.GetValue("結束時間");

                if (Utility.IsValidateTime(StartTime).Item1 && Utility.IsValidateTime(EndTime).Item1)
                    return Utility.GetStorageTime(StartTime, EndTime).Item2 > 0;
            }

            return false;
        }
        public bool Validate(IRowStream Value)
        {
            //1.判斷欄位資料來源是否包含『異動類別』及『原因及事項』欄位
            //2.判斷『異動類別』為更正學籍,以及『原因及事項』為空白。
            //3.判斷以下欄位其中一個『新生日』、『新身分證號』、『新姓名』、『新性別』有包含欄位,而且不為空白。
            //3.符合1、2點就傳回false,否則傳回true
            if (Value.Contains("異動類別") && Value.Contains("原因及事項"))
                if (Value.GetValue("異動類別").Equals("更正學籍") && string.IsNullOrEmpty(Value.GetValue("原因及事項")))
                    if (IsCorrectable(Value))
                        return false;

            return true;
        }
        public bool Evaluate(IRowStream RowSource)
        {
            List<bool> evaluates = new List<bool>();

            foreach (IConditionExpression Exp in Expressions)
                evaluates.Add(Exp.Evaluate(RowSource));

            bool evaluateResult = evaluates[0];
            for (int i = 1; i < evaluates.Count; i++)
                evaluateResult = evaluateResult ^ evaluates[i];

            return evaluateResult;
        }
        /// <summary>
        /// 傳入要驗證的資料列,依教師姓名、暱稱檢查系統中是否有對應的教師
        /// </summary>
        /// <param name="Value"></param>
        /// <returns></returns>
        public bool Validate(IRowStream Value)
        {
            if (Value.Contains("教師姓名") && Value.Contains("教師暱稱"))
            {
                string TeacherName = Value.GetValue("教師姓名");
                string TeacherNickName = Value.GetValue("教師暱稱");

                mTask.Wait();

                return mTeacherNames.Contains(TeacherName + "," + TeacherNickName);
            }

            return false;
        }
Example #26
0
 private void FillData(IRowStream Row, UDT.Equipment equip)
 {
     equip.Name       = Row.GetValue("設備名稱");
     equip.Category   = Row.GetValue("類別");
     equip.PropertyNo = Row.GetValue("財產編號");
     equip.Company    = Row.GetValue("廠牌");
     equip.ModelNo    = Row.GetValue("型號");
     equip.Status     = Row.GetValue("設備狀態");
     equip.DeadLine   = Row.GetValue("未取用解除預約時間(分)") == "" ? 0 : int.Parse(Row.GetValue("未取用解除預約時間(分)"));
     equip.Place      = Row.GetValue("放置位置");
     equip.RefUnitID  = int.Parse(CheckUnitName(Row.GetValue("管理單位名稱")));
     equip.CreateTime = DateTime.Now;
     equip.CreatedBy  = Actor.UserAccount;
 }
Example #27
0
        public bool Validate(IRowStream Value)
        {
            bool retVal = false;

            if (Value.Contains("晤談老師"))
            {
                // 表示有這位老師
                if (Global._AllTeacherNameIdDictTemp.ContainsKey(Value.GetValue("晤談老師")))
                {
                    retVal = true;
                }
            }
            return(retVal);
        }
        /// <summary>
        /// 檢查 "學號, 學年度, 學期, 社團名稱"有沒有資料
        /// </summary>
        /// <param name="row"></param>
        /// <returns></returns>
        public static bool CheckRowData(IRowStream row)
        {
            string[] checkAry = { Global._ColStudentNumber, Global._ColScholYear,
                                    Global._ColSemester, Global._ColClubName };
            
            // 檢查 "學號, 學年度, 學期, 社團名稱"有沒有資料
            foreach (string str in checkAry)
            {
                string tmp = Utility.GetIRowValueString(row, str);
                if (string.IsNullOrEmpty(tmp)) return false;
            }

            return true;
        }
        public bool Validate(IRowStream Value)
        {
            bool retVal = true;

            if (Value.Contains("學號"))
            {
                if (Global._HasStudQuizDataDictTemp.ContainsKey(Value.GetValue("學號")))
                {
                    retVal = false;
                }
            }

            return(retVal);
        }
        private bool IsCorrectable(IRowStream RowSource, ValidateStatement vs, IRowVaildator rv)
        {
            bool result = false;

            if (vs.AutoCorrect)
            {
                string newValue = rv.Correct(RowSource);

                XmlDocument xmldoc = new XmlDocument();

                try
                {
                    xmldoc.LoadXml(newValue);
                }
                catch
                {
                    throw new ArgumentException(string.Format("Correct Specification Invalid ({0}).", rv.ToString()));
                }

                if (xmldoc.DocumentElement.ChildNodes.Count > 0)
                {
                    foreach (XmlNode each in xmldoc.DocumentElement.ChildNodes)
                    {
                        XmlElement n = each as XmlElement;
                        if (n == null) continue;

                        string OldValue = RowSource.GetValue(n.LocalName);
                        if (AutoCorrect != null)
                        {
                            AutoCorrectEventArgs args = new AutoCorrectEventArgs(RowSource, ValidatorType.Row, n.LocalName, OldValue, n.InnerText);
                            if (AutoCorrect != null) AutoCorrect(this, args);
                            result = true; //修正成功。
                        }
                    }
                }
                else
                {
                    ErrorCapturedEventArgs args = new ErrorCapturedEventArgs(RowSource, ValidatorType.Row, vs.ErrorType, string.Empty, rv.ToString(vs.Description));
                    if (ErrorCaptured != null) ErrorCaptured(this, args);
                }
            }
            else
            {
                ErrorCapturedEventArgs args = new ErrorCapturedEventArgs(RowSource, ValidatorType.Row, vs.ErrorType, string.Empty, rv.ToString(vs.Description));
                if (ErrorCaptured != null) ErrorCaptured(this, args);
            }

            return result;
        }
        public bool Evaluate(IRowStream rowSource)
        {
            #region INTEGER
            string FieldValue = rowSource.GetValue(mField);

            int src = 0;
            int dest = 0;

            if (mValue == string.Empty)
            {
                src = int.MinValue;
            }
            else
            {
                src = int.Parse(mValue);
            }

            if (FieldValue == string.Empty)
            {
                dest = int.MinValue;
            }
            else
            {
                if (!int.TryParse(FieldValue, out dest))
                {
                    dest = int.MaxValue;
                }
            }

            switch (mOperator.Trim())
            {
                case "=":
                    return (dest == src);
                case ">":
                    return (dest > src);
                case ">=":
                    return (dest >= src);
                case "<":
                    return (dest < src);
                case "<=":
                    return (dest <= src);
                case "!=":
                case "<>":
                    return (dest != src);
                default:
                    return false;
            }
            #endregion
        }
        public bool Evaluate(IRowStream rowSource)
        {
            string FieldValue = rowSource.GetValue(mField);

            switch (mOperator.ToUpper())
            {
                case "=":
                    return FieldValue == mValue;
                case "!=":
                case "<>":
                    return FieldValue != mValue;
                default:
                    return false;
            }
        }
 /// <summary>
 /// 透過輸入的欄位名稱, 取的匯入資料的值, 並轉成decimal
 /// </summary>
 /// <param name="row"></param>
 /// <param name="name"></param>
 /// <returns></returns>
 public static decimal? GetIRowValueDecimal(IRowStream row, string name)
 {
     if (row.Contains(name))
     {
         if (string.IsNullOrEmpty(row.GetValue(name)))
             return null;
         decimal retVal;
         if (decimal.TryParse(row.GetValue(name).Trim(), out retVal))
             return retVal;
         else
             return null;
     }
     else
         return null;
 }
 /// <summary>
 /// 透過輸入的欄位名稱, 取得匯入資料的值, 並轉成int
 /// </summary>
 /// <param name="row"></param>
 /// <param name="name"></param>
 /// <returns></returns>
 public static int GetIRowValueInt(IRowStream row, string name)
 {
     if (row.Contains(name))
     {
         if (string.IsNullOrEmpty(row.GetValue(name)))
             return -1;
         int retVal;
         if (int.TryParse(row.GetValue(name).Trim(), out retVal))
             return retVal;
         else
             return -1;
     }
     else
         return -1;
 }
        public bool Validate(IRowStream Value)
        {
            string studentNumber = Value.GetValue("學號");
            string date = Value.GetValue("日期");
            string schoolYear = Value.GetValue("學年度");
            string semester = Value.GetValue("學期");

            string key = Combine(studentNumber, date);
            string sems = Combine(schoolYear, semester);

            if (!StudentDate.ContainsKey(key))
                StudentDate.Add(key, sems);
            if (sems != StudentDate[key]) return false;
            else return true;
        }
        public bool Validate(IRowStream Value)
        {
            bool retVal = false;

            if (Value.Contains("學號") && Value.Contains("狀態"))
            {
                string key = Value.GetValue("學號") + "_" + Value.GetValue("狀態").Trim();

                if (Global._AllStudentNumberStatusIDTemp.ContainsKey(key))
                {
                    retVal = true;
                }
            }

            return(retVal);
        }
        private bool IsCorrectable(IRowStream Value)
        {
            if (Value.Contains("新生日") && !string.IsNullOrEmpty(Value.GetValue("新生日")))
                return true;

            if (Value.Contains("新身分證號") && !string.IsNullOrEmpty(Value.GetValue("新身分證號")))
                return true;

            if (Value.Contains("新姓名") && !string.IsNullOrEmpty(Value.GetValue("新姓名")))
                return true;

            if (Value.Contains("新性別") && !string.IsNullOrEmpty(Value.GetValue("新性別")))
                return true;

            return false;
        }
        /// <summary>
        /// 透過輸入的欄位名稱, 取的匯入資料的值, 並轉成DateTime
        /// </summary>
        /// <param name="row"></param>
        /// <param name="name"></param>
        /// <returns></returns>
        public static DateTime? GetIRowValueDateTime(IRowStream row, string name)
        {
            if (row.Contains(name))
            {
                if (string.IsNullOrEmpty(row.GetValue(name)))
                    return null;

                DateTime dt;
                if (DateTime.TryParse(row.GetValue(name).Trim(), out dt))
                    return dt;
                else
                    return null;
            }
            else
                return null;
        }
        /// <summary>
        /// 透過輸入的欄位名稱, 取的匯入資料的值
        /// </summary>
        public static string GetIRowValueString(IRowStream row, string name)
        {
            if (row.Contains(name))
            {
                if (string.IsNullOrEmpty(row.GetValue(name)))
                {
                    return("");
                }

                return(row.GetValue(name).Trim());
            }
            else
            {
                return("");
            }
        }
Example #40
0
        public bool Validate(IRowStream Value)
        {
            if (Value.Contains("學年度") && Value.Contains("學期") && Value.Contains("社團名稱"))
            {
                string CourseName = Value.GetValue("學年度");
                string SchoolYear = Value.GetValue("學期");
                string Semester   = Value.GetValue("社團名稱");
                string CourseKey  = CourseName + "," + SchoolYear + "," + Semester;

                mTask.Wait();

                return(!mCourseNames.Contains(CourseKey));
            }

            return(false);
        }
        public string Correct(IRowStream Value)
        {
            if (Value.Contains("缺曠名稱"))
            {
                string name = Value.GetValue("缺曠名稱");
                if (!string.IsNullOrEmpty(name))
                {
                    return "<A><縮寫>" + name.Substring(0, 1) + "</縮寫></A>";
                }
                else
                {
                    return string.Empty;
                }
            }

            return string.Empty;
        }
        private GraduateUDT SetUDTValue(IRowStream Row, GraduateUDT newRecord)
        {
            GraduateUDT Record = newRecord;

            //newRecord.StudentNumber = Row.GetValue("學號");
            newRecord.IDNumber = Row.GetValue("身分證號");
            //newRecord.ArchiveNote = Row.GetValue("封存分類");
            if (Row.GetValue("畢業學年度") != "")
            {
                newRecord.GraduateSchoolYear = int.Parse(Row.GetValue("畢業學年度"));
            }
            newRecord.ClassName = Row.GetValue("畢業班級");

            if (Row.GetValue("座號") != "")
            {
                newRecord.SeatNo = int.Parse(Row.GetValue("座號"));
            }
            newRecord.Name        = Row.GetValue("姓名");
            newRecord.Gender      = Row.GetValue("性別");
            newRecord.Nationality = Row.GetValue("國籍");
            newRecord.BirthPlace  = Row.GetValue("出生地");

            if (Row.GetValue("生日") != "")
            {
                newRecord.Birthday = DateTime.Parse(Row.GetValue("生日"));
            }
            newRecord.EnglishName = Row.GetValue("英文姓名");
            newRecord.Permanent   = Row.GetValue("戶籍電話");
            newRecord.Contact     = Row.GetValue("聯絡電話");
            newRecord.Cell        = Row.GetValue("手機");

            newRecord.Phone1           = Row.GetValue("其它電話1");
            newRecord.Phone2           = Row.GetValue("其它電話2");
            newRecord.Phone3           = Row.GetValue("其它電話3");
            newRecord.PermanentZipCode = Row.GetValue("戶籍地址郵遞區號");
            newRecord.PermanentAddress = Row.GetValue("戶籍地址");
            newRecord.MailingZipCode   = Row.GetValue("聯絡地址郵遞區號");
            newRecord.MailingAddress   = Row.GetValue("聯絡地址");

            newRecord.OtherZipCode   = Row.GetValue("其它地址郵遞區號");
            newRecord.OtherAddresses = Row.GetValue("其它地址");
            newRecord.Remarks        = Row.GetValue("備註");
            //無法匯狀態??

            return(newRecord);
        }
Example #43
0
        /// <summary>
        /// 檢查 "學號, 學年度, 學期, 社團名稱"有沒有資料
        /// </summary>
        /// <param name="row"></param>
        /// <returns></returns>
        public static bool CheckRowData(IRowStream row)
        {
            string[] checkAry = { Global._ColStudentNumber, Global._ColScholYear,
                                  Global._ColSemester,      Global._ColClubName };

            // 檢查 "學號, 學年度, 學期, 社團名稱"有沒有資料
            foreach (string str in checkAry)
            {
                string tmp = Utility.GetIRowValueString(row, str);
                if (string.IsNullOrEmpty(tmp))
                {
                    return(false);
                }
            }

            return(true);
        }
        /// <summary>
        /// 傳入要驗證的資料列,依課程名稱、學年度及學期檢查系統中是否有對應的課程
        /// </summary>
        /// <param name="Value"></param>
        /// <returns></returns>
        public bool Validate(IRowStream Value)
        {
            if (Value.Contains("課程名稱") && Value.Contains("學年度") && Value.Contains("學期") && Value.Contains("梯次"))
            {
                string CourseName = Value.GetValue("課程名稱");
                string SchoolYear = Value.GetValue("學年度");
                string Semester = Value.GetValue("學期");
                string Month = Value.GetValue("梯次");
                string CourseKey = CourseName + "," + SchoolYear + "," + Semester + "," + Month;

                mTask.Wait();

                return mCourseNames.Contains(CourseKey);
            }

            return false;
        }
        /// <summary>
        /// 把 Row 中的場地資料填入 MeetingRoom 物件。
        /// </summary>
        /// <param name="Row"></param>
        /// <param name="room"></param>
        public void FillMeetingRoomData(IRowStream Row, UDT.MeetingRoom room)
        {
            room.Name     = Row.GetValue("會議室名稱");
            room.Picture  = Row.GetValue("照片");
            room.Building = Row.GetValue("所屬大樓名稱");

            int x = 0;

            if (int.TryParse("" + Row.GetValue("容納人數"), out x))
            {
                room.Capacity = x;
            }

            room.Status = Row.GetValue("會議室目前狀態");

            room.RefUnitID  = int.Parse(CheckUnitName("" + Row.GetValue("管理單位名稱")));
            room.IsSpecial  = Row.GetValue("是否為特殊場地") == "是" ? true : false;
            room.CreateTime = DateTime.Now;
            room.CreatedBy  = Actor.Account;
        }
Example #46
0
 /// <summary>
 /// 透過輸入的欄位名稱, 取的匯入資料的值, 並轉成decimal
 /// </summary>
 /// <param name="row"></param>
 /// <param name="name"></param>
 /// <returns></returns>
 public static decimal?GetIRowValueDecimal(IRowStream row, string name)
 {
     if (row.Contains(name))
     {
         if (string.IsNullOrEmpty(row.GetValue(name)))
         {
             return(null);
         }
         decimal retVal;
         if (decimal.TryParse(row.GetValue(name).Trim(), out retVal))
         {
             return(retVal);
         }
         else
         {
             return(null);
         }
     }
     else
     {
         return(null);
     }
 }
 /// <summary>
 /// 透過輸入的欄位名稱, 取的匯入資料的值, 並轉成int
 /// </summary>
 /// <param name="row"></param>
 /// <param name="name"></param>
 /// <returns></returns>
 public static int?GetIRowValueInt(IRowStream row, string name)
 {
     if (row.Contains(name))
     {
         if (string.IsNullOrEmpty(row.GetValue(name)))
         {
             return(null);
         }
         int retVal;
         if (int.TryParse(row.GetValue(name).Trim(), out retVal))
         {
             return(retVal);
         }
         else
         {
             return(null);
         }
     }
     else
     {
         return(null);
     }
 }
        /// <summary>
        /// 透過輸入的欄位名稱, 取的匯入資料的值, 並轉成DateTime
        /// </summary>
        /// <param name="row"></param>
        /// <param name="name"></param>
        /// <returns></returns>
        public static DateTime?GetIRowValueDateTime(IRowStream row, string name)
        {
            if (row.Contains(name))
            {
                if (string.IsNullOrEmpty(row.GetValue(name)))
                {
                    return(null);
                }

                DateTime dt;
                if (DateTime.TryParse(row.GetValue(name).Trim(), out dt))
                {
                    return(dt);
                }
                else
                {
                    return(null);
                }
            }
            else
            {
                return(null);
            }
        }
 public void FillEquipmentData(IRowStream Row, UDT.MeetingRoomEquipment equip)
 {
     equip.Name   = Row.GetValue("設備名稱");
     equip.Status = Row.GetValue("設備狀態");
     equip.Count  = Row.GetValue("設備數量") == "" ? 0 : int.Parse(Row.GetValue("設備數量"));
 }
Example #50
0
        /// <summary>
        /// 傳入MoralScore與Row,以建立資料狀態
        /// </summary>
        private XmlElement GetUpdateTextScore(SHMoralScoreRecord SSR, IRowStream Row)
        {
            XmlDocument XmlDoc = new XmlDocument();

            #region TextScores內容為空,則建立一個預設根節點

            if (SSR.TextScore != null)
            {
                if (!string.IsNullOrEmpty(SSR.TextScore.OuterXml))
                {
                    XmlDoc.LoadXml(SSR.TextScore.OuterXml);
                }
                else
                {
                    XmlDoc.LoadXml("<Content/>");
                }
            }
            else
            {
                XmlDoc.LoadXml("<Content/>");
            }

            #endregion

            XmlElement XmlElementB1;

            #region 把Content置換成TextScore

            if (XmlDoc.DocumentElement.Name == "Content")
            {
                XmlElementB1 = (XmlElement)XmlDoc.SelectSingleNode("Content");
            }
            else if (XmlDoc.DocumentElement.Name == "TextScore")
            {
                XmlDocument copy = new XmlDocument();
                copy.LoadXml("<Content/>");

                XmlElement Xmlaa = (XmlElement)XmlDoc.SelectSingleNode("TextScore");
                foreach (XmlElement Xmlbb in Xmlaa.SelectNodes("Morality"))
                {
                    XmlElement cc = copy.CreateElement("Morality");
                    cc.SetAttribute("Face", Xmlbb.GetAttribute("Face"));
                    cc.InnerText = Xmlbb.InnerText;
                    copy.DocumentElement.AppendChild(cc);
                }

                XmlDoc       = copy;
                XmlElementB1 = (XmlElement)XmlDoc.DocumentElement;//.SelectSingleNode("Content");
            }
            else
            {
                XmlElementB1 = XmlDoc.DocumentElement;
            }

            #endregion

            //以設定檔為主,掃瞄Xml內容
            foreach (string each in faceDic.Keys)
            {
                if (mOption.SelectedFields.Contains(each)) //如果使用者選擇該欄位
                {
                    XmlElement elmMorality = (XmlElement)XmlElementB1.SelectSingleNode("Morality[@Face='" + each + "']");
                    if (elmMorality != null) //包含此內容
                    {
                        if (elmMorality.GetAttribute("Face") == each)
                        {
                            elmMorality.InnerText = Row.GetValue(each);
                        }
                    }
                    else //如果Xml內不包含此資料欄位,則新增於Xml內
                    {
                        elmMorality = (XmlElement)XmlDoc.CreateElement("Morality");
                        elmMorality.SetAttribute("Face", each);
                        elmMorality.InnerText = Row.GetValue(each);
                        XmlElementB1.AppendChild(elmMorality);
                    }
                }
                else //使用者未選擇該欄位,則不進行更動
                {
                    //....
                }
            }
            return(XmlDoc.DocumentElement);
        }
 public string Correct(IRowStream Value)
 {
     return(string.Empty);
 }