public async Task <IActionResult> Reply(QuestionReplyViewModel webModel)
        {
            if (ModelState.IsValid)
            {
                bool flag;
                if (string.IsNullOrEmpty(webModel.Id))
                {
                    return(Json(new
                    {
                        success = false,
                        msg = "回复学生疑问信息失败,问题编号为空"
                    }));
                }
                else
                {
                    //Update Question
                    flag = await _service.ReplyQuestionAsync(webModel, _context);
                }

                return(Json(new
                {
                    success = flag,
                    msg = flag ? "回复学生疑问信息成功" : "回复学生疑问信息失败"
                }));
            }

            return(Json(new
            {
                success = false,
                msg = this.ModelState.Keys.SelectMany(key => this.ModelState[key].Errors).FirstOrDefault().ErrorMessage
            }));
        }
        /// <summary>
        /// 获取学生疑问信息
        /// </summary>
        /// <param name="id">问题编号</param>
        /// <param name="context">数据库上下文对象</param>
        /// <returns></returns>
        public async Task <QuestionReplyViewModel> GetQuestionAsync(long id, ApplicationDbContext context)
        {
            var webModel = new QuestionReplyViewModel();

            try
            {
                var model = await QuestionRepository.GetQuestionAsync(id, context);

                webModel.Id           = model.Id.ToString();
                webModel.AskForName   = model.AskForName;
                webModel.AskTime      = model.AskTime.ToString("yyyy-MM-dd HH:mm:ss");
                webModel.Content      = model.Content;
                webModel.IsReply      = model.IsReply;
                webModel.ReplyContent = model.ReplyContent;
                webModel.ReplyId      = model.ReplyId;
                webModel.ReplyName    = model.ReplyName;
                webModel.ReplyTime    = model.ReplyTime.ToString("yyyy-MM-dd HH:mm:ss");
                webModel.StuName      = model.StuName;
            }
            catch (Exception ex)
            {
                _logger.LogError("获取疑问信息数据失败:{0},\r\n内部错误信息:{1}", ex.Message, ex.InnerException.Message);
            }
            return(webModel);
        }
Exemple #3
0
        /// <summary>
        /// 回复疑问信息
        /// </summary>
        /// <param name="webModel">疑问信息回复页视图Model</param>
        /// <param name="context">数据库上下文对象</param>
        public static async void ReplyQuestionAsync(QuestionReplyViewModel webModel, ApplicationDbContext context)
        {
            var model = await context.Question.FirstOrDefaultAsync(i => i.Id == Convert.ToInt64(webModel.Id));

            if (model == null)
            {
                return;
            }

            //Update
            model.IsReply      = true;
            model.ReplyContent = webModel.ReplyContent;
            model.ReplyFK      = CurrentUser.UserOID;
            model.ReplyId      = CurrentUser.UserId;
            model.ReplyName    = CurrentUser.UserName;
            model.ReplyTime    = DateTime.Now;
        }
        /// <summary>
        /// 回复学生疑问信息
        /// </summary>
        /// <param name="webModel">回复信息页视图Model</param>
        /// <param name="context">数据库上下文对象</param>
        /// <returns></returns>
        public async Task <bool> ReplyQuestionAsync(QuestionReplyViewModel webModel, ApplicationDbContext context)
        {
            try
            {
                //Update Question Data
                QuestionRepository.ReplyQuestionAsync(webModel, context);

                //Add Operate Information
                var operate = string.Format("回复学生疑问信息,学生疑问编号:{0}", webModel.Id);
                PSURepository.InsertRecordAsync("Question", "QuestionDomain", "ReplyQuestionAsync", operate, (short)PSURepository.OperateCode.Update, Convert.ToInt64(webModel.Id), context);

                var index = await context.SaveChangesAsync();

                return(index == 2);
            }
            catch (Exception ex)
            {
                _logger.LogError("回复学生疑问失败:{0},\r\n内部错误信息:{1}", ex.Message, ex.InnerException.Message);
                return(false);
            }
        }