Example #1
0
        public async Task <JsonResult> UpdateQuestionWithOptionList(QuestionWithOption question1, QuestionWithOption question2, QuestionWithOption question3)
        {
            GuessGameManager manager = new GuessGameManager();

            question1.StartTime = DateTime.Parse(question1.StartTime).ToString("yyyy-MM-dd 11:00:00");
            question1.EndTime   = DateTime.Parse(question1.EndTime).ToString("yyyy-MM-dd 11:00:00");
            question2.StartTime = question1.StartTime;
            question2.EndTime   = question1.EndTime;
            question3.StartTime = question1.StartTime;
            question3.EndTime   = question1.EndTime;

            DateTime starttimedate = DateTime.Parse(question1.StartTime);
            DateTime endtimedate   = DateTime.Parse(question1.EndTime);

            IEnumerable <Question> questionlist   = manager.GetALLQuestionList();
            List <long>            removePKIDlist = new List <long>()
            {
                question1.PKID, question2.PKID, question3.PKID
            };
            var allquestion = questionlist.ToList();

            allquestion.RemoveAll(s => removePKIDlist.Any(a => a == s.PKID));
            if (allquestion.Any())
            {
                foreach (var question in allquestion.Where(p => p != null).ToList())
                {
                    if (!(starttimedate >= DateTime.Parse(question.EndTime) || endtimedate <= DateTime.Parse(question.StartTime)))
                    {
                        return(Json("题目设置时间与线上题目时间段:(" + question.StartTime + "-" + question.EndTime + ")有重叠,请重设", JsonRequestBehavior.AllowGet));
                    }
                }
            }
            List <QuestionWithOption> questionList = new List <QuestionWithOption>()
            {
                question1, question2, question3
            };

            bool savesuccess = manager.UpdateQuestionWithOptionList(questionList);

            if (savesuccess)
            {
                using (var client = new ConfigLogClient())
                {
                    foreach (var question in questionList)
                    {
                        var response = client.InsertDefaultLogQueue("CommonConfigLog", JsonConvert.SerializeObject(new
                        {
                            ObjectId    = question.PKID,
                            ObjectType  = "WorldCupConfig",
                            BeforeValue = "",
                            AfterValue  = "",
                            Remark      = "修改题目及竞猜项",
                            Creator     = User.Identity.Name,
                        }));
                    }
                }
            }
            return(Json(savesuccess ? "" : "操作失败", JsonRequestBehavior.AllowGet));
        }