/// <summary> /// �õ�һ������ʵ�� /// </summary> public LabMS.Model.PersonalProjConsume GetModel(int ID) { StringBuilder strSql=new StringBuilder(); strSql.Append("select top 1 ID,PersonalProjID,EquipName,EquipType,EquipNum,Introduction from PersonalProjConsume "); strSql.Append(" where ID=@ID "); SqlParameter[] parameters = { new SqlParameter("@ID", SqlDbType.Int,4)}; parameters[0].Value = ID; LabMS.Model.PersonalProjConsume model=new LabMS.Model.PersonalProjConsume(); DataSet ds=DbHelperSQL.Query(strSql.ToString(),parameters); if(ds.Tables[0].Rows.Count>0) { if(ds.Tables[0].Rows[0]["ID"].ToString()!="") { model.ID=int.Parse(ds.Tables[0].Rows[0]["ID"].ToString()); } if(ds.Tables[0].Rows[0]["PersonalProjID"].ToString()!="") { model.PersonalProjID=int.Parse(ds.Tables[0].Rows[0]["PersonalProjID"].ToString()); } model.EquipName=ds.Tables[0].Rows[0]["EquipName"].ToString(); if(ds.Tables[0].Rows[0]["EquipType"].ToString()!="") { model.EquipType=int.Parse(ds.Tables[0].Rows[0]["EquipType"].ToString()); } if(ds.Tables[0].Rows[0]["EquipNum"].ToString()!="") { model.EquipNum=int.Parse(ds.Tables[0].Rows[0]["EquipNum"].ToString()); } model.Introduction=ds.Tables[0].Rows[0]["Introduction"].ToString(); return model; } else { return null; } }
//保存 protected void btnSave_Click(object sender, EventArgs e) { #region 验证 if (string.IsNullOrEmpty(ProjectName.Text.Trim())) { LabMS.Common.JShelper.JSAlert(Page, "err", "项目名称不能为空!"); return; } if (string.IsNullOrEmpty(PlanHours.Text.Trim())) { LabMS.Common.JShelper.JSAlert(Page, "err", "计划学时不能为空!"); return; } int hour = 0; if (!int.TryParse(PlanHours.Text.Trim(), out hour)) { LabMS.Common.JShelper.JSAlert(Page, "err", "计划学时只能输入数字!"); return; } if (ddlApplyLab.SelectedValue.ToString().Equals("0")) { LabMS.Common.JShelper.JSAlert(Page, "err", "申请实验室不能为空!"); return; } if (string.IsNullOrEmpty(ApplyTimeMin.Text.Trim()) || string.IsNullOrEmpty(ApplyTimeMax.Text.Trim())) { LabMS.Common.JShelper.JSAlert(Page, "err", "申请时间不能为空!"); return; } else { if (Convert.ToDateTime(ApplyTimeMin.Text.Trim()) > Convert.ToDateTime(ApplyTimeMax.Text.Trim())) { LabMS.Common.JShelper.JSAlert(Page, "err", "申请开始时间大于结束时间!"); return; } } if (string.IsNullOrEmpty(tb_StudentIDs.Text.Trim())) { LabMS.Common.JShelper.JSAlert(Page, "err", "申请人不能为空!"); return; } if (string.IsNullOrEmpty(Contactor.Text.Trim())) { LabMS.Common.JShelper.JSAlert(Page, "err", "联系人不能为空!"); return; } if (string.IsNullOrEmpty(ContactPhone.Text.Trim())) { LabMS.Common.JShelper.JSAlert(Page, "err", "联系人的联系电话不能为空!"); return; } string strRegex = @"^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$"; Regex re = new Regex(strRegex); if (!string.IsNullOrEmpty(ContactEmail.Text.Trim())) { if (!re.IsMatch(ContactEmail.Text.Trim())) { LabMS.Common.JShelper.JSAlert(Page, "err", "联系人的EMail地址格式不正确!"); return; } } if (!string.IsNullOrEmpty(TeacherEmail.Text.Trim())) { if (!re.IsMatch(TeacherEmail.Text.Trim())) { LabMS.Common.JShelper.JSAlert(Page, "err", "指导老师的EMail地址格式不正确!"); return; } } int temp = 0; int Index = int.Parse(tb_EIndex.Value); for (int i = 0; i < Index; i++) { if (!string.IsNullOrEmpty(Request.Form["name" + i + ""])) { if (string.IsNullOrEmpty(Request.Form["num" + i + ""])) { LabMS.Common.JShelper.JSAlert(Page, "err", "所需仪器数量不能为空!"); return; } else { if (!int.TryParse(Request.Form["num" + i + ""], out temp)) { LabMS.Common.JShelper.JSAlert(Page, "err", "所需仪器数量必须为数字!"); return; } } } else { if (!string.IsNullOrEmpty(Request.Form["num" + i + ""])) { LabMS.Common.JShelper.JSAlert(Page, "err", "所需仪器名称不能为空!"); return; } else { if (!string.IsNullOrEmpty(Request.Form["intro" + i + ""])) { LabMS.Common.JShelper.JSAlert(Page, "err", "所需仪器名称不能为空!"); return; } } } } Index = int.Parse(tb_ConsumpIndex.Value); for (int i = 0; i < Index; i++) { if (!string.IsNullOrEmpty(Request.Form["consumpname" + i + ""])) { if (string.IsNullOrEmpty(Request.Form["consumpnum" + i + ""])) { LabMS.Common.JShelper.JSAlert(Page, "err", "所需低耗品数量不能为空!"); return; } else { if (!int.TryParse(Request.Form["consumpnum" + i + ""], out temp)) { LabMS.Common.JShelper.JSAlert(Page, "err", "所需低耗品数量必须为数字!"); return; } } } else { if (!string.IsNullOrEmpty(Request.Form["consumpnum" + i + ""])) { LabMS.Common.JShelper.JSAlert(Page, "err", "所需低耗品名称不能为空!"); return; } else { if (!string.IsNullOrEmpty(Request.Form["consumpintro" + i + ""])) { LabMS.Common.JShelper.JSAlert(Page, "err", "所需低耗品名称不能为空!"); return; } } } } #endregion LabMS.BLL.PersonalProject projectinfo = new LabMS.BLL.PersonalProject(); LabMS.Model.PersonalProject project = new LabMS.Model.PersonalProject(); int ProjectID = int.Parse(Request.QueryString["ProjectID"]); project.ProjectID = ProjectID; project.ProjectName = ProjectName.Text.Trim(); project.PlanHours = int.Parse(PlanHours.Text.Trim()); project.AppcationLabID = int.Parse(ddlApplyLab.SelectedValue.Trim()); DateTime tempTime = new DateTime(); if (DateTime.TryParse(ApplyTimeMin.Text.Trim(), out tempTime)) { project.ApplicationStartTime = tempTime; } if (DateTime.TryParse(ApplyTimeMax.Text.Trim(), out tempTime)) { project.ApplicationEndTime = tempTime; } LabMS.Model.SysSetting msys = new LabMS.Model.SysSetting(); ExtendBLL.SysSetting extendsys = new ExtendBLL.SysSetting(); msys = extendsys.GetCurrentSetting(); project.SYear = msys.CurrentYear; project.Semester = msys.CurrentSemester; project.Contactor = Contactor.Text.Trim(); project.ContactorClass = ContactorClass.Text.Trim(); project.ContactorEmail = ContactEmail.Text.Trim(); project.ContactorPhone = ContactPhone.Text.Trim(); project.Teacher = Teacher.Text.Trim(); project.TeacherTitle = TeacherTitle.Text.Trim(); project.TeacherEmail = TeacherEmail.Text.Trim(); project.TeacherPhone = TeacherPhone.Text.Trim(); project.ApplicationReason = ApplyReason.Text.Trim(); project.ProjectStatus = "1";//状态为未申请(status=1) string strAlertContent = "保存成功!"; if (((Button)sender).ID == "btnApply") { strAlertContent = "申请成功!"; project.ProjectStatus = "2"; } //添加申请人 string[] array = tb_StudentIDs.Text.Split(','); List<string> lsIDs = new List<string>(); lsIDs.Add(array[0]); foreach (string item in array) { int Count = 0; foreach (string Pr in lsIDs) { if (item != Pr) { Count++; } } if (Count == lsIDs.Count) { lsIDs.Add(item); } } try { projectinfo.Update(project); } catch (Exception ex) { lbErr.Visible = true; lbErr.Text = ex.Message; return; } if (!array[0].Equals("")) { LabMS.BLL.PersonalProjApp applicantinfo = new LabMS.BLL.PersonalProjApp(); LabMS.Model.PersonalProjApp applicant = new LabMS.Model.PersonalProjApp(); List<LabMS.Model.PersonalProjApp> applicantList = new List<LabMS.Model.PersonalProjApp>(); string str = " PersonalProjID=" + ProjectID; applicantList = applicantinfo.GetModelList(str); try { foreach (LabMS.Model.PersonalProjApp a in applicantList) { applicantinfo.Delete(a.ID); } for (int i = 0; i < lsIDs.Count; i++) { applicant.ApplicantID = int.Parse(lsIDs[i]); applicant.PersonalProjID = ProjectID; applicantinfo.Add(applicant); } } catch (Exception ex) { lbErr.Visible = true; lbErr.Text = ex.Message; return; } } //删除对应的仪器和低耗品 LabMS.BLL.PersonalProjConsume consumeinfo = new PersonalProjConsume(); LabMS.Model.PersonalProjConsume consume = new LabMS.Model.PersonalProjConsume(); List<LabMS.Model.PersonalProjConsume> consumeList = new List<LabMS.Model.PersonalProjConsume>(); string strSql = " PersonalProjID=" + ProjectID; consumeList = consumeinfo.GetModelList(strSql); try { foreach (LabMS.Model.PersonalProjConsume c in consumeList) { consumeinfo.Delete(c.ID); } } catch(Exception ex) { lbErr.Visible = true; lbErr.Text = ex.Message; return; } //添加仪器 int EquipIndex = int.Parse(tb_EIndex.Value); for (int i = 0; i < EquipIndex; i++) { string EquipName = ""; int EquipNum = 0; string Introduction = ""; try { EquipName = Request.Form["name" + i + ""]; EquipNum = int.Parse(Request.Form["num" + i + ""]); Introduction = Request.Form["intro" + i + ""]; consume.EquipName = EquipName; consume.EquipNum = EquipNum; consume.EquipType = 1; consume.Introduction = Introduction; consume.PersonalProjID = ProjectID; consumeinfo.Add(consume); } catch { } } //添加低耗品 int ConsumpIndex = int.Parse(tb_ConsumpIndex.Value); for (int i = 0; i < ConsumpIndex; i++) { string ConsumpName = ""; int ConsumpNum = 0; string ConsumpIntro = ""; try { ConsumpName = Request.Form["consumpname" + i + ""]; ConsumpNum = int.Parse(Request.Form["consumpnum" + i + ""]); ConsumpIntro = Request.Form["consumpintro" + i + ""]; consume.EquipName = ConsumpName; consume.EquipNum = ConsumpNum; consume.EquipType = 2; consume.Introduction = ConsumpIntro; consume.PersonalProjID = ProjectID; consumeinfo.Add(consume); } catch { } } LabMS.Common.JShelper.JSAlertAndRedirect(Page, "AddSuccess", strAlertContent, "ListPersonalProject.aspx"); }