/// <summary> /// 获取此培训中的人员 /// </summary> /// <param name="classId"></param> /// <param name="pageIndex"></param> /// <param name="pageSize"></param> /// <returns></returns> public JsonResult GetTrainUserList(int classId, int pageIndex, int pageSize) { var userlist = _trainLearningManager.GetTrainUserList(classId); var dataList = userlist.Skip((pageIndex - 1) * pageSize).Take(pageSize).Select(p => new { PhotoUrl = Url.Addr(p.photoUrl), p.Realname, p.UserId, //自己不能关注;0:已关注;1:未关注 AttendStatus = p.UserId == CurrentUser.UserId ? -1 : (MyAttendUsers.Contains(p.UserId) ? 0 : 1) }); return(Json(new { dataList, recordCount = userlist.Count() }, JsonRequestBehavior.AllowGet)); // return Json(new { recordCount = 0 }, JsonRequestBehavior.AllowGet); }
/// <summary> /// 保存头像 /// </summary> /// <param name="picname"></param> /// <param name="txt_width"></param> /// <param name="txt_height"></param> /// <param name="txt_top"></param> /// <param name="txt_left"></param> /// <param name="txt_DropWidth"></param> /// <param name="txt_DropHeight"></param> /// <returns></returns> public JsonResult SavePhoto(string picname, float z, int t, int l, int w, int h) { float zoomLevel = Convert.ToSingle(z); int top = Convert.ToInt32(t); int left = Convert.ToInt32(l); int width = Convert.ToInt32(w); int height = Convert.ToInt32(h); try { if (picname.StartsWith("/")) { picname = Server.MapPath("~" + picname); } var imgData = ImageHelper.Crop(picname, zoomLevel, top, left, width, height); string photoUrl = _uploadClientProxy.Upload(imgData, "", "jpg", CurrentTenant.ExternalWareTenantId); bool re = _userManager.UpdateUserPhoto(photoUrl, CurrentUser.UserId); if (re) { var user = CurrentUser; user.Photo = photoUrl; CurrentUser = user; return(Json(new { result = 1, content = Url.Addr(photoUrl) }, "text/html", JsonRequestBehavior.AllowGet)); } else { return(Json(new { result = 0, content = RetechWing.LanguageResources.Common.SaveSuccess }, "text/html", JsonRequestBehavior.AllowGet)); } } catch (Exception) { return(Json(new { result = 0, content = RetechWing.LanguageResources.Common.SaveFailed }, "text/html", JsonRequestBehavior.AllowGet)); } }
/// <summary> /// 上传头像 /// </summary> /// <returns></returns> public JsonResult UploadUserPhoto() { HttpPostedFileBase imgfiles = Request.Files[0]; if (null != imgfiles) { try { if (imgfiles.ContentLength > 2621440) { return(Json(new { result = 0, content = string.Format(RetechWing.LanguageResources.User.picturelessthan, "2.5MB") + RetechWing.LanguageResources.Common.ExclamationMark }, "text/html", JsonRequestBehavior.AllowGet)); } else { string resultName = SaveFile(imgfiles); return(Json(new { result = 1, content = Url.Addr(resultName) }, "text/html", JsonRequestBehavior.AllowGet)); } } catch (Exception ex) { return(Json(new { result = 0, //content = RetechWing.LanguageResources.Common.Failedtoupload + "<br />" + ex.ToString() content = RetechWing.LanguageResources.Common.Failedtoupload, error = ex.ToString() }, "text/html", JsonRequestBehavior.AllowGet)); } } else { return(Json(new { result = 0, content = RetechWing.LanguageResources.Common.Failedtoupload }, "text/html", JsonRequestBehavior.AllowGet)); } }
/// <summary> /// 获取单个的通知公告 /// </summary> /// <param name="noteID"></param> /// <returns></returns> public JsonResult GetSingeNotes(int noteID) { try { string sqlwhere = string.Format(@" NoteId={0}", noteID); List <Sys_Notes> list = _notesManager.GetListNotes(sqlwhere); Sys_Notes model = list.Count > 0 ? list[0] : new Sys_Notes(); List <Sys_NotesResource> NoteResource = _notesManager.GetNotesResourceNote(" NoteId=" + noteID); string html = ""; foreach (Sys_NotesResource item in NoteResource) { html += "<p>"; html += "<span title='" + item.FileName + "'>" + item.FileName + "</span> "; html += "<a href='" + Url.Addr(_noteResourceUrl + item.RealName) + "' target='_Blank' class='icon idown' title='" + NoteLanguage.Download + "'></a>"; html += "</p>"; } return(Json(new { result = 1, model.SortID, content = model.NoteContent, title = model.NoteTitle, date = model.publishtimeStr, model.AdFlag, model.DepTrainFlag, html }, JsonRequestBehavior.AllowGet)); } catch { return(Json(new { result = 0, content = "", id = "" }, JsonRequestBehavior.AllowGet)); } }
public JsonResult GetReplies(int activityId) { var replies = activityService.GetActivityReplies(activityId); var userparall = SystemUsers.AsParallel(); var dataList = new object[replies.Count]; for (int i = 0; i < replies.Count; i++) { var rep = replies[i]; var userInfo = userparall.First(u => rep.UserId == u.UserId); dataList[i] = new { rep.ReplyId, rep.ReplyContent, ReplyTime = rep.ReplyTime.ToString("yyyy-MM-dd HH:mm"), photoUrl = Url.Addr(userInfo.photoUrl), rep.UserId, userInfo.Realname }; } return(Json(new { dataList }, JsonRequestBehavior.AllowGet)); }
public JsonResult GetTopicReplyList(int id, int pageIndex, int pageSize) { int total; var replys = _bbsService.GetTopicReplies(out total, id, 0, 1, pageIndex, pageSize); var dataList = new List <object>(); foreach (var reply in replys) { var ReplyUser = SystemUsers.First(u => u.UserId == reply.UserId); dataList.Add(new { reply.ReplyId, ReplyUser, ReplyTime = reply.ReplyTime.Diff(), reply.ReplyContent, reply.OrderNum, reply.UserId, ReplyUserPhoto = Url.Addr(ReplyUser.photoUrl), reply.IsHide }); } return(Json(new { dataList, recordCount = total }, JsonRequestBehavior.AllowGet)); }
public JsonResult GetEBookList(string name, int status, int categoryId, int pageSize, int pageIndex) { int totalCount; var list = _eBookManager.GetList(out totalCount, CurrentUser.TenantId, categoryId, name, status, pageIndex, pageSize); var dateList = list.Select(p => new { p.BookId, p.BookName, Status = p.StatusStr, Format = p.FormatStr, p.Another, p.Publiser, p.Memo, FrontImage = string.IsNullOrWhiteSpace(p.FrontImage) ? Url.Addr("~/UploadFiles/CourseFrontImages/default.png") : Url.Addr(p.FrontImage), Platform = p.Platform == "0" ? "手机": (p.Platform == "1" ? "平板" : "通用") }); return(Json(new { result = 1, dataList = dateList, recordCount = totalCount }, JsonRequestBehavior.AllowGet)); }
public JsonResult GetExamList(int type, string name, int pageIndex, int pageSize) { int total; //所有在学、已学的课程 var userreadcourselist = _learningRecord.GetMyLearningRecord(out total, CurrentTenant.TenantId, CurrentUser.UserId, new int[0], "", null, null, 2); //所有在学、已学的课程中的考试 var courseexamlist = _courseManager.GetUserCourseExamList(CurrentUser.UserId, 1, int.MaxValue); //所有在学、已学的课程中的考试信息 var examlist = _exampaperManager.GetAllExampaperRedundancy(courseexamlist.Select(p => p.ExampaperId)).FindAll(p => p.ExampaperTitle.Contains(name)); //我参与所有在学、已学的课程中的考试 var myTotalExamList = _examTestManager.GetMyExamList(CurrentUser.UserId, 1); var recordids = userreadcourselist.Select(p => p.RecordId).ToArray(); var examtmpids = examlist.Select(p => p._id).ToArray(); if (type == 0) { courseexamlist = courseexamlist.Where(p => (!myTotalExamList.Any(mt => recordids.Contains(mt.RelationID) && mt.ExamPaperID == p.ExampaperId)) && examtmpids.Contains(p.ExampaperId)).ToList(); courseexamlist = courseexamlist.Skip((pageIndex - 1) * pageSize).Take(pageSize).ToList(); } else if (type == 1) { courseexamlist = courseexamlist.Where(p => myTotalExamList.Any(mt => recordids.Contains(mt.RelationID) && mt.ExamPaperID == p.ExampaperId) && examtmpids.Contains(p.ExampaperId)).Skip((pageIndex - 1) * pageSize).Take(pageSize).ToList(); } var dataList = new List <object>(); foreach (var item in courseexamlist) { var tmp1 = userreadcourselist.FirstOrDefault(p => p.CourseId == item.CourseId); var tmp2 = examlist.FirstOrDefault(p => p._id == item.ExampaperId); if (tmp1 == null || tmp2 == null) { continue; } var tmp3 = myTotalExamList.FirstOrDefault(p => p.RelationID == tmp1.RecordId && p.ExamPaperID == item.ExampaperId); dataList.Add(new { tmp1.RecordId, item.CourseName, item.CourseId, FrontImageUrl = item.FrontImage == "default.png" || string.IsNullOrWhiteSpace(item.FrontImage) ? Url.Addr("~/UploadFiles/CourseFrontImages/default.png") : Url.Addr(item.FrontImage), item.ExampaperId, tmp2.ExampaperTitle, EuId = tmp3 == null ? 0 : tmp3._id, RemainingTime = tmp3 == null ? 0 : tmp3.RemainingTime, item.TimeLength, item.AllowTimes }); } return(Json(new { dataList }, JsonRequestBehavior.AllowGet)); }
public JsonResult GetMyPostAbilityCourseList(int postId, int abilityId) { var list = _abilityManager.GetMyPostAbilityCourseList(abilityId, postId, CurrentUser.UserId); var dataList = list.Select(p => new { p.CourseId, p.CourseCode, p.CourseName, FrontImageUrl = p.FrontImage == "default.png" || string.IsNullOrWhiteSpace(p.FrontImage) ? Url.Addr("~/UploadFiles/CourseFrontImages/default.png") : Url.Addr(p.FrontImage), CourseCommentScoreStr = p.CourseCommentScore.ToString("0.0"), p.CourseCommentUserCount, p.CourseCommentScore, p.LearnUserCount, p.RecordId, LearnProcess = p.LearnProcess == 0 ? RetechWing.LanguageResources.EnumsLang.未学习 : (p.LearnProcess == 1 ? RetechWing.LanguageResources.EnumsLang.学习中 : RetechWing.LanguageResources.EnumsLang.学习完成), p.IsElective }); return(Json(new { dataList = dataList }, JsonRequestBehavior.AllowGet)); }
public JsonResult GetPageActivity(int pageIndex) { var userActivities = activityService.GetUsersActivities(CurrentUser.UserId, pageIndex); var pariseList = activityService.GetActivityPraises(userActivities.Select(p => p.ActivityId), CurrentUser.UserId); var paralls = SystemUsers.AsParallel(); var dataList = new object[userActivities.Count]; for (int i = 0; i < userActivities.Count; i++) { var p = userActivities[i]; p.UserInfo = paralls.FirstOrDefault(u => u.UserId == p.UserId); p.CurrentUserParise = pariseList.Any(u => u.ActivityId == p.ActivityId); var title = ""; var url = ""; var imgUrl = ""; var shareType = ""; switch (p.ActionType) { case ActionType.CourseShared: shareType = RetechWing.LanguageResources.CourseLanguage.Course1; title = p.CourseShared.CourseName; url = Url.RetechAction("Course", "Learning", new { area = "Course", courseId = p.CourseShared.CourseId }); imgUrl = p.CourseShared.FrontImage == "default.png" || string.IsNullOrWhiteSpace(p.CourseShared.FrontImage) ? Url.Addr("~/UploadFiles/CourseFrontImages/default.png") : Url.Addr(p.CourseShared.FrontImage); break; case ActionType.KnowledgeShared: shareType = RetechWing.LanguageResources.TalnetUI.UserAbility.Knowledge; title = p.KnowledgeShared.ResourceName; url = Url.RetechAction("ReadResource", "KnowledgeCenter", new { area = "Knowledge" }) + "?id=" + p.KnowledgeShared.ResourceId; //imgUrl =Url.Addr(string.Format("~/themes/default/img/docs/{0}.png", p.KnowledgeShared.ExtendName)); break; case ActionType.StudyPlanShared: shareType = RetechWing.LanguageResources.Learning.xuexijihua; title = p.StudyPlanShared.PlanName; url = Url.RetechAction("ShowPlanInfo", "Learning", new { area = "Course" }) + "?backflag=2&id=" + p.StudyPlanShared.PlanId; imgUrl = p.StudyPlanShared.FrontImage == "default.png" || string.IsNullOrWhiteSpace(p.StudyPlanShared.FrontImage) ? Url.Addr("~/UploadFiles/CourseFrontImages/default.png") : Url.Addr(p.StudyPlanShared.FrontImage); break; case ActionType.UrlShared: shareType = "网页"; title = p.UrlShared.ResourceName; url = p.UrlShared.ResourceUrl; break; } dataList[i] = new { p.UserInfo.Realname, content = p.ResourceName, time = p.ActionTime.Diff(), parise = p.CurrentUserParise ? "已赞" : "赞", praised = p.CurrentUserParise ? 1 : 0, praiseOperator = p.CurrentUserParise ? "" : "onclick='parise(" + p.ActivityId + ",this)", pariseCount = p.PraiseCount, forwCount = p.ForwardCount, replyCount = p.ReplyCount, isMy = p.UserId == CurrentUser.UserId ? 1 : 0, activityId = p.ActivityId, photoUrl = Url.Addr(p.UserInfo.photoUrl), p.UserId, IsShare = p.ActionType == ActionType.Talk ? 0 : 1, ShareType = p.ActionType, ShareTitle = title, ShareUrl = url, ShareImgUrl = imgUrl, //自己不能关注;0:已关注;1:未关注 AttendStatus = p.UserId == CurrentUser.UserId ? -1 : (MyAttendUsers.Contains(p.UserId) ? 0 : 1), shareType }; } return(Json(new { dataList }, JsonRequestBehavior.AllowGet)); }
/// <summary> /// 获取课程列表 /// </summary> /// <param name="categoryId"></param> /// <param name="courseName"></param> /// <param name="learnStatus"></param> /// <param name="pageSize"></param> /// <param name="pageIndex"></param> /// <param name="sort"></param> /// <returns></returns> public JsonResult GetCourseList(int categoryId = 0, string courseName = "", int learnStatus = 99, int pageSize = 20, int pageIndex = 1, string sort = "CreateTime desc") { int total; var CategoryIds = new List <int>(); DateTime?start = null; DateTime?end = DateTime.Now; var list = _learningRecord.GetMyAllCourseList(out total, CurrentTenant.TenantId, CurrentUser.UserId, CategoryIds.ToArray(), courseName, start, end, pageIndex, pageSize, sort); var dataList = list.Select(p => new { p.CourseId, p.CourseName, FrontImageUrl = p.FrontImage == "default.png" || string.IsNullOrWhiteSpace(p.FrontImage) ? Url.Addr("~/UploadFiles/CourseFrontImages/default.png") : Url.Addr(p.FrontImage), CourseCommentScoreStr = p.CourseCommentScore.ToString("0.0"), p.CourseCommentScore, p.LearnUserCount, p.WareCount }); return(Json(new { dataList, recordCount = total }, JsonRequestBehavior.AllowGet)); }
/// <summary> /// 获取一个考试的详情【考前须知、试卷信息】 /// </summary> /// <param name="euId"></param> /// <returns></returns> public JsonResult GetExamDetailByEuId(int euId, int dw = 0) { try { int leavePageTimes = 0; tbExamSendStudent eu = _examTestManager.GetExamUser(euId); if (eu.RemainingTime == 0 && dw == 0) { return(Json(new { result = 0, msg = "您的考试时间已用完,不可进入!" }, JsonRequestBehavior.AllowGet)); } int examTestTimes = 0; tbExamination exam = _examinationManager.GetExamination(eu.RelationID); examTestTimes = exam.TestTimes; if (exam.LeavePageTimes < eu.LeavePageTimes && dw == 0) { return(Json(new { result = 0, msg = "您离开页面的总次数已用完,不可进入!" }, JsonRequestBehavior.AllowGet)); } if (eu.TestTimes >= exam.TestTimes && dw == 0) { return(Json(new { result = 0, msg = "进入次数已达到上限,不可进入!" }, JsonRequestBehavior.AllowGet)); } if (exam.ExamEndTime.ToLocalTime() <= DateTime.Now && dw == 0) { return(Json(new { result = 0, msg = "本场考试已经结束,不可进入!" }, JsonRequestBehavior.AllowGet)); } var exambase = _examTestManager.GetExamBaseInforShow(euId, leavePageTimes); var exampaper = _examTestManager.GetExampaperBaseInforShow(euId); List <KeyValuePair <string, string> > filePath = new List <KeyValuePair <string, string> >(); foreach (var item in exampaper.QuestionList) { if (item.QType == 6) { foreach (var p in item.FileUpload) { p.fileName = "http://" + Request.Url.Authority + p._fileName; filePath.Add(new KeyValuePair <string, string>(p._fileName, p._fileName)); } } } string txtContent = Newtonsoft.Json.JsonConvert.SerializeObject(new { exambase = new { exambase.ExamRuleList, exambase.ExamEndTime, exambase.ExamStartTime, exambase.ExamLength, exambase.ExamTitle, exambase.UserRemainingTime }, exampaper = new { QuestionList = exampaper.QuestionList.Select(p => new { FileUpload = p.FileUpload.Select(f => new { fileName = f._fileName, fileType = f._fileType }), p.QAnswerType, p.QType, QuestionAnswer = p.QuestionAnswer.Select(q => new { q.AnswerContent, q.AnswerType, q.Order, q.oldOrder }), p.QuestionContent, p.QuestionID, p.QuestionOrder, p.FillBlankCount, p.UserAnswer, p.Score }) }, testTimes = examTestTimes - eu.TestTimes }); string jsonfilename = Guid.NewGuid().ToString(); string jsonfilefilepath = Server.MapPath(Url.Addr("~/UploadFiles/ExamQuestionResource/") + jsonfilename + ".json"); System.IO.File.WriteAllText(jsonfilefilepath, txtContent); filePath.Add(new KeyValuePair <string, string>(jsonfilefilepath, "data.json")); string zipFilePath = ""; long filesize = 0; if (filePath.Count > 0) { string filename = Guid.NewGuid().ToString(); if (!Directory.Exists(Server.MapPath("~/UploadFiles/tmp/"))) { Directory.CreateDirectory(Server.MapPath("~/UploadFiles/tmp/")); } FileZipHelper.PackFiles(Server.MapPath("~/UploadFiles/tmp/" + filename + ".zip"), filePath); zipFilePath = "http://" + Request.Url.Authority + Url.Addr("~/UploadFiles/tmp/") + filename + ".zip"; filesize = new System.IO.FileInfo(Server.MapPath("~/UploadFiles/tmp/" + filename + ".zip")).Length; } return(Json(new { result = 1, msg = "获取成功!", zipFilePath = zipFilePath, FileSize = filesize }, JsonRequestBehavior.AllowGet)); } catch { return(Json(new { result = 0, msg = "获取失败!" }, JsonRequestBehavior.AllowGet)); } }