/// <summary>
        /// 把从数据库中读出的数据转化为对象实例
        /// </summary>
        /// <param name="reader"></param>
        /// <param name="salaries"></param>
        /// <returns></returns>
        private void buildTeacherSalarys(IDataReader reader, List<TeacherSalary> salaries)
        {
            DalOperationAboutCourses courseDal = new DalOperationAboutCourses();
            DalOperationAboutTeacher teacherDal = new DalOperationAboutTeacher();
            while (reader.Read())
            {
                TeacherSalary salary = new TeacherSalary();
                salary.teacherSalaryId = int.Parse(reader["teacherSalaryId"].ToString().Trim());
                salary.teacher = teacherDal.GetTeacherById(reader["teacherNo"].ToString().Trim());
                salary.teacherType = int.Parse(reader["teacherType"].ToString().Trim());
                salary.termTag = reader["termTag"].ToString().Trim();
                if (reader["courseNo"] != null && reader["courseNo"].ToString().Trim().Length > 0) {
                    salary.course = courseDal.GetCoursesByNo(reader["courseNo"].ToString().Trim(), salary.termTag);
                    salary.atCourseType = int.Parse(reader["atCourseType"].ToString().Trim());
                    salary.teachPeriod = int.Parse(reader["teachPeriod"].ToString().Trim());
                    salary.experPeriod = int.Parse(reader["experPeriod"].ToString().Trim());
                }
                salary.SetSalaryInItemValueList(reader["salaryItemValueList"].ToString().Trim(), true);
                salary.totalTeachCost = float.Parse(reader["totalTeachCost"].ToString().Trim());

                salary.isConfirm = bool.Parse(reader["isConfirm"].ToString().Trim());
                salary.memo = reader["memo"].ToString().Trim();
                salary.createdTime = DateTime.Parse(reader["createdTime"].ToString().Trim());

                salaries.Add(salary);
            }
        }
        /// <summary>
        /// 返回操作是否成功,成功为true,否则为false
        /// </summary>
        /// <param name="teacherSalary"></param>
        /// <returns></returns>
        private bool BuildInSalaryItemValueList(TeacherSalary teacherSalary)
        {
            DataListItemCollection itemCollection = this.TeacherSalary_ItemList.Items;
            string salaryItemValueList = "";
            float totalSalaryValue = 0;

            bool isError = false;
            foreach (DataListItem item in itemCollection)
            {
                string itemId = ((HiddenField)item.FindControl("salaryItemId")).Value;
                string salaryStandard;
                if (((DropDownList)item.FindControl("SalaryItemStandard_DropDownList")).Visible)
                {
                    salaryStandard = ((DropDownList)item.FindControl("SalaryItemStandard_DropDownList")).SelectedValue;
                }
                else {
                    salaryStandard = CommonUtility.ConvertFormatedFloat("{0:F2}", ((TextBox)item.FindControl("salaryItemStandard")).Text.Trim()).ToString();
                }

                string salaryUnit = ((TextBox)item.FindControl("salaryItemUnit")).Text;
                string itemValue = CommonUtility.ConvertFormatedFloat("{0:F2}", ((TextBox)item.FindControl("salaryItemTotal")).Text.Trim()).ToString();

                string MonthNum = ((TextBox)item.FindControl("MonthNum")).Text;
                bool hasTax = bool.Parse(((HiddenField)item.FindControl("salaryItemHasTax")).Value.Trim());

                float salaryValue = float.Parse(salaryStandard) * float.Parse(salaryUnit);
                if (salaryValue == 0) {
                    salaryValue = float.Parse(itemValue);
                }

                if (salaryValue == 0) {
                    isError = true;
                    break;
                }
                salaryValue = CommonUtility.ConvertFormatedFloat("{0:F2}", salaryValue.ToString());

                salaryItemValueList += (itemId + ":" + salaryStandard + "," + salaryUnit + "," + salaryValue + "," + MonthNum + "," + (hasTax ? "1" : "0") + ";");

                totalSalaryValue += salaryValue;
            }

            if (isError)
            {
                Javascript.Alert("薪酬项的标准与总额不能同时为0,请核对后再次输入", Page);

            }
            else {
                if (totalSalaryValue <= 0)
                {
                    Javascript.Alert("该老师的薪酬预算总和应该为大于0的数值,请核对后再次录入", Page);
                    isError = true;
                }
                else {
                    if (salaryItemValueList.Length > 0)
                    {
                        salaryItemValueList = salaryItemValueList.Substring(0, salaryItemValueList.Length - 1);
                    }

                    teacherSalary.SetSalaryInItemValueList(salaryItemValueList, true);
                    teacherSalary.totalTeachCost = CommonUtility.ConvertFormatedFloat("{0:0.00}", totalSalaryValue.ToString());
                }
            }
            return !isError;
        }