Exemple #1
0
        /// <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));
        }
Exemple #2
0
        /// <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);
        }
Exemple #3
0
 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;
 }
Exemple #4
0
        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));
        }
Exemple #5
0
        //添加课程
        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));
        }
Exemple #6
0
        /// <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);
        }
Exemple #7
0
 /// <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));
 }
Exemple #8
0
 /// <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));
 }
Exemple #9
0
 /// <summary>
 /// 更新一个课程
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 public int UpdateCourse(ResCourse model)
 {
     return(_dataAccess.UpdateEntity(model));
 }
Exemple #10
0
 /// <summary>
 /// 添加一个课程
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 public int AddCourse(ResCourse model)
 {
     return(_dataAccess.AddEntity(model));
 }
Exemple #11
0
        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 })
            })));
        }
Exemple #12
0
        /// <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));
        }