public JsonResult Save(List <int> id) { if (id == null || id.Count == 0) { return(Json(new { result = 0, Data = "请选择一个选项!" })); } int subjectId = RequestInt("subjectId"); if (subjectId == 0) { return(Json(new { result = 0, Data = "问卷不存在!" })); } var infolist = OA.Bll.BllQuestionnaire_Info.GetList(subjectId); if (infolist == null || infolist.Count == 0) { return(Json(new { result = 0, Data = "该问卷下无试题!" })); } //验证格式 string email = RequestString("email"); string tel = RequestString("tel"); if (!string.IsNullOrEmpty(email) && !Tools.Common.StringCheck.IsEmail(email)) { return(Json(new { result = 0, Data = "请输入正确的邮箱地址!" })); } if (!Tools.Common.StringCheck.IsMobile(tel)) { return(Json(new { result = 0, Data = "请输入正确的手机号码!" })); } int score = 0; //总分 int correctNum = 0; //答对个数 List <OA.Model.Questionnaire_Result> result = new List <OA.Model.Questionnaire_Result>(); //统计结果 foreach (int tid in id) { var model = infolist.Find(o => o.Id == tid); if (model != null) { //判断类型和答案 bool isRight = false; string answer = RequestString(tid.ToString()); if (model.Type == (byte)Tools.Enums.Site.InputType.CheckBox) { //多选题,只要其中一个对,就算得分 var o_answer = ("," + model.Answer.ToLower() + ","); var answers = answer.ToLower().Split(','); foreach (var ans in answers) { if (o_answer.Contains(ans)) { isRight = true; break; } } } else if (model.Type == (byte)Tools.Enums.Site.InputType.Radio) { isRight = model.Answer.ToLower() == answer.ToLower(); } else if (model.Type == (byte)Tools.Enums.Site.InputType.Text) { isRight = model.Answer.Trim().ToLower() == answer.Trim().ToLower(); } //答对统计数据 if (isRight) { score += model.Score.Value; correctNum++; } //添加回答记录 result.Add(new OA.Model.Questionnaire_Result() { Question = model.Title, Answer = model.Answer, IsRight = isRight, Result = answer, Score = isRight ? model.Score.Value : 0, SubjectId = subjectId }); } } try { string ip = Tools.Utility.CheckClient.GetIP(); string country = string.Empty; string area = string.Empty; if (ip != "" && IPDataPath != "") { var ipSearch = new IPSearcher(IPDataPath).GetIPLocation(ip); country = ipSearch.country; area = ipSearch.area; } bool isOk = OA.Bll.BllQuestionnaire_Answerer.Add(new OA.Model.Questionnaire_Answerer() { Name = RequestString("name"), Email = email, Tel = tel, Company = RequestString("company"), StartTime = RequestString("starttime").ToDateTime(), Job = RequestString("job"), Department = RequestString("department"), IsDISC = false, DISC = "", CorrectNum = correctNum, Score = score, SubjectId = subjectId, AddTime = DateTime.Now, IP = ip, UserAgent = Tools.Utility.CheckClient.GetUserAgent(), IsMobile = Tools.Utility.CheckClient.IsMobileDevice(), Country = country, Area = area }, result); if (isOk) { return(Json(new { result = 1, data = new Result() { subjectid = subjectId, score = score, correctnum = correctNum, allnum = infolist.Count } })); } else { return(Json(new { result = 0, data = "提交失败,请联系公司相关负责人!" })); } } catch (Exception ex) { Tools.Tool.LogHelper.WriteLog(typeof(DiscController), ex, 0, ""); return(Json(new { result = 0, data = "提交失败,请联系公司相关负责人!" })); } }
static bool Parse(string[] args) { for (int i = 0; i < args.Length - 1; i++) { switch (args[i]) { case "-w": { i++; if (i >= args.Length - 1) { return(false); } if (!int.TryParse(args[i], out Timeout)) { return(false); } if (Timeout <= 0) { return(false); } } break; case "-i": { i++; if (i >= args.Length - 1) { return(false); } if (!int.TryParse(args[i], out MaxTtl)) { return(false); } if (MaxTtl <= 0) { return(false); } } break; case "-d": { int searcher; IPSearcherImpl searcherImpl; i++; if (i >= args.Length - 1) { return(false); } if (!int.TryParse(args[i], out searcher)) { return(false); } searcherImpl = (IPSearcherImpl)searcher; Searcher = IPSearcher.Create(searcherImpl); if (Searcher == null) { return(false); } } break; default: { return(false); } } } if (args.Length == 0) { return(false); } if (!IPAddress.TryParse(args.Last(), out IP)) { try { IP = Dns.GetHostAddresses(args.Last())[0]; } catch { return(false); } } return(true); }
public JsonResult Save(List <int> id) { if (id == null || id.Count == 0) { return(Json(new { result = 0, Data = "请选择一个选项!" })); } //验证格式 string email = RequestString("email"); string tel = RequestString("tel"); if (!string.IsNullOrEmpty(email) && !Tools.Common.StringCheck.IsEmail(email)) { return(Json(new { result = 0, Data = "请输入正确的邮箱地址!" })); } if (!Tools.Common.StringCheck.IsMobile(tel)) { return(Json(new { result = 0, Data = "请输入正确的手机号码!" })); } //所有结果加入列表 List <string> disclist = new List <string>(); foreach (var i in id) { disclist.Add(RequestString(i.ToString())); } List <Tools.Json.DISC> entity = new List <Tools.Json.DISC>(); entity.Add(new Tools.Json.DISC() { n = "D", v = disclist.FindAll(o => o == "D").Count.ToString() }); entity.Add(new Tools.Json.DISC() { n = "I", v = disclist.FindAll(o => o == "I").Count.ToString() }); entity.Add(new Tools.Json.DISC() { n = "S", v = disclist.FindAll(o => o == "S").Count.ToString() }); entity.Add(new Tools.Json.DISC() { n = "C", v = disclist.FindAll(o => o == "C").Count.ToString() }); try { string ip = Tools.Utility.CheckClient.GetIP(); string country = string.Empty; string area = string.Empty; if (ip != "" && IPDataPath != "") { var ipSearch = new IPSearcher(IPDataPath).GetIPLocation(ip); country = ipSearch.country; area = ipSearch.area; } int count = OA.Bll.BllQuestionnaire_Answerer.Insert(new OA.Model.Questionnaire_Answerer() { Name = RequestString("name"), Email = email, Tel = tel, Company = RequestString("company"), StartTime = RequestString("starttime").ToDateTime(), Job = RequestString("job"), Department = RequestString("department"), IsDISC = true, DISC = Tools.Tool.JsonHelper.Serialize(entity), CorrectNum = 0, Score = 0, SubjectId = 0, AddTime = DateTime.Now, IP = ip, UserAgent = Tools.Utility.CheckClient.GetUserAgent(), IsMobile = Tools.Utility.CheckClient.IsMobileDevice(), Country = country, Area = area }); if (count > 0) { return(Json(new { result = 1, data = entity })); } else { return(Json(new { result = 0, data = "提交失败,请联系公司相关负责人!" })); } } catch (Exception ex) { Tools.Tool.LogHelper.WriteLog(typeof(DiscController), ex, 0, ""); return(Json(new { result = 0, data = "提交失败,请联系公司相关负责人!" })); } }