protected Label newChapterLabel(long userId) { Label chapter = new Label(); //值字典 valueDic.Clear(); BLL.CCOM.User_subject_value vbll = new BLL.CCOM.User_subject_value(); try { List <Model.CCOM.User_subject_value> valueList = vbll.GetModelList("User_id=" + userId); foreach (Model.CCOM.User_subject_value value in valueList) { if (!valueDic.ContainsKey(value.Subject_id)) { valueDic.Add(value.Subject_id, new Dictionary <int, Model.CCOM.User_subject_value>()); } if (value.Usv_children == null) { valueDic[value.Subject_id].Add(0, value); } else { valueDic[value.Subject_id].Add((int)value.Usv_children, value); } } } catch (Exception e) { return(null); } chapterBuilder = new StringBuilder(); BindChapter(subjectDic[Convert.ToInt32(ddlSubject.SelectedValue)], 0); chapter.Text = chapterBuilder.ToString(); return(chapter); }
protected void BindAllSubject() { userId = GetAdminInfo_CCOM().User_id; BLL.CCOM.User_property pbll = new BLL.CCOM.User_property(); Model.CCOM.User_property pmodel = pbll.GetModel("User_id=" + userId); int majorId = pmodel.Agency_id; //科目字典 BLL.CCOM.Subject bll = new BLL.CCOM.Subject(); try { List <Model.CCOM.Subject> subjectList = bll.GetModelList("Major_Agency_id=" + majorId); foreach (Model.CCOM.Subject subject in subjectList) { subjectDic.Add(subject.Subject_id, subject); } } catch (Exception e) { return; } //旧值字典 BLL.CCOM.User_subject_value vbll = new BLL.CCOM.User_subject_value(); try { List <Model.CCOM.User_subject_value> valueList = vbll.GetModelList("User_id=" + GetAdminInfo_CCOM().User_id); foreach (Model.CCOM.User_subject_value value in valueList) { if (!oldDic.ContainsKey(value.Subject_id)) { oldDic.Add(value.Subject_id, new Dictionary <int, Model.CCOM.User_subject_value>()); } if (value.Usv_children == null) { oldDic[value.Subject_id].Add(0, value); } else { oldDic[value.Subject_id].Add((int)value.Usv_children, value); } } } catch (Exception e) { return; } root = bll.GetModel("Major_Agency_id=" + majorId + "and Subject_level=0"); foreach (Model.CCOM.Subject Cmodel in subjectDic.Values) { if (Cmodel.Fs_id == root.Subject_id) { BindTest(Cmodel); } } }
protected void btnSubmit_Click(object sender, EventArgs e) { if (!Page.IsValid) { return; } if (DateTime.Now > period.Period_register_end) { JscriptMsg("已超过注册时间!", Utils.CombUrlTxt("../center.aspx", "fun_id={0}", DESEncrypt.Encrypt(this.fun_id)), "Error"); } // 新值字典 foreach (BaseValidator validator in this.Validators) { Panel subjectPanel = (Panel)validator.Parent; if (subjectPanel.Visible == true && validator.Enabled == true) { int childrenIndex = subjectPanel.ID.IndexOf("children"); if (validator.ID.Contains("title")) { //下拉框 String subjectString = subjectPanel.ID.Substring(0, childrenIndex); String childrenString = subjectPanel.ID.Replace(subjectString, ""); int fatherId = Convert.ToInt32(subjectString.Replace("subjectPanel", "")); int childrenId = Convert.ToInt32(childrenString.Replace("children", "")); DropDownList ddlTitle = (DropDownList)subjectPanel.FindControl("title" + fatherId + "children" + childrenId); Model.CCOM.User_subject_value valueModel = new Model.CCOM.User_subject_value(); valueModel.User_id = userId; valueModel.Subject_id = fatherId; valueModel.Usv_children = childrenId; valueModel.Usv_value = ddlTitle.SelectedValue; if (!newDic.ContainsKey(fatherId)) { newDic.Add(fatherId, new Dictionary <int, Model.CCOM.User_subject_value>()); } if (!newDic[fatherId].ContainsKey(childrenId)) { newDic[fatherId].Add(childrenId, valueModel); } } else { //文本 int subjectId = 0; TextBox tbValue = null; if (childrenIndex == -1) { //非子节点 subjectId = Convert.ToInt32(subjectPanel.ID.Replace("subjectPanel", "")); tbValue = (TextBox)subjectPanel.FindControl("value" + subjectId); } else { //子节点 String childrenString = subjectPanel.ID.Replace("subjectPanel", ""); //拿到下拉框取值 DropDownList ddltitle = (DropDownList)subjectPanel.FindControl("title" + childrenString); subjectId = Convert.ToInt32(ddltitle.SelectedValue); tbValue = (TextBox)subjectPanel.FindControl("value" + childrenString); } if (!newDic.ContainsKey(subjectId)) { Model.CCOM.User_subject_value valueModel = new Model.CCOM.User_subject_value(); valueModel.User_id = userId; valueModel.Subject_id = subjectId; valueModel.Usv_value = tbValue.Text; newDic.Add(subjectId, new Dictionary <int, Model.CCOM.User_subject_value>()); newDic[subjectId].Add(0, valueModel); } } } } BLL.CCOM.User_subject_value vbll = new BLL.CCOM.User_subject_value(); // 对比update foreach (Dictionary <int, Model.CCOM.User_subject_value> newChildrenDic in newDic.Values) { foreach (Model.CCOM.User_subject_value valueModel in newChildrenDic.Values) { if (subjectDic[valueModel.Subject_id].Value_type == 3) { if (oldDic.ContainsKey(valueModel.Subject_id)) { valueModel.Usv_id = oldDic[valueModel.Subject_id][0].Usv_id; vbll.Update(valueModel); oldDic.Remove(valueModel.Subject_id); } else { vbll.Add(valueModel); } } else { if (oldDic.ContainsKey(valueModel.Subject_id) && oldDic[valueModel.Subject_id].ContainsKey((int)valueModel.Usv_children)) { valueModel.Usv_id = oldDic[valueModel.Subject_id][(int)valueModel.Usv_children].Usv_id; vbll.Update(valueModel); oldDic[valueModel.Subject_id].Remove((int)valueModel.Usv_children); } else { vbll.Add(valueModel); } } } } // 批量删除 String deleteList = ""; bool isFirst = true; foreach (Dictionary <int, Model.CCOM.User_subject_value> oldChildrenDic in oldDic.Values) { foreach (Model.CCOM.User_subject_value valueModel in oldChildrenDic.Values) { if (isFirst) { isFirst = false; } else { deleteList += ","; } deleteList += "'" + valueModel.Usv_id + "'"; } } if (!isFirst) { vbll.DeleteList(deleteList); } JscriptMsg("报考成功!", Utils.CombUrlTxt("../center.aspx", "fun_id={0}", DESEncrypt.Encrypt(this.fun_id)), "Success"); }