private void btnRuXian_Click(object sender, EventArgs e) { Public.LoginInfo loginInfo = Public.LoginInfo.GetInstance(); //同人同天同问卷做控制 //if (ClientInfo.AlreadyExistQuestionnaire(QuestionnaireCode.ZaoAiRuXianAi, loginInfo.UserId)) //{ // var msgBox = new CustomMessageBox("您今天已做乳腺癌筛查问卷!"); // msgBox.ShowDialog(); // return; //} Zaoai.ScreeningZaoaiSelect screeningZaoaiSelect = new ScreeningZaoaiSelect(); XYS.Remp.Screening.Zaoai.Ruxian.QuestionA1 questionA1 = new Ruxian.QuestionA1(); Model.M_QuestionnaireUserDetail questionnaire = new Model.M_QuestionnaireUserDetail(); questionnaire.QuestionnaireCode = QuestionnaireCode.ZaoAiRuXianAi; questionnaire.QuestionnaireName = QuestionnaireCode.ZaoAiRuXianAiName; questionnaire.UserId = loginInfo.UserId; questionnaire.FamilyMemberID = loginInfo.FamilyMemberID; questionnaire.QuestionnaireStatus = 0; questionnaire.ActivityId = Properties.Settings.Default.ActivityId; questionnaire.QuestionnaireScore = 0; questionnaire.QuestionnaireType = 0; questionnaire.ActivityName = Properties.Settings.Default.ActivityName; questionnaire.AnswerTime = DateTime.Now; ClientInfo.AddQuestionnaire(questionnaire); if (loginInfo.UserId > -2) { //如果已经登录,则先判断本次登录是否已经做过此问卷,否则产生用户的回答记录。 //选择了足踝疾患问卷,则在添加一条问卷记录。 questionA1.TopMost = false; questionA1.ShowDialog(); this.Close(); } else { //LoginForm frmLogin = new LoginForm(questionA1); //LoginForm frmLogin = new LoginForm(screeningZaoaiSelect); //frmLogin.Show(); //this.Close(); //新的登录 LoginFormNew frmLoginFormNew = new LoginFormNew(screeningZaoaiSelect); frmLoginFormNew.Show(); this.Hide(); } //XYS.Remp.Screening.Zaoai.Ruxian.QuestionA1 questionA1 = new Ruxian.QuestionA1(); //questionA1.Show(); //this.Close(); }
//保存新产生的问卷记录,并返回新增的记录ID private static Model.M_QuestionnaireUserDetail SaveUserQuestionnair(Model.M_QuestionnaireUserDetail questionnair) { //client=new ScreeningServiceClient(); Model.M_QuestionnaireUserDetail result = null; questionnair.PatientId = questionnair.UserId; if (questionnair.UserId > 0) { result = screenWebapiClient.AddQuestionUser(questionnair); } return(result); }
//根据问卷代码获取用户本次登录回答的某个问卷对象 public static Model.M_QuestionnaireUserDetail GetQuestionnaireByCode(string questionnaireCode) { LoginInfo login = LoginInfo.GetInstance(); if (login.Questionnairs.Contains(questionnaireCode)) { Model.M_QuestionnaireUserDetail questionnaire = (Model.M_QuestionnaireUserDetail)login.Questionnairs[questionnaireCode]; return(questionnaire); } else { return(null); } }
//在客户端缓存中增加一个问卷记录,如果已存在此问卷则返回false public static bool AddQuestionnaire(Model.M_QuestionnaireUserDetail questionnaire) { LoginInfo login = LoginInfo.GetInstance(); if (login.Questionnairs.ContainsKey(questionnaire.QuestionnaireCode)) { return(false); } else { //设置界面选择了访客模式,则活动Id置为0 if (Properties.Settings.Default.SetIsCustomer) { questionnaire.ActivityId = 0; questionnaire.ActivityName = string.Empty; } //先在服务端添加记录 if (login.UserId > 0) { Model.M_QuestionnaireUserDetail mQuestionnaireUserDetail = SaveUserQuestionnair(questionnaire); questionnaire.QuestionnaireRecodId = mQuestionnaireUserDetail.QuestionnaireRecodId; questionnaire.AnswerTime = mQuestionnaireUserDetail.AnswerTime; //将问卷记录Id记录到全局变量中去 Properties.Settings.Default.QuestionnaireRecodId = mQuestionnaireUserDetail.QuestionnaireRecodId; Properties.Settings.Default.Save(); } else { questionnaire.QuestionnaireRecodId = -1; //游客模式登录,问卷ID为-1,不在服务端保存。 } //初始化问卷的题目列表 questionnaire.Questions = new List <Model.M_QuestionnaireResultDetail>(); //再添加到客户端缓存 login.Questionnairs.Add(questionnaire.QuestionnaireCode, questionnaire); return(true); } }
/// <summary> /// 根据问卷编码和题目编码获取问题答案 /// </summary> /// <param name="qustionnaireCode">问卷代码</param> /// <param name="questionCode">题目代码</param> /// <returns>题目答案</returns> public static string GetAnswerByCode(string questionnaireCode, string questionCode) { string answer = string.Empty; Model.M_QuestionnaireUserDetail questionnaire = GetQuestionnaireByCode(questionnaireCode); if (questionnaire == null) { //return answer; //如果本地问卷记录为空,则从数据库取数据 questionnaire = screenWebapiClient.GetQuestionnaireUserDetailById(Properties.Settings.Default.QuestionnaireRecodId); if (questionnaire != null) { questionnaire.Questions = screenWebapiClient.GetQuestionnaireResultDetails(questionnaire.QuestionnaireRecodId); } } IList <Model.M_QuestionnaireResultDetail> questions = questionnaire != null? questionnaire.Questions:null; if (questions != null) { foreach (Model.M_QuestionnaireResultDetail qust in questions) { if (qust.QuestionCode == questionCode) { answer = qust.QuestionResult; } } if (answer == null) { answer = string.Empty; } } return(answer); }
//下一页 private void btnNext_Click(object sender, EventArgs e) { //判断是否选择 if (!rbQ1A.Checked && !rbQ1B.Checked) { MessageBox.Show("请选择性别", "提示", MessageBoxButtons.OK); return; } if (!rbQ2A.Checked && !rbQ2B.Checked) { MessageBox.Show("请选择年龄", "提示", MessageBoxButtons.OK); return; } //排尿异常一二题选择标识 start Properties.Settings.Default.QuesSelFlag = string.Empty; Properties.Settings.Default.Save(); if (rbQ1A.Checked) { Properties.Settings.Default.QuesSelFlag += "rbQ1A,"; } if (rbQ1B.Checked) { Properties.Settings.Default.QuesSelFlag += "rbQ1B,"; } if (rbQ2A.Checked) { Properties.Settings.Default.QuesSelFlag += "rbQ2A,"; } if (rbQ2B.Checked) { Properties.Settings.Default.QuesSelFlag += "rbQ2B,"; } Properties.Settings.Default.Save(); //排尿异常一二题选择标识 end //男>40 就用良性前列腺筛查问卷.其它就用膀胱过度活动筛查问卷 if (rbQ1A.Checked && rbQ2A.Checked) { M_QuestionnaireUserDetail result = null; if (Properties.Settings.Default.ActivityId > 0) { //同人同天同问卷做控制 result = ClientInfo.AlreadyExistQuestionnaire(QuestionnaireCode.Ipss, loginInfo.UserId, Properties.Settings.Default.ActivityId); } if (result != null) { //记录上次问卷Id Properties.Settings.Default.LastTimeQuestionnaireRecodId = result.QuestionnaireRecodId; Properties.Settings.Default.Save(); string str = "会员" + LoginInfo.GetInstance().PatientAccount + "于" + result.AnswerTime + "参加本活动,完成了良性前列腺筛查。若继续筛查,则上一次筛查数据将被清除。请参考信息登记表,选择"; QuitComfirmFrm quitComfirmFrm = new QuitComfirmFrm(new ScreenOtherSelect(), this, str); DialogResult dr = quitComfirmFrm.ShowDialog(); if (dr == DialogResult.Cancel) { return; } } else { //清空上次问卷Id Properties.Settings.Default.LastTimeQuestionnaireRecodId = 0; Properties.Settings.Default.Save(); } //良性前列腺筛查问卷 //添加问卷记录 Model.M_QuestionnaireUserDetail questionnaire = new Model.M_QuestionnaireUserDetail(); questionnaire.QuestionnaireCode = QuestionnaireCode.Ipss; questionnaire.QuestionnaireName = QuestionnaireCode.IpssName; questionnaire.UserId = loginInfo.UserId; questionnaire.FamilyMemberID = loginInfo.FamilyMemberID; questionnaire.QuestionnaireStatus = 0; questionnaire.ActivityId = Properties.Settings.Default.ActivityId; questionnaire.QuestionnaireScore = 0; questionnaire.QuestionnaireType = 0; questionnaire.ActivityName = Properties.Settings.Default.ActivityName; questionnaire.AnswerTime = DateTime.Now; ClientInfo.AddQuestionnaire(questionnaire); //添加答题记录 //第一题 M_QuestionnaireResultDetail question1 = new M_QuestionnaireResultDetail(); string strResult1 = ""; if (rbQ1A.Checked) { strResult1 = "A,"; } if (rbQ1B.Checked) { strResult1 = "B,"; } question1.QuestionResult = strResult1; question1.QuestionCode = QuestionnaireCode.Ipss + ".1"; question1.PQuestionCode = QuestionnaireCode.Ipss + ".1"; question1.QuestionType = 1; question1.QuestionScore = 0; question1.PQuestionWeightScore = 0; ClientInfo.AddQuestionToQuestionnaire(question1, QuestionnaireCode.Ipss); //第二题 M_QuestionnaireResultDetail question2 = new M_QuestionnaireResultDetail(); string strResult2 = ""; if (rbQ2A.Checked) { strResult2 = "A,"; } if (rbQ2B.Checked) { strResult2 = "B,"; } question2.QuestionResult = strResult2; question2.QuestionCode = QuestionnaireCode.Ipss + ".2"; question2.PQuestionCode = QuestionnaireCode.Ipss + ".2"; question2.QuestionType = 1; question2.QuestionScore = 0; question2.PQuestionWeightScore = 0; ClientInfo.AddQuestionToQuestionnaire(question2, QuestionnaireCode.Ipss); //跳转 Other.Paruria.IPSS.IpssOne ipssOne = new Other.Paruria.IPSS.IpssOne(); ipssOne.TopMost = false; ipssOne.Show(); Close(); } else { M_QuestionnaireUserDetail result = null; if (Properties.Settings.Default.ActivityId > 0) { //同人同天同问卷做控制 result = ClientInfo.AlreadyExistQuestionnaire(QuestionnaireCode.Oab, loginInfo.UserId, Properties.Settings.Default.ActivityId); } if (result != null) { //记录上次问卷Id Properties.Settings.Default.LastTimeQuestionnaireRecodId = result.QuestionnaireRecodId; Properties.Settings.Default.Save(); string str = "会员" + LoginInfo.GetInstance().PatientAccount + "于" + result.AnswerTime + "参加本活动,完成了膀胱过度活动筛查。若继续筛查,则上一次筛查数据将被清除。请参考信息登记表,选择"; QuitComfirmFrm quitComfirmFrm = new QuitComfirmFrm(new ScreenOtherSelect(), this, str); DialogResult dr = quitComfirmFrm.ShowDialog(); if (dr == DialogResult.Cancel) { return; } } else { //清空上次问卷Id Properties.Settings.Default.LastTimeQuestionnaireRecodId = 0; Properties.Settings.Default.Save(); } //膀胱过度活动筛查问卷 //添加问卷记录 Model.M_QuestionnaireUserDetail questionnaire = new Model.M_QuestionnaireUserDetail(); questionnaire.QuestionnaireCode = QuestionnaireCode.Oab; questionnaire.QuestionnaireName = QuestionnaireCode.OabName; questionnaire.UserId = loginInfo.UserId; questionnaire.FamilyMemberID = loginInfo.FamilyMemberID; questionnaire.QuestionnaireStatus = 0; questionnaire.ActivityId = Properties.Settings.Default.ActivityId; questionnaire.QuestionnaireScore = 0; questionnaire.QuestionnaireType = 0; questionnaire.ActivityName = Properties.Settings.Default.ActivityName; questionnaire.AnswerTime = DateTime.Now; ClientInfo.AddQuestionnaire(questionnaire); //添加答题记录 //第一题 M_QuestionnaireResultDetail question1 = new M_QuestionnaireResultDetail(); string strResult1 = ""; if (rbQ1A.Checked) { strResult1 = "A,"; } if (rbQ1B.Checked) { strResult1 = "B,"; } question1.QuestionResult = strResult1; question1.QuestionCode = QuestionnaireCode.Oab + ".1"; question1.PQuestionCode = QuestionnaireCode.Oab + ".1"; question1.QuestionType = 1; question1.QuestionScore = 0; question1.PQuestionWeightScore = 0; ClientInfo.AddQuestionToQuestionnaire(question1, QuestionnaireCode.Oab); //第二题 M_QuestionnaireResultDetail question2 = new M_QuestionnaireResultDetail(); string strResult2 = ""; if (rbQ2A.Checked) { strResult2 = "A,"; } if (rbQ2B.Checked) { strResult2 = "B,"; } question2.QuestionResult = strResult2; question2.QuestionCode = QuestionnaireCode.Oab + ".2"; question2.PQuestionCode = QuestionnaireCode.Oab + ".2"; question2.QuestionType = 1; question2.QuestionScore = 0; question2.PQuestionWeightScore = 0; ClientInfo.AddQuestionToQuestionnaire(question2, QuestionnaireCode.Oab); //跳转 Other.Paruria.OAB.OabOne oabOne = new Other.Paruria.OAB.OabOne(); oabOne.TopMost = false; oabOne.Show(); Close(); } }
//往某个问卷里添加一个回答记录。 public static bool AddQuestionToQuestionnaire(Model.M_QuestionnaireResultDetail question, string questionnaireCode) { Model.M_QuestionnaireUserDetail questionnaire = GetQuestionnaireByCode(questionnaireCode); if (questionnaire == null) { return(false); } IList <Model.M_QuestionnaireResultDetail> questions = questionnaire.Questions; //foreach (QuestionnaireResultDetail qust in questions) //{ // if (qust.QuestionCode == question.QuestionCode) // { // //第二次添加同一个题目时,更新题目答案。 // qust.QuestionResult = question.QuestionResult; // return false; // } //} //第二次添加同一个题目时,更新题目答案。 bool flag = false; for (int i = 0; i < questions.Count; i++) { if (questions[i].QuestionCode == question.QuestionCode) { //答案项 questions[i].QuestionResult = question.QuestionResult; //题目分数 questions[i].QuestionScore = question.QuestionScore; //所属大题加权分 questions[i].PQuestionWeightScore = question.PQuestionWeightScore; //更新至数据库 //client = new ScreeningServiceClient(); //如果登录 if (LoginInfo.GetInstance().UserId > 0) { bool result = screenWebapiClient.UpdateQuestionnaireResult(questions[i].QuestionUserId, questions[i].QuestionCode, questions[i].QuestionResult, questions[i].QuestionScore, questions[i].PQuestionWeightScore); //client.Close(); } //如果是更新操作,将标记设为true flag = true; } } if (flag) { //终止 return(false); } //往服务端添加记录 question.PatientId = LoginInfo.GetInstance().UserId; question.FamilyMemberID = LoginInfo.GetInstance().FamilyMemberID; question.QuestionUserId = questionnaire.QuestionnaireRecodId; if (question.PatientId > 0) { try { //往服务端添加记录,可能存在网络不好的情况 //question.QuestionResultId = SaveUserQuestionResult(question); question.QuestionnaireResultDetailId = SaveUserQuestionResult(question); } catch (Exception ex) { throw new Exception("网络连接失败。" + ex); } } questions.Add(question); return(true); }
private void btnNext_Click(object sender, EventArgs e) { M_QuestionnaireUserDetail result = null; if (Properties.Settings.Default.ActivityId > 0) { //同人同天同问卷做控制 result = ClientInfo.AlreadyExistQuestionnaire(QuestionnaireCode.NaoNianChiDai, loginInfo.UserId, Properties.Settings.Default.ActivityId); } if (result != null) { //记录上次问卷Id Properties.Settings.Default.LastTimeQuestionnaireRecodId = result.QuestionnaireRecodId; Properties.Settings.Default.Save(); string str = "会员" + LoginInfo.GetInstance().PatientAccount + "于" + result.AnswerTime + "参加本活动,完成了老年痴呆认知筛查。若继续筛查,则上一次筛查数据将被清除。请参考信息登记表,选择"; QuitComfirmFrm quitComfirmFrm = new QuitComfirmFrm(new FirstFrm(), this, str); DialogResult dr = quitComfirmFrm.ShowDialog(); if (dr == DialogResult.Cancel) { return; } } else { //清空上次问卷Id Properties.Settings.Default.LastTimeQuestionnaireRecodId = 0; Properties.Settings.Default.Save(); } AD.FirstFrm firstFrm = new FirstFrm(); QuestionOne frmNext = new QuestionOne(); Model.M_QuestionnaireUserDetail questionnaire = new Model.M_QuestionnaireUserDetail(); questionnaire.QuestionnaireCode = QuestionnaireCode.NaoNianChiDai; questionnaire.QuestionnaireName = QuestionnaireCode.NaoNianChiDaiName; questionnaire.UserId = loginInfo.UserId; questionnaire.FamilyMemberID = loginInfo.FamilyMemberID; questionnaire.QuestionnaireStatus = 0; questionnaire.ActivityId = Properties.Settings.Default.ActivityId; questionnaire.QuestionnaireScore = 0; questionnaire.QuestionnaireType = 0; questionnaire.ActivityName = Properties.Settings.Default.ActivityName; questionnaire.AnswerTime = DateTime.Now; ClientInfo.AddQuestionnaire(questionnaire); if (loginInfo.UserId > -2) { //如果已经登录,则先判断本次登录是否已经做过此问卷,否则产生用户的回答记录。 //选择了足踝疾患问卷,则在添加一条问卷记录。 frmNext.TopMost = false; frmNext.Show(); this.Close(); } else { //LoginForm frmLogin = new LoginForm(frmNext); //旧的登录 //LoginForm frmLogin = new LoginForm(firstFrm); //frmLogin.Show(); //this.Hide(); //新的登录 LoginFormNew frmLoginFormNew = new LoginFormNew(firstFrm); frmLoginFormNew.Show(); this.Hide(); } }
//糖尿病筛查 private void btnDiabetes_Click(object sender, EventArgs e) { M_QuestionnaireUserDetail result = null; if (Properties.Settings.Default.ActivityId > 0) { //同人同天同问卷做控制 result = ClientInfo.AlreadyExistQuestionnaire(QuestionnaireCode.Diabetes, loginInfo.UserId, Properties.Settings.Default.ActivityId); } if (result != null) { //记录上次问卷Id Properties.Settings.Default.LastTimeQuestionnaireRecodId = result.QuestionnaireRecodId; Properties.Settings.Default.Save(); string str = "会员" + LoginInfo.GetInstance().PatientAccount + "于" + result.AnswerTime + "参加本活动,完成了糖尿病筛查。若继续筛查,则上一次筛查数据将被清除。请参考信息登记表,选择"; QuitComfirmFrm quitComfirmFrm = new QuitComfirmFrm(new ScreenOtherSelect(), this, str); DialogResult dr = quitComfirmFrm.ShowDialog(); if (dr == DialogResult.Cancel) { return; } } else { //清空上次问卷Id Properties.Settings.Default.LastTimeQuestionnaireRecodId = 0; Properties.Settings.Default.Save(); } var questionnaire = new Model.M_QuestionnaireUserDetail { QuestionnaireCode = QuestionnaireCode.Diabetes, QuestionnaireName = QuestionnaireCode.DiabetesName, UserId = loginInfo.UserId, FamilyMemberID = loginInfo.FamilyMemberID, QuestionnaireStatus = 0, ActivityId = Settings.Default.ActivityId, QuestionnaireScore = 0, QuestionnaireType = 0, ActivityName = Settings.Default.ActivityName, AnswerTime = DateTime.Now }; ClientInfo.AddQuestionnaire(questionnaire); if (loginInfo.UserId > -2) { var question = new QuestionOne { TopMost = false }; question.Show(); Close(); } else { var loginForm = new LoginFormNew(this); loginForm.Show(); Hide(); } }
private void btnShouShangZhi_Click(object sender, EventArgs e) { M_QuestionnaireUserDetail result = null; if (Properties.Settings.Default.ActivityId > 0) { //同人同天同问卷做控制 result = ClientInfo.AlreadyExistQuestionnaire(QuestionnaireCode.KangFuShouShangZhi, loginInfo.UserId, Properties.Settings.Default.ActivityId); } if (result != null) { //记录上次问卷Id Properties.Settings.Default.LastTimeQuestionnaireRecodId = result.QuestionnaireRecodId; Properties.Settings.Default.Save(); string str = "会员" + LoginInfo.GetInstance().PatientAccount + "于" + result.AnswerTime + "参加本活动,完成了手上肢筛查。若继续筛查,则上一次筛查数据将被清除。请参考信息登记表,选择"; QuitComfirmFrm quitComfirmFrm = new QuitComfirmFrm(new ScreeningSelect(), this, str); DialogResult dr = quitComfirmFrm.ShowDialog(); if (dr == DialogResult.Cancel) { return; } } else { //清空上次问卷Id Properties.Settings.Default.LastTimeQuestionnaireRecodId = 0; Properties.Settings.Default.Save(); } var screeningSelect = new ScreeningSelect(); var frmOne = new ShouShangZhi.QuestionOne(); var questionnaire = new Model.M_QuestionnaireUserDetail(); questionnaire.QuestionnaireCode = QuestionnaireCode.KangFuShouShangZhi; questionnaire.QuestionnaireName = QuestionnaireCode.KangFuShouShangZhiName; questionnaire.UserId = loginInfo.UserId; questionnaire.FamilyMemberID = loginInfo.FamilyMemberID; questionnaire.QuestionnaireStatus = 0; questionnaire.ActivityId = Settings.Default.ActivityId; questionnaire.QuestionnaireScore = 0; questionnaire.QuestionnaireType = 0; questionnaire.ActivityName = Settings.Default.ActivityName; questionnaire.AnswerTime = DateTime.Now; ClientInfo.AddQuestionnaire(questionnaire); if (loginInfo.UserId > -2) { //如果已经登录,则先判断本次登录是否已经做过此问卷,否则产生用户的回答记录。 //选择了手上支问卷,则在添加一条问卷记录。 frmOne.TopMost = false; frmOne.Show(); Close(); } else { //LoginForm frmLogin=new LoginForm(frmOne); //LoginForm frmLogin = new LoginForm(screeningSelect); //frmLogin.Show(); //Close(); //新的登录 var frmLoginFormNew = new LoginFormNew(screeningSelect); frmLoginFormNew.Show(); Hide(); } }