383 lines
		
	
	
		
			13 KiB
		
	
	
	
		
			C#
		
	
	
	
		
		
			
		
	
	
			383 lines
		
	
	
		
			13 KiB
		
	
	
	
		
			C#
		
	
	
	
|  | using BLL; | |||
|  | using BLL.ZHGL.Question; | |||
|  | using Model; | |||
|  | using System; | |||
|  | using System.Collections.Generic; | |||
|  | using System.Linq; | |||
|  | 
 | |||
|  | namespace FineUIPro.Web.ZHGL.Question | |||
|  | { | |||
|  |     public partial class QuestionDBItemSave : PageBase | |||
|  |     { | |||
|  |         #region 定义变量 | |||
|  |         /// <summary> | |||
|  |         /// 主键 | |||
|  |         /// </summary> | |||
|  |         public string QuestionDBItemId | |||
|  |         { | |||
|  |             get | |||
|  |             { | |||
|  |                 return (string)ViewState["QuestionDBItemId"]; | |||
|  |             } | |||
|  |             set | |||
|  |             { | |||
|  |                 ViewState["QuestionDBItemId"] = value; | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 主表主键 | |||
|  |         /// </summary> | |||
|  |         public string QuestionDBId | |||
|  |         { | |||
|  |             get | |||
|  |             { | |||
|  |                 return (string)ViewState["QuestionDBId"]; | |||
|  |             } | |||
|  |             set | |||
|  |             { | |||
|  |                 ViewState["QuestionDBId"] = value; | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 附件 | |||
|  |         /// </summary> | |||
|  |         private string AttachUrl | |||
|  |         { | |||
|  |             get | |||
|  |             { | |||
|  |                 return (string)ViewState["AttachUrl"]; | |||
|  |             } | |||
|  |             set | |||
|  |             { | |||
|  |                 ViewState["AttachUrl"] = value; | |||
|  |             } | |||
|  |         } | |||
|  |         /// <summary> | |||
|  |         /// 单选题分值 | |||
|  |         /// </summary> | |||
|  |         private int SValue | |||
|  |         { | |||
|  |             get | |||
|  |             { | |||
|  |                 return (int)ViewState["SValue"]; | |||
|  |             } | |||
|  |             set | |||
|  |             { | |||
|  |                 ViewState["SValue"] = value; | |||
|  |             } | |||
|  |         } | |||
|  |         /// <summary> | |||
|  |         /// 多选题分值 | |||
|  |         /// </summary> | |||
|  |         private int MValue | |||
|  |         { | |||
|  |             get | |||
|  |             { | |||
|  |                 return (int)ViewState["MValue"]; | |||
|  |             } | |||
|  |             set | |||
|  |             { | |||
|  |                 ViewState["MValue"] = value; | |||
|  |             } | |||
|  |         }  | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 判断题分值 | |||
|  |         /// </summary> | |||
|  |         private int JValue | |||
|  |         { | |||
|  |             get | |||
|  |             { | |||
|  |                 return (int)ViewState["JValue"]; | |||
|  |             } | |||
|  |             set | |||
|  |             { | |||
|  |                 ViewState["JValue"] = value; | |||
|  |             } | |||
|  |         } | |||
|  |         #endregion | |||
|  | 
 | |||
|  |         #region 加载页面 | |||
|  |         protected void Page_Load(object sender, EventArgs e) | |||
|  |         { | |||
|  |             if (!IsPostBack) | |||
|  |             { | |||
|  |                 SValue = 1; | |||
|  |                 MValue = 2; | |||
|  |                 JValue = 1; | |||
|  |                 var testRule = Funs.DB.Sys_TestRule.FirstOrDefault(); | |||
|  |                 if (testRule != null) | |||
|  |                 { | |||
|  |                     SValue = testRule.SValue ; | |||
|  |                     MValue = testRule.MValue; | |||
|  |                     JValue = testRule.JValue; | |||
|  |                 } | |||
|  | 
 | |||
|  |                 this.GetButtonPower(); | |||
|  |                 LoadData(); | |||
|  |                 BindEnumrableToDropDownList(); | |||
|  |                 this.QuestionDBItemId = Request.QueryString["QuestionDBItemId"]; | |||
|  |                 this.QuestionDBId = Request.QueryString["QuestionDBId"]; | |||
|  |                 if (!String.IsNullOrEmpty(this.QuestionDBItemId)) | |||
|  |                 { | |||
|  |                     var q =  QuestionService.getQuestionDBItemById(this.QuestionDBItemId); | |||
|  |                     if (q != null) | |||
|  |                     { | |||
|  |                         txtTrainingItemCode.Text = q.QuestionDBItemCode; | |||
|  |                         if (!string.IsNullOrEmpty(q.TestType)) | |||
|  |                         { | |||
|  |                             this.rblTestType.SelectedValue = q.TestType; | |||
|  |                             if (q.TestType == "1") | |||
|  |                             { | |||
|  |                                // this.lbScore.Text = SValue.ToString(); | |||
|  |                                 this.trE.Hidden = true; | |||
|  |                             } | |||
|  |                             else if (q.TestType == "2") | |||
|  |                             { | |||
|  |                                 //this.lbScore.Text = MValue.ToString(); | |||
|  |                             } | |||
|  |                             else if (q.TestType == "3") | |||
|  |                             { | |||
|  |                                 //this.lbScore.Text = JValue.ToString(); | |||
|  |                                 this.trC.Hidden = true; | |||
|  |                                 this.trD.Hidden = true; | |||
|  |                                 this.trE.Hidden = true; | |||
|  |                             } | |||
|  | 
 | |||
|  |                             System.Web.UI.WebControls.ListItem[] myList2 = BLL.TestTrainingItemService.GetAnswerItemsList(this.rblTestType.SelectedValue); | |||
|  |                             RadioButtonList2.DataTextField = "Text"; | |||
|  |                             RadioButtonList2.DataValueField = "Value"; | |||
|  |                             RadioButtonList2.DataSource = myList2; | |||
|  |                             RadioButtonList2.DataBind(); | |||
|  | 
 | |||
|  |                             if (!string.IsNullOrEmpty(q.AnswerItems)) | |||
|  |                             { | |||
|  |                                 string[] ids2 = q.AnswerItems.Split(','); | |||
|  |                                 DropDownBox2.Values = ids2; | |||
|  |                             } | |||
|  |                         } | |||
|  |                         txtAbstracts.Text = q.Abstracts; | |||
|  |                      | |||
|  |                         this.txtAItem.Text = q.AItem; | |||
|  |                         this.txtBItem.Text = q.BItem; | |||
|  |                         this.txtCItem.Text = q.CItem; | |||
|  |                         this.txtDItem.Text = q.DItem; | |||
|  |                         this.txtEItem.Text = q.EItem; | |||
|  | 
 | |||
|  |                         this.AttachUrl = q.AttachUrl; | |||
|  |                         if (!string.IsNullOrEmpty(this.AttachUrl)) | |||
|  |                         { | |||
|  |                             this.trImageUrl.Visible = true; | |||
|  |                             this.divFile.InnerHtml = BLL.UploadAttachmentService.ShowAttachment("../../", this.AttachUrl); | |||
|  |                             this.divBeImageUrl.InnerHtml = BLL.UploadAttachmentService.ShowImage("../../", this.AttachUrl); | |||
|  |                         } | |||
|  |                     } | |||
|  |                 } | |||
|  |                 else | |||
|  |                 { | |||
|  |                     this.txtScore.Text = SValue.ToString(); | |||
|  |                     this.trE.Hidden = true; | |||
|  |                 } | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 删除附件 | |||
|  |         /// </summary> | |||
|  |         /// <param name="sender"></param> | |||
|  |         /// <param name="e"></param> | |||
|  |         protected void btnDelete_Click(object sender, EventArgs e) | |||
|  |         { | |||
|  |             this.trImageUrl.Visible = false; | |||
|  |             this.AttachUrl = string.Empty; | |||
|  |             this.divFile.InnerHtml = string.Empty; | |||
|  |             this.divBeImageUrl.InnerHtml = string.Empty; ; | |||
|  |         } | |||
|  | 
 | |||
|  |         private void LoadData() | |||
|  |         { | |||
|  |             btnClose.OnClientClick = ActiveWindow.GetHideReference(); | |||
|  |         } | |||
|  | 
 | |||
|  |         private void BindEnumrableToDropDownList() | |||
|  |         { | |||
|  |           | |||
|  |             System.Web.UI.WebControls.ListItem[] myList2 = BLL.TestTrainingItemService.GetAnswerItemsList(this.rblTestType.SelectedValue); | |||
|  |             RadioButtonList2.DataTextField = "Text"; | |||
|  |             RadioButtonList2.DataValueField = "Value"; | |||
|  |             RadioButtonList2.DataSource = myList2; | |||
|  |             RadioButtonList2.DataBind(); | |||
|  |         } | |||
|  |         #endregion | |||
|  | 
 | |||
|  |         #region 保存 | |||
|  |         /// <summary> | |||
|  |         /// 保存数据 | |||
|  |         /// </summary> | |||
|  |         private void SaveData(bool isClosed) | |||
|  |         { | |||
|  |             Model.Question_QuestionDBItem trainingItem = new Question_QuestionDBItem | |||
|  |             { | |||
|  |                 QuestionDBItemCode = txtTrainingItemCode.Text.Trim(), | |||
|  |                 Abstracts = txtAbstracts.Text.Trim(), | |||
|  |                 TestType = this.rblTestType.SelectedValue, | |||
|  |                 AItem = txtAItem.Text.Trim(), | |||
|  |                 BItem = txtBItem.Text.Trim(), | |||
|  |                 CItem = txtCItem.Text.Trim(), | |||
|  |                 DItem = txtDItem.Text.Trim(), | |||
|  |                 EItem = txtEItem.Text.Trim(), | |||
|  |                 AttachUrl = this.AttachUrl, | |||
|  |                | |||
|  |             }; | |||
|  |            | |||
|  |             if (!string.IsNullOrEmpty(DropDownBox2.Text)) | |||
|  |             { | |||
|  |                 trainingItem.AnswerItems = String.Join(",", DropDownBox2.Values); | |||
|  |             } | |||
|  |             else | |||
|  |             { | |||
|  |                 trainingItem.AnswerItems = string.Empty; | |||
|  |             } | |||
|  | 
 | |||
|  |             if (!string.IsNullOrEmpty(txtScore.Text)) | |||
|  |             { | |||
|  |                 trainingItem.Score = decimal.Parse(txtScore.Text); | |||
|  |             } | |||
|  | 
 | |||
|  |             if (String.IsNullOrEmpty(QuestionDBItemId)) | |||
|  |             { | |||
|  |                 trainingItem.QuestionDBItemId = SQLHelper.GetNewID(typeof(Model.Question_QuestionDBItem)); | |||
|  |                 trainingItem.QuestionDBId = this.QuestionDBId; | |||
|  |                 this.QuestionDBItemId = trainingItem.QuestionDBItemId; | |||
|  |                 QuestionService.AddQuestionDBItem(trainingItem); | |||
|  |                 BLL.LogService.AddSys_Log(this.CurrUser, trainingItem.QuestionDBItemId, trainingItem.QuestionDBId, BLL.Const.TestTrainingMenuId, BLL.Const.BtnAdd); | |||
|  |             } | |||
|  |             else | |||
|  |             { | |||
|  |                 Model.Question_QuestionDBItem t = QuestionService.getQuestionDBItemById(QuestionDBItemId); | |||
|  |                 trainingItem.QuestionDBItemId = QuestionDBItemId; | |||
|  |                 if (t != null) | |||
|  |                 { | |||
|  |                     trainingItem.QuestionDBId = t.QuestionDBId; | |||
|  |                 } | |||
|  |                 QuestionService.UpdateQuestionDBItem(trainingItem); | |||
|  |                 BLL.LogService.AddSys_Log(this.CurrUser, trainingItem.QuestionDBItemCode, trainingItem.QuestionDBItemId, BLL.Const.TestTrainingMenuId, BLL.Const.BtnModify); | |||
|  |             } | |||
|  |             if (isClosed) | |||
|  |             { | |||
|  |                 PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference()); | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         protected void btnSave_Click(object sender, EventArgs e) | |||
|  |         { | |||
|  |             SaveData(true); | |||
|  |         } | |||
|  |         #endregion | |||
|  | 
 | |||
|  |         #region 附件上传 | |||
|  |         /// <summary> | |||
|  |         /// 附件上传 | |||
|  |         /// </summary> | |||
|  |         /// <param name="sender"></param> | |||
|  |         /// <param name="e"></param> | |||
|  |         protected void btnFile_Click(object sender, EventArgs e) | |||
|  |         { | |||
|  |             if (btnFile.HasFile) | |||
|  |             { | |||
|  |                 this.AttachUrl = BLL.UploadFileService.UploadAttachment(BLL.Funs.RootPath, this.btnFile, this.AttachUrl, UploadFileService.TrainingFilePath); | |||
|  |                 if (!string.IsNullOrEmpty(this.AttachUrl)) | |||
|  |                 { | |||
|  |                     this.trImageUrl.Visible = true; | |||
|  |                     this.divFile.InnerHtml = BLL.UploadAttachmentService.ShowAttachment("../../", this.AttachUrl); | |||
|  |                     this.divBeImageUrl.InnerHtml = BLL.UploadAttachmentService.ShowImage("../../", this.AttachUrl); | |||
|  |                 } | |||
|  |             } | |||
|  |         } | |||
|  |         #endregion | |||
|  | 
 | |||
|  |         #region 按钮权限 | |||
|  |         /// <summary> | |||
|  |         /// 获取按钮权限 | |||
|  |         /// </summary> | |||
|  |         /// <param name="button"></param> | |||
|  |         /// <returns></returns> | |||
|  |         private void GetButtonPower() | |||
|  |         { | |||
|  |             var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.QuestionDBMenuId); | |||
|  |             if (buttonList.Count() > 0) | |||
|  |             { | |||
|  |                 if (buttonList.Contains(BLL.Const.BtnSave)) | |||
|  |                 { | |||
|  |                     this.btnSave.Hidden = false; | |||
|  |                 } | |||
|  |             } | |||
|  |         } | |||
|  |         #endregion | |||
|  | 
 | |||
|  |         #region 验证教材名称是否存在 | |||
|  |         /// <summary> | |||
|  |         /// 验证教材名称是否存在 | |||
|  |         /// </summary> | |||
|  |         /// <param name="sender"></param> | |||
|  |         /// <param name="e"></param> | |||
|  |         protected void TextBox_TextChanged(object sender, EventArgs e) | |||
|  |         { | |||
|  |             //var q = Funs.DB.Training_TrainingItem.FirstOrDefault(x => x.IsPass == true && x.TrainingId == this.TrainingId && x.TrainingItemName == this.txtTrainingItemName.Text.Trim() && (x.TrainingItemId != this.TrainingItemId || (this.TrainingItemId == null && x.TrainingItemId != null))); | |||
|  |             //if (q != null) | |||
|  |             //{ | |||
|  |             //    ShowNotify("输入的教材名称已存在!", MessageBoxIcon.Warning); | |||
|  |             //} | |||
|  |         } | |||
|  |         #endregion | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 题型变换事件 | |||
|  |         /// </summary> | |||
|  |         /// <param name="sender"></param> | |||
|  |         /// <param name="e"></param> | |||
|  |         protected void rblTestType_SelectedIndexChanged(object sender, EventArgs e) | |||
|  |         { | |||
|  |             this.trC.Hidden = false; | |||
|  |             this.trD.Hidden = false; | |||
|  |             this.trE.Hidden = false; | |||
|  | 
 | |||
|  |             this.txtAItem.Text = string.Empty; | |||
|  |             this.txtBItem.Text = string.Empty; | |||
|  |             this.txtCItem.Text = string.Empty; | |||
|  |             this.txtDItem.Text = string.Empty; | |||
|  |             this.txtEItem.Text = string.Empty; | |||
|  | 
 | |||
|  |             string testType = this.rblTestType.SelectedValue; | |||
|  |             System.Web.UI.WebControls.ListItem[] myList2 = BLL.TestTrainingItemService.GetAnswerItemsList(testType); | |||
|  |             RadioButtonList2.DataTextField = "Text"; | |||
|  |             RadioButtonList2.DataValueField = "Value"; | |||
|  |             RadioButtonList2.DataSource = myList2; | |||
|  |             RadioButtonList2.DataBind(); | |||
|  | 
 | |||
|  |             DropDownBox2.Text = string.Empty; | |||
|  |             DropDownBox2.Values = null; | |||
|  | 
 | |||
|  |             if (testType == "1") | |||
|  |             { | |||
|  |                 this.txtScore.Text = SValue.ToString(); | |||
|  |                 this.trE.Hidden = true; | |||
|  |             } | |||
|  |             else if (testType == "2") | |||
|  |             { | |||
|  |                 this.txtScore.Text = MValue.ToString(); | |||
|  |             } | |||
|  |             else if (testType == "3") | |||
|  |             { | |||
|  |                 this.txtScore.Text = JValue.ToString(); | |||
|  |                 this.trC.Hidden = true; | |||
|  |                 this.trD.Hidden = true; | |||
|  |                 this.trE.Hidden = true; | |||
|  |                 this.txtAItem.Text = "对"; | |||
|  |                 this.txtBItem.Text = "错"; | |||
|  |             } | |||
|  |         } | |||
|  |     } | |||
|  | } |