コード例 #1
0
        public void TestMethod_Update()
        {
            LessonUnitBll bll = new LessonUnitBll();

            DtoLessonUnit unit = new DtoLessonUnit();

            unit.Id         = 10000;
            unit.CourseId   = 9999;
            unit.LessonId   = 9999;
            unit.Index      = 100;
            unit.Name       = $"测试内容了";
            unit.Screenshot = "testurl";
            unit.Status     = 0;
            unit.Steps      = new List <Step>();
            unit.Steps.Add(new Step
            {
                id      = 0,
                StepNum = 0,
                Actions = new List <StepAction>()
                {
                    new SetTitle()
                    {
                        Actionid = "asdfgh", Text = "test", Align = "left", Color = "#ffffff", ActionNum = 0, InType = "none", Size = "small", X = 102.3435, Y = 123.2342
                    }
                }
            });
            bll.Update(unit);
        }
コード例 #2
0
        /// <summary>
        /// 添加单元(讲义)数据
        /// </summary>
        /// <param name="unit"></param>
        /// <returns>讲义id</returns>
        public int Add(DtoLessonUnit unit)
        {
            var lessonUnit = new Yw_CourseLessonUnit()
            {
                Ycu_CourseId   = unit.CourseId,
                Ycu_LessonId   = unit.LessonId,
                Ycu_Index      = unit.Index,
                Ycu_Name       = unit.Name,
                Ycu_Screenshot = unit.Screenshot,
                Ycu_Status     = 1,
                Ycu_Creator    = unit.Creator
            };

            LessonServer.InsertUnits(lessonUnit);
            UnitServer.InsertSteps(new Yw_LessonUnitStepActions()
            {
                Yls_CourseId   = unit.CourseId,
                Yls_LessonId   = unit.LessonId,
                Yls_UnitId     = lessonUnit.Ycu_Id,
                Yls_Status     = 1,
                Yls_UnitIndex  = unit.Index,
                Yls_SubjectIds = GetLessonQuestionIdStr(unit.Steps),
                Steps          = unit.Steps
            });
            return(lessonUnit.Ycu_Id);
        }
コード例 #3
0
        public void TestMethod_Insert()
        {
            LessonUnitBll bll = new LessonUnitBll();

            for (int i = 0; i < 10; i++)
            {
                DtoLessonUnit unit = new DtoLessonUnit();
                unit.CourseId   = 9999;
                unit.LessonId   = 9999;
                unit.Index      = i;
                unit.Name       = $"第{i + 1}页";
                unit.Screenshot = "";
                unit.Status     = 0;
                unit.Steps      = new List <Step>();
                unit.Steps.Add(new Step
                {
                    id      = 0,
                    StepNum = 0,
                    Actions = new List <StepAction>()
                    {
                        new SetTitle()
                        {
                            Actionid = "asdfgh", Text = "test", Align = "left", Color = "#000000", ActionNum = 0, InType = "none", Size = "big", X = 102.3435, Y = 123.2342
                        }
                    }
                });
                bll.Add(unit);
            }
        }
コード例 #4
0
        /// <summary>
        /// 根据单元(讲义)id查询单元(讲义)信息
        /// </summary>
        /// <param name="unitId"></param>
        /// <returns></returns>
        public DtoLessonUnit SelectUnit(int unitId, int processId)
        {
            DtoLessonUnit unit      = new DtoLessonUnit();
            var           unitInfo  = LessonServer.SelectUnit(unitId);
            var           unitSteps = (Yw_LessonUnitStepActions)UnitStepFactory.Create(UnitServer.SelectSteps(unitId));

            if (unitInfo != null)
            {
                unit.Id         = unitInfo.Ycu_Id;
                unit.CourseId   = unitInfo.Ycu_CourseId;
                unit.LessonId   = unitInfo.Ycu_LessonId;
                unit.Index      = unitInfo.Ycu_Index;
                unit.Name       = unitInfo.Ycu_Name;
                unit.Screenshot = unitInfo.Ycu_Screenshot;
                unit.Status     = unitInfo.Ycu_Status;
                unit.Creator    = unitInfo.Ycu_Creator;
                unit.CreateTime = unitInfo.Ycu_CreateTime;
                unit.Editor     = unitInfo.Ycu_Editor;
                unit.UpdateTime = unitInfo.Ycu_UpdateTime;
                if (unitSteps != null)
                {
                    unit.Steps = unitSteps.Steps;
                }
                if (processId != 0)                                                            //如果有审批id
                {
                    var approve = ApproveServer.SelectByUnitIdAndProcessID(unitId, processId); //获取最后一个审批意见
                    if (approve != null)                                                       //如果审批意见不为空,添加审批内容
                    {
                        unit.Approve       = approve.Yup_Remark;
                        unit.ApproveStatus = approve.Yup_Status;
                    }
                }
            }
            return(unit);
        }
