public ActionResult GetRelatedUserZy(int pageIndex, int pageSize)
        {
            int totalCount = 0;

            int[]         RUsers = B_User.GetRelatedUser(UserId);
            List <dto_Zy> list   = B_Zy.GetZyList(RUsers, pageIndex, pageSize, out totalCount);

            if (list != null)
            {
                List <int> ids = B_Answer.GetSubmitedZyIds(UserId, list.Select(a => a.Id).ToArray());
                foreach (var l in list)
                {
                    l.NewId = IdNamingHelper.Encrypt(IdNamingHelper.IdTypeEnum.Zy, l.Id);
                    string subName = "";
                    Const.Subjects.TryGetValue(l.SubjectId, out subName);
                    l.SubjectName = subName;
                    l.TypeName    = l.Type == 0 ? "题库" : "自传";
                    dto_User u = B_UserRedis.GetUser(l.UserId);
                    l.UserName = u.UserName;
                    l.TrueName = u.TrueName;
                    l.Submited = ids == null ? false : ids.Exists(a => a == l.Id);
                    //隐藏真实Id
                    l.Id = 0;
                }
            }
            ViewBag.RelateUserCount = RUsers == null ? 0 : RUsers.Length;
            ViewBag.ZyList          = list;
            ViewBag.PageCount       = Util.GetTotalPageCount(totalCount, pageSize);
            return(PartialView());
        }
        /// <summary>
        /// 关闭作业
        /// </summary>
        /// <param name="zyId"></param>
        /// <returns></returns>
        public JsonResult CloseZy(long zyId)
        {
            dto_AjaxJsonResult <string> r = new dto_AjaxJsonResult <string>();
            int    id = IdNamingHelper.Decrypt(IdNamingHelper.IdTypeEnum.Zy, zyId);
            dto_Zy zy = B_ZyRedis.GetZy(id);

            if (zy.UserId == 0)
            {
                r.code    = AjaxResultCodeEnum.Error;
                r.message = "试用作业仅用于数据展示,不允许进行操作!";
                r.data    = "";
                return(Json(r));
            }
            if (zy.Status == 2)
            {
                r.code    = AjaxResultCodeEnum.Error;
                r.message = "作业已删除,不能关闭!";
                r.data    = "";
                return(Json(r));
            }
            else if (zy.Status == 1)
            {
                r.code    = AjaxResultCodeEnum.Success;
                r.message = "";
                r.data    = "";
                return(Json(r));
            }
            else
            {
                bool isok = B_Zy.UpdateZyStatus(id, 1);
                if (isok)
                {
                    B_ZyRedis.UpdateZyStatus(id, 1);
                    r.code    = AjaxResultCodeEnum.Success;
                    r.message = "";
                    r.data    = "";
                    return(Json(r));
                }
                else
                {
                    r.code    = AjaxResultCodeEnum.Error;
                    r.message = "关闭失败!";
                    r.data    = "";
                    return(Json(r));
                }
            }
        }
