/// <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; }