コード例 #5
0
        public JsonResult GetUnitPage(int unitid, bool isshow, string jy)
        {
            if (Encrypt.MD5Hash(unitid.ToString(), "jzxd") == jy)
            {
                DtoLessonUnit p   = null;
                LessonUnitBll bll = new LessonUnitBll();
                if (!isshow)
                {
                    p = bll.SelectUnit(unitid, 0);
                }
                else
                {
                    p = bll.GetUnitFromRadis(unitid);
                }
                List <int> mediaIDs = new List <int>();
                List <int> textIDs  = new List <int>();
                var        page     = new Page()
                {
                    pageId   = p.Id,
                    pageNum  = p.Index,
                    pageName = p.Name,
                    coinsKey = Encrypt.EncryptQueryString($"{p.Coins}_{p.Id}_{p.LessonId}_{p.CourseId}"),//金币加密串(加密内容为"单元金币数_单元id_课时id_课程id")//Remark1
                    steps    = p.Steps.Select(s => new Step()
                    {
                        stepNum = s.StepNum,
                        actions = s.Actions.Select(a => ActionTranslator.DataToViewData(a, mediaIDs, textIDs)).ToList()
                    }).ToList()
                };
                //如果媒体id或文本id有值的话
                if (mediaIDs.Count > 0 || textIDs.Count > 0)
                {
                    ResourceBll rbll   = new ResourceBll();
                    var         medias = rbll.GetMediaObjectByIdList(mediaIDs.Distinct().ToList(), true); //获取所有的媒体对象字典
                    var         texts  = rbll.GetTextObjectByIdList(textIDs.Distinct().ToList());         //获取文本对象字典

                    page.steps.ForEach(s =>
                    {
                        s.actions.ForEach(a =>
                        {
                            ActionTranslator.SetViewDataMedia(a, medias, texts);
                        });
                    });
                }
                return(Json(new JsonResponse <Page>
                {
                    State = true,
                    ErrorCode = 0,
                    ErrorMsg = "",
                    Data = page
                }));
            }
            else
            {
                throw new Exception("GetUnitPage服务端校验失败");
            }
        }
コード例 #6
0
        /// <summary>
        /// 读取radis中存储的单元对象
        /// </summary>
        /// <param name="unitid"></param>
        /// <returns></returns>
        public DtoLessonUnit GetUnitFromRadis(int unitid)
        {
            DtoLessonUnit unit      = new DtoLessonUnit();
            var           data      = CacheHelper.GetCache <Yw_LessonUnitStep>(CacheKeyEnum.UnitStepEdit_Cache, unitid);
            var           unitSteps = (Yw_LessonUnitStepActions)UnitStepFactory.Create(data);

            unit.Id     = unitSteps.Yls_UnitId;
            unit.Index  = unitSteps.Yls_UnitIndex;
            unit.Coins  = unitSteps.Yls_Coins;
            unit.Steps  = unitSteps.Steps;
            unit.Status = unitSteps.Yls_Status;
            return(unit);
        }
コード例 #7
0
        /// <summary>
        /// 添加radis中存储的单元对象
        /// </summary>
        /// <param name="unit"></param>
        public void SaveUnitToRadis(DtoLessonUnit unit)
        {
            var unitSteps = new Yw_LessonUnitStepActions();

            unitSteps.Yls_UnitId     = unit.Id;
            unitSteps.Yls_UnitIndex  = unit.Index;
            unitSteps.Steps          = unit.Steps;
            unitSteps.Yls_Coins      = unit.Coins;
            unitSteps.Yls_SubjectIds = GetLessonQuestionIdStr(unit.Steps);
            unitSteps.ResetJsonValue();
            Yw_LessonUnitStep u = unitSteps;

            CacheHelper.SetCache(u, CacheKeyEnum.UnitStepEdit_Cache, DateTime.Now, unit.Id);
        }
コード例 #8
0
        /// <summary>
        /// 修改单元讲义数据
        /// </summary>
        /// <param name="unit"></param>
        /// <returns></returns>
        public void Update(DtoLessonUnit unit)
        {
            var lessonUnit = LessonServer.SelectUnit(unit.Id);
            var unitSteps  = (Yw_LessonUnitStepActions)UnitStepFactory.Create(UnitServer.SelectSteps(unit.Id));

            lessonUnit.Ycu_Name       = unit.Name;
            lessonUnit.Ycu_Screenshot = unit.Screenshot;
            lessonUnit.Ycu_Editor     = unit.Editor;
            lessonUnit.Ycu_Index      = unit.Index;
            if (unit.Steps != null)
            {
                unitSteps.Yls_UnitId     = lessonUnit.Ycu_Id;
                unitSteps.Yls_UnitIndex  = unit.Index;
                unitSteps.Steps          = unit.Steps;
                unitSteps.Yls_Coins      = unit.Coins;
                unitSteps.Yls_SubjectIds = GetLessonQuestionIdStr(unit.Steps);
            }
            LessonServer.UpdateUnits(lessonUnit);
            UnitServer.UpdateSteps(unitSteps);
        }