Beispiel #3
0
        /// <summary>
        /// 获取我新建的作业
        /// </summary>
        /// <param name="lastId"></param>
        /// <param name="count"></param>
        /// <returns></returns>
        public ActionResult GetMyZy(long lastId, int count)
        {
            int           last = lastId == 0 ? 99999999 : IdNamingHelper.Decrypt(IdNamingHelper.IdTypeEnum.Zy, lastId);
            List <dto_Zy> list = B_Zy.GetZyList(UserId, last, count);

            if (list != null)
            {
                foreach (var l in list)
                {
                    //隐藏真实Id
                    l.NewId = IdNamingHelper.Encrypt(IdNamingHelper.IdTypeEnum.Zy, l.Id);
                    string subName = "";
                    Const.Subjects.TryGetValue(l.SubjectId, out subName);
                    l.SubjectName = subName;
                    l.TypeName    = l.Type == 0 ? "题库" : "自传";
                    l.Id          = 0;
                }
            }

            ViewBag.ZyList = list;
            return(PartialView());
        }
        public ActionResult GetMyZy(int pageIndex, int pageSize)
        {
            int           totalCount = 0;
            List <dto_Zy> list       = B_Zy.GetZyList(UserId, pageIndex, pageSize, out totalCount);

            if (list != null)
            {
                foreach (var l in list)
                {
                    //隐藏真实Id
                    l.NewId = IdNamingHelper.Encrypt(IdNamingHelper.IdTypeEnum.Zy, l.Id);
                    string subName = "";
                    Const.Subjects.TryGetValue(l.SubjectId, out subName);
                    l.SubjectName = subName;
                    l.TypeName    = l.Type == 0 ? "题库" : "自传";
                    l.Id          = 0;
                }
            }

            ViewBag.ZyList    = list;
            ViewBag.PageCount = Util.GetTotalPageCount(totalCount, pageSize);
            return(PartialView());
        }
        /// <summary>
        /// 保存作业试题
        /// </summary>
        /// <param name="courseId"></param>
        /// <param name="zyId"></param>
        /// <param name="questions"></param>
        /// <returns></returns>
        private bool SaveZyQuestions(int courseId, int zyId, string[] questions)
        {
            int OrderIndex           = 0;
            List <dto_ZyQuestion> ql = new List <dto_ZyQuestion>();

            foreach (var qid in questions)
            {
                dto_ZyQuestion q  = null;
                dto_Question   dq = B_QuesRedis.GetQuestion(courseId, IdNamingHelper.Decrypt(IdNamingHelper.IdTypeEnum.Ques, long.Parse(qid)));
                if (dq.haschildren && dq.Children != null)
                {
                    foreach (var cq in dq.Children)
                    {
                        q            = new dto_ZyQuestion();
                        OrderIndex  += 1;
                        q.PQId       = dq.id;
                        q.QId        = cq.id;
                        q.PTypeId    = cq.ptypeid;
                        q.OrderIndex = OrderIndex;
                        q.Score      = 0;
                        ql.Add(q);
                    }
                }
                else
                {
                    q            = new dto_ZyQuestion();
                    OrderIndex  += 1;
                    q.PQId       = dq.id;
                    q.QId        = dq.id;
                    q.PTypeId    = dq.ptypeid;
                    q.OrderIndex = OrderIndex;
                    q.Score      = 0;
                    ql.Add(q);
                }
            }
            return(B_Zy.AddQdbZyQues(zyId, JsonConvert.SerializeObject(ql)));
        }
        /// <summary>
        /// 保存作业
        /// </summary>
        /// <param name="zyName"></param>
        /// <param name="startDate"></param>
        /// <param name="endDate"></param>
        /// <param name="questions"></param>
        /// <returns></returns>
        public JsonResult SaveZy(int courseId, string zyName, string startDate, string endDate, string questions)
        {
            #region 参数验证
            dto_AjaxJsonResult <string> result = new dto_AjaxJsonResult <string>();
            if (zyName.Length > 30)
            {
                result.code    = AjaxResultCodeEnum.Error;
                result.message = "作业名称不能超过30个字!";
                return(Json(result));
            }
            DateTime OpenDate, DueDate;
            if (!DateTime.TryParse(startDate, out OpenDate) || !DateTime.TryParse(endDate, out DueDate))
            {
                result.code    = AjaxResultCodeEnum.Error;
                result.message = "开始时间和结束时间都要设置!";
                return(Json(result));
            }

            if (OpenDate > DueDate)
            {
                result.code    = AjaxResultCodeEnum.Error;
                result.message = "开始时间不能大于结束时间!";
                return(Json(result));
            }

            if (string.IsNullOrEmpty(questions))
            {
                result.code    = AjaxResultCodeEnum.Error;
                result.message = "试题不能为空!";
                return(Json(result));
            }

            #endregion
            int subjectId = 0;
            Const.CourseSubjectMapping.TryGetValue(courseId, out subjectId);
            //保存作业信息
            T_Zy zy = new T_Zy()
            {
                UserId      = UserId,
                ZyName      = zyName,
                OpenDate    = OpenDate,
                DueDate     = DueDate,
                Type        = 0,
                CourseId    = courseId,
                SubjectId   = subjectId,
                CreateDate  = DateTime.Now,
                Ip          = ClientUtil.Ip,
                IMEI        = ClientUtil.IMEI,
                MobileBrand = ClientUtil.MobileBrand,
                SystemType  = Request.Browser.Platform.ToString(),
                Browser     = Request.Browser.Browser.ToString(),
                Status      = 0
            };
            int id = B_Zy.Create(zy);

            //保存作业试题信息
            string[] qs = questions.Split(',');
            if (id > 0)
            {
                SaveZyQuestions(courseId, id, qs);
            }

            //修改试题使用次数
            IncreaseQuesUsageTimes(courseId, qs);

            result.code    = AjaxResultCodeEnum.Success;
            result.message = "";
            return(Json(result));
        }