public void TestMethod_MoveUnit() { LessonUnitBll bll = new LessonUnitBll(); var unit = bll.SelectUnit(10000, 1); bll.MoveUnit(10000, 5); }
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); } }
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); }
public JsonResult MovePage(int unitid, int index) { LessonUnitBll bll = new LessonUnitBll(); bll.MoveUnit(unitid, index); return(Json(new JsonResponse <string> { State = true, ErrorCode = 0, ErrorMsg = "", Data = "" })); }
public JsonResult DeletePage(int pageid) { LessonUnitBll bll = new LessonUnitBll(); bll.Delete(pageid); return(Json(new JsonResponse <string> { State = true, ErrorCode = 0, ErrorMsg = "", Data = "" })); }
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服务端校验失败"); } }
public void TestMethod1() { int page = 1; int pagesize = 5; int courseid = 10016; int lessonid = 10047; LessonUnitBll bll = new LessonUnitBll(); var pager = new Code.Common.PagingObject() { PageIndex = page, //开始页(包含) PageSize = pagesize, //条数 TotalCount = 0 }; var pages = bll.SelectUnitByNext(new Domain.Dto.Request.DtoLessonUnitSearch() { CourseID = courseid, LessonID = lessonid, StudentID = 10000, Pagination = pager }); List <int> mediaIDs = new List <int>(); List <int> textIDs = new List <int>(); var list = pages.Select(p => new Page() { pageId = p.Id, pageNum = p.Index, pageName = p.Name, steps = p.Steps.Select(s => new Step() { stepNum = s.StepNum, actions = s.Actions.Select(a => ActionTranslator.DataToViewData(a, mediaIDs, textIDs)).ToList() }).ToList() }).ToList(); //如果媒体id或文本id有值的话 if (mediaIDs.Count > 0 || textIDs.Count > 0) { ResourceBll rbll = new ResourceBll(); var medias = rbll.GetMediaObjectByIdList(mediaIDs.Distinct().ToList()); //获取所有的媒体对象字典 var texts = rbll.GetTextObjectByIdList(textIDs.Distinct().ToList()); //获取文本对象字典 list.ForEach(p => { p.steps.ForEach(s => { s.actions.ForEach(a => { ActionTranslator.SetViewDataMedia(a, medias, texts); }); }); }); } var str = JsonConvert.SerializeObject(list); }
public JsonResult GetLessonPage(DtoLessonUnitSearch search, bool isApprove = false) { LessonUnitBll bll = new LessonUnitBll(); search.StudentID = GetCurrentUser().StudentId;//设置当前学生id if (isApprove) { search.Pagination.PageSize = 1; } //如果是审批的情况,只返回一条数据 var pages = bll.SelectUnitByNext(search); List <int> mediaIDs = new List <int>(); List <int> textIDs = new List <int>(); var list = pages.Select(p => 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() }).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()); //获取文本对象字典 list.ForEach(p => { p.steps.ForEach(s => { s.actions.ForEach(a => { ActionTranslator.SetViewDataMedia(a, medias, texts); }); }); }); } return(Json(new JsonResponse <List <Page> > { State = true, ErrorCode = 0, ErrorMsg = "", Data = list })); }
[ValidateInput(false)]//不做html验证 public JsonResult ShowPage(string pagestr) { LessonUnitBll bll = new LessonUnitBll(); Page pageInfo = new Page(); JObject obj = JsonConvert.DeserializeObject(pagestr) as JObject; pageInfo.id = Convert.ToInt32(obj["id"]); pageInfo.pageNum = Convert.ToInt32(obj["pageNum"]); pageInfo.name = obj["name"].ToString(); pageInfo.steps = new List <Models.CurriculumSetViewModel.Step>(); JArray steps = JsonConvert.DeserializeObject(obj["steps"].ToString()) as JArray; foreach (var s in steps) { Models.CurriculumSetViewModel.Step step = new Models.CurriculumSetViewModel.Step(); step.stepNum = Convert.ToInt32(s["stepNum"]); step.actions = new List <ActionBase>(); JArray actions = JsonConvert.DeserializeObject(s["actions"].ToString()) as JArray; foreach (var a in actions) { step.actions.Add(ActionTranslator.JsonToViewData(a.ToString())); } pageInfo.steps.Add(step); } int coins = 0; var stepsData = pageInfo.steps.Select(s => new Domain.JsonEntity.UnitStep.Step() { id = s.id, StepNum = s.stepNum, Actions = s.actions.Select(a => ActionTranslator.ViewDataToData(a, ref coins)).ToList() }).ToList(); //保存数据到Radis中 bll.SaveUnitToRadis(new DtoLessonUnit { Id = pageInfo.id, Index = pageInfo.pageNum, Coins = coins, Steps = stepsData, Status = 0, }); string key = Encrypt.EncryptQueryString($"{new Random().Next(0, 10000)}_{pageInfo.id}_{0}_{0}"); return(Json(new JsonResponse <string> { State = true, ErrorCode = 0, ErrorMsg = "", Data = $"{ConfigurationManager.AppSettings["StudentClientDomain"]}LearningCenter/LessonApprove?ApproveKey={key}" })); }
public JsonResult SetUnitProcess(int courseId, int lessonId, int processId, int unitId, int status, string remark) { LessonUnitBll bll = new LessonUnitBll(); int i = bll.SetUnitApprove(new Yw_CourseLessonUnitProcess() { Yup_CourseId = courseId, Yup_LessonId = lessonId, Yup_LessonProcessId = processId, Yup_UnitId = unitId, Yup_Status = status, Yup_Remark = remark, Yup_Operator = base.CurrentUserID }); return(Json(new JsonResponse <int> { State = true, ErrorCode = 0, ErrorMsg = "", Data = i })); }
public JsonResult AddPage(Page page) { LessonUnitBll bll = new LessonUnitBll(); //修改数据 int id = bll.Add(new DtoLessonUnit { CourseId = page.courseId, LessonId = page.lessonId, Name = "", Screenshot = "", Steps = null, Index = page.pageNum, }); return(Json(new JsonResponse <int> { State = true, ErrorCode = 0, ErrorMsg = "", Data = id })); }
public JsonResult GetChapter(int chapterid) { LessonBll lbll = new LessonBll(); var lesson = lbll.Select(chapterid); if (lesson != null) { LessonUnitBll bll = new LessonUnitBll(); ChapterSet set = new ChapterSet(); set.courseId = lesson.CourseId; set.id = lesson.ID; set.name = lesson.Name; set.setTime = lesson.UpdateTime.ToString("yyyy-MM-dd HH:mm:ss"); set.pages = new List <Page>(); set.status = lesson.Status; set.processid = lesson.ProcessId; var units = bll.SelectUnitsByLesson(set.id, set.processid); if (units != null) { set.pages = units.Select(u => new Page { courseId = u.CourseId, lessonId = u.LessonId, id = u.Id, name = u.Name, pageNum = u.Index, thumbnail = string.IsNullOrEmpty(u.Screenshot) ? "" : (ConfigurationManager.AppSettings["OssHostUrl"] + u.Screenshot), approveType = u.ApproveStatus }).ToList(); } return(Json(new JsonResponse <ChapterSet> { State = true, ErrorCode = 0, ErrorMsg = "", Data = set })); } else { return(Json(new JsonResponse <ChapterSet> { State = false, ErrorCode = 0, ErrorMsg = "没有此数据", Data = null })); } }
public JsonResult GetPage(int pageid, int processid) { LessonUnitBll bll = new LessonUnitBll(); var unit = bll.SelectUnit(pageid, processid); var page = new Page(); page.courseId = unit.CourseId; page.lessonId = unit.LessonId; page.id = unit.Id; page.name = unit.Name; page.pageNum = unit.Index; ////定义媒体资源id数组和文本资源id数组 List <int> mediaids = new List <int>(), textids = new List <int>(); page.steps = unit.Steps.Select(s => new Models.CurriculumSetViewModel.Step { id = s.id, 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()); //获取所有的媒体对象字典 var texts = rbll.GetTextObjectByIdList(textids.Distinct().ToList()); //获取文本对象字典 page.steps.ForEach((s) => { s.actions.ForEach((a) => { ActionTranslator.SetViewDataMedia(a, medias, texts); //设置动作的媒体属性 }); //遍历每一个动作 }); //遍历每一个步骤 } page.approveType = unit.ApproveStatus; page.approve = unit.Approve; return(Json(new JsonResponse <Page> { State = true, ErrorCode = 0, ErrorMsg = "", Data = page })); }
public void TestMethod_SelectUnits() { LessonUnitBll bll = new LessonUnitBll(); var s = bll.SelectUnitsByLesson(9999, 1); }
public void TestMethod_SelectSteps() { LessonUnitBll bll = new LessonUnitBll(); var s = bll.SelectUnit(10000, 1); }
[ValidateInput(false)]//不做html验证 public JsonResult SetPage(string pagestr) { LessonUnitBll bll = new LessonUnitBll(); Page pageInfo = new Page(); #region 解析数据 JObject obj = JsonConvert.DeserializeObject(pagestr) as JObject; string base64Str = obj["thumbnail"].ToString().Split(',')[1]; pageInfo.id = Convert.ToInt32(obj["id"]); pageInfo.pageNum = Convert.ToInt32(obj["pageNum"]); pageInfo.name = obj["name"].ToString(); string thumbnailPath = "UnitThumbnail"; //文件路径 string thumbnailFileName = $"unit{pageInfo.id}.png"; //文件名称 new Thread(() => { byte[] arr = Convert.FromBase64String(base64Str); MemoryStream ms = new MemoryStream(arr); FileManageClient client = new FileManageClient(ConfigurationManager.AppSettings["uploadUrl"]); var response = client.UploadCoverage(thumbnailFileName, ms, ConfigurationManager.AppSettings["OssSubject"], thumbnailPath, true); }).Start(); //开启线程上传缩略图片 pageInfo.thumbnail = $"/{thumbnailPath}/{thumbnailFileName}"; //拼接存储路径 pageInfo.steps = new List <Models.CurriculumSetViewModel.Step>(); JArray steps = JsonConvert.DeserializeObject(obj["steps"].ToString()) as JArray; foreach (var s in steps) { Models.CurriculumSetViewModel.Step step = new Models.CurriculumSetViewModel.Step(); step.stepNum = Convert.ToInt32(s["stepNum"]); step.actions = new List <ActionBase>(); JArray actions = JsonConvert.DeserializeObject(s["actions"].ToString()) as JArray; foreach (var a in actions) { step.actions.Add(ActionTranslator.JsonToViewData(a.ToString())); } pageInfo.steps.Add(step); } #endregion 解析数据 int coins = 0; var stepsData = pageInfo.steps.Select(s => new Domain.JsonEntity.UnitStep.Step() { id = s.id, StepNum = s.stepNum, Actions = s.actions.Select(a => ActionTranslator.ViewDataToData(a, ref coins)).ToList() }).ToList(); //修改数据 bll.Update(new DtoLessonUnit { Id = pageInfo.id, Name = pageInfo.name, Screenshot = pageInfo.thumbnail, Status = 0, Index = pageInfo.pageNum, Steps = stepsData, Coins = coins }); return(Json(new JsonResponse <string> { State = true, ErrorCode = 0, ErrorMsg = "", Data = "" })); }