/// <summary> /// /// </summary> /// <param name="course"></param> /// <returns></returns> public int UpdateCourse(ResCourse course) { var deleteSql = "CourseId = " + course.CourseId; _dataAccess.DeleteEntities <ResExampaperToCourse>(deleteSql); _dataAccess.DeleteEntities <ResCourseBeforeLearn>(deleteSql); _dataAccess.DeleteEntities <Res_CourseOpenCrowd>(deleteSql); course.LastUpdateTime = DateTime.Now; _dataAccess.UpdateEntity(course); foreach (var exampaper in course.Exampapers) { exampaper.CourseId = course.CourseId; } foreach (var file in course.BeforeLearnFiles) { file.CourseId = course.CourseId; } foreach (var crowd in course.OpenCrowds) { crowd.CourseId = course.CourseId; } _dataAccess.AddEntities(course.BeforeLearnFiles); _dataAccess.AddEntities(course.OpenCrowds); return(_dataAccess.AddEntities(course.Exampapers)); }
/// <summary> /// Loads the course before learns. /// </summary> /// <param name="course">Course.</param> public void LoadCourseBeforeLearns(ResCourse course) { var sqlwhere = "CourseId=" + course.CourseId; var files = _dataAccess.GetList <ResCourseBeforeLearn>(sqlwhere); course.BeforeLearnFiles.AddRange(files); }
public CourseList(ResCourse course) { CourseId = course.CourseId; CategoryId = course.CategoryId; CourseCode = course.CourseCode; CourseName = course.CourseName; Price = course.Price; CourseType = course.CourseType; FrontImage = course.FrontImageUrl; LevelDesc = course.LevelDesc; CreateTime = course.CreateTime; }
public ActionResult CourseResource(int courseId) { ResCourse model = _courseManager.GetCourseById(courseId); if (model == null || model.TenantId != CurrentTenant.TenantId) { model = new ResCourse(); } _courseManager.LoadCourseExaminations(model); _courseManager.LoadCourseWares(model); //_courseManager.LoadCourseBeforeLearns(model); //ViewBag.examinations = examinations; ViewBag.ShowExternal = CurrentTenant.ExternalWareTenantId > 0 ? 1 : 0; return(View(model)); }
//添加课程 public ActionResult AddCourse(string mode = "add", int categoryId = 0) { IEnumerable <ResCourseCategory> categorys = _courseManager.GetCategorys(CurrentTenant.TenantId); ViewBag.categorys = categorys; var course = new ResCourse(); ViewBag.mode = string.IsNullOrEmpty(mode) ? "add" : mode; if (categoryId > 0) { var category = categorys.FirstOrDefault(p => p.CategoryId == categoryId); if (category != null) { course.CategoryId = categoryId; course.CategoryName = category.CategoryName; } } return(View("EditCourse", course)); }
/// <summary> /// 添加课程 /// </summary> /// <param name="course">课程实体</param> /// <returns></returns> public int AddCourse(ResCourse course) { course.LastUpdateTime = DateTime.Now; int id = _dataAccess.AddEntity(course); foreach (var exampaper in course.Exampapers) { exampaper.CourseId = id; } foreach (var file in course.BeforeLearnFiles) { file.CourseId = id; } foreach (var crowd in course.OpenCrowds) { crowd.CourseId = id; } _dataAccess.AddEntities(course.BeforeLearnFiles); _dataAccess.AddEntities(course.Exampapers); _dataAccess.AddEntities(course.OpenCrowds); BusinessCache.SystemCache.Instance.ClearCourses(); IndexCourse(id); return(id); }
/// <summary> /// Loads the course wares. /// </summary> /// <param name="course">Course.</param> public void LoadCourseWares(ResCourse course) { course.Wares.Clear(); course.Wares.AddRange(GetCourseWares(course.CourseId)); }
/// <summary> /// Loads the course examinations. /// </summary> /// <param name="course">Course.</param> public void LoadCourseExaminations(ResCourse course) { course.Examinations.Clear(); course.Examinations.AddRange(LoadCourseExaminations(course.CourseId)); }
/// <summary> /// 更新一个课程 /// </summary> /// <param name="model"></param> /// <returns></returns> public int UpdateCourse(ResCourse model) { return(_dataAccess.UpdateEntity(model)); }
/// <summary> /// 添加一个课程 /// </summary> /// <param name="model"></param> /// <returns></returns> public int AddCourse(ResCourse model) { return(_dataAccess.AddEntity(model)); }
public ActionResult SaveCourse(int courseId, int courseCategoryId, int courseType, string courseCode, string courseName, int learnTime, int learnScore, string tags, string[] beforeLearnUploadFile, string exampaperId, string crowd, string outline, string saveflag, string openCrowds, HttpPostedFileBase frontImg, int ID = 0, int IsZhengShi = 0, int comefrom = 0) { ResCourse course; if (courseId == 0) { //新增 course = new ResCourse(); course.CreateTime = DateTime.Now; course.CreateUser = CurrentUser.UserId; course.TenantId = CurrentTenant.TenantId; course.FrontImage = "default.png"; } else { course = _courseManager.GetCourseById(courseId); if (course == null || course.TenantId != CurrentTenant.TenantId) { return(Content(JsonConvert.SerializeObject(new { result = 0, msg = RetechWing.LanguageResources.CourseLanguage.DontFindCourse }))); } } course.OpenCrowds.Clear(); if (!string.IsNullOrEmpty(openCrowds)) { var items = openCrowds.Split(';'); string postIdFormat = "1:"; string classIdFormat = "2:"; foreach (var item in items) { var type = int.Parse(item.Split(',')[0]); var id = int.Parse(item.Split(',')[1]); course.OpenCrowds.Add(new Res_CourseOpenCrowd() { OpenType = type, OpenCrowdId = id }); if (type == 2) { postIdFormat += id + ","; } if (type == 3) { classIdFormat += id + ","; } } course.OpenCrowd = postIdFormat.TrimEnd(',') + ";" + classIdFormat.TrimEnd(','); } course.CourseType = courseType; course.LearnScore = learnScore; course.CategoryId = courseCategoryId; course.CourseCode = courseCode; course.CourseName = courseName; course.Lookup = course.CourseName.GetPy() + " " + course.CourseName.GetPy(2); course.LastUpdateTime = DateTime.Now; course.LearnTime = learnTime; course.Tags = tags ?? ""; course.Outline = outline; course.Crowd = crowd; //course.FrontImage = ""; var exampaperIds = new List <int>(); var exampapers = new List <ResCourseResource>(); if (courseType == 0) { exampaperIds.AddRange(exampaperId.GetArray()); //保存封面图片 if (Request.Files["frontImg"] != null && Request.Files["frontImg"].ContentLength > 0) { course.FrontImage = SaveFile(Request.Files["frontImg"], "~/UploadFiles/CourseFrontImages/"); } //string[] existsfiles = beforeLearnUploadFile.Split(','); string[] existsfiles = beforeLearnUploadFile; course.BeforeLearnFiles.RemoveAll(p => !existsfiles.Contains(p.FileName)); int index = 0; foreach (string key in Request.Files.AllKeys) { if (key == "beforeLearnFile") { //课前预习 HttpPostedFileBase fileBase = Request.Files[index]; if (fileBase != null && fileBase.ContentLength > 0) { course.BeforeLearnFiles.Add(new ResCourseBeforeLearn { FileName = fileBase.FileName, FilePath = SaveFile(Request.Files[index]) }); } } index++; } foreach (int id in exampaperIds) { exampapers.Add(new ResCourseResource { ResourceId = id, ResourceType = 0 }); } } course.comeFrom = ID; course.IsZhengShi = comefrom > 0 ? 1 : 0; //course.IsZhengShi = IsZhengShi; if (courseId == 0) { _courseManager.AddCourse(course); } else { _courseManager.UpdateCourse(course); string allowExaminationCoursePercent = SystemConfigManager.GetConfig(Configs.AllowExaminationCoursePercent.ToString(), CurrentTenant.TenantId); _learningRecord.UpdateLearningRecordProgressByCourse(course.CourseId, Convert.ToInt32(allowExaminationCoursePercent == "" ? "0" : allowExaminationCoursePercent)); } exampapers.ForEach(p => p.CourseId = course.CourseId); _courseManager.AddCourseResource(exampapers, course.CourseId, 0); if (comefrom > 0)//临时 { RetechWing.Models.PlanTrain.Tr_TrainClassToCourse temporaryCourse = new Models.PlanTrain.Tr_TrainClassToCourse(); temporaryCourse = _courseManager.GetTemporaryCourseByID(ID); _courseManager.UpdateTemporaryCourse(courseName, learnTime, learnScore, ID); return (Content( JsonConvert.SerializeObject( new { result = 1, msg = LanguageResources.Common.SaveSuccess, url = Url.RetechAction("CourseManage", "Plan", new { area = "Train" }) }))); } if (saveflag == "save") { return(Content(JsonConvert.SerializeObject(new { result = 1, msg = LanguageResources.Common.SaveSuccess }))); } return (Content( JsonConvert.SerializeObject( new { result = 1, msg = LanguageResources.Common.SaveSuccess, url = Url.RetechAction("CourseResource", new { area = "Course", courseId = course.CourseId }) }))); }
/// <summary> /// /// </summary> /// <param name="courseId"></param> /// <param name="mode"></param> /// <returns></returns> public ActionResult EditCourse(int courseId, string mode = "edit", int ID = 0, string CourseName = "", int LearnLength = 0, int LearnScore = 0, int comefrom = 0) { ViewBag.comefrom = comefrom; ResCourse course = new ResCourse(); if (ID != 0) { ResCourse temporaryCourse = _courseManager.GetTemporaryCourseByComeFrom(ID); if (temporaryCourse != null) { courseId = temporaryCourse.CourseId; course = _courseManager.GetCourseById(courseId); } else { //courseId = 0; //course = _courseManager.GetCourseById(courseId); course.CourseName = CourseName; course.LearnTime = LearnLength; course.LearnScore = LearnScore; course.comeFrom = ID; course.IsZhengShi = 1; } } else { course = _courseManager.GetCourseById(courseId); if (course == null) { return(RedirectToAction("Msg", "Message", new { message = RetechWing.LanguageResources.CourseLanguage.DontFindCourse })); } } IEnumerable <ResCourseCategory> categorys = _courseManager.GetCategorys(CurrentTenant.TenantId); ViewBag.categorys = categorys; course.OpenCrowds.Clear(); var posts = BusinessCache.SingleTableCache.Instance.GetCache <SysPost>(); var cls = BusinessCache.SingleTableCache.Instance.GetCache <RetechWing.Models.Learning.LearningClass>(); foreach (var postId in course.OpenPosts) { course.OpenCrowds.Add(new Res_CourseOpenCrowd() { CourseId = courseId, OpenCrowdName = posts.Single(p => p.PostId == postId).PostName, OpenCrowdId = postId, OpenType = 2 }); } foreach (var clsId in course.OpenClass) { course.OpenCrowds.Add(new Res_CourseOpenCrowd() { CourseId = courseId, OpenCrowdName = cls.Single(p => p.ClassId == clsId).ClassName, OpenCrowdId = clsId, OpenType = 3 }); } if (string.IsNullOrEmpty(course.CategoryName)) { course.CategoryName = CurrentTenant.TenantName; } ViewBag.mode = string.IsNullOrEmpty(mode) ? "edit" : mode; return(View("EditCourse", course)); }