/// <summary> /// This method returns all posts. /// </summary> /// <returns>GetAllPostResponse</returns> public async Task <GetAllPostResponse> GetAllPosts(string context) { var allPosts = await _postManager.GetAllPost(); List <PostResponse> postResponses = new List <PostResponse>(); User user = null; if (context != "none") { user = await _userManager.GetUser(context); } foreach (var post in allPosts) { PostResponse tempPost = ConvertToPostResponse(post); if (user != null) { var temp = await ReactByUser(user.Id, post.Id); if (temp.LikeOrUnlike == "Liked") { tempPost.Liked = true; } } postResponses.Add(tempPost); } return(new GetAllPostResponse() { StatusCode = StatusCode.Ok, PostList = postResponses, }); }
public void ExportUserList(string uname, string rname, int status, int sex, string userCode, string postName = "", string deptName = "", int deptId = 0, int postId = 0, int roleId = 0) { int totalRecords; List <int> deptIds = new List <int>(); if (deptId > 0) { deptIds.Add(deptId); GetChildDeptIds(deptId, _deptManager.GetAllDept(CurrentTenant.TenantId), deptIds); } List <int> postIds = new List <int>(); if (postId > 0) { postIds.Add(postId); GetChildPostIds(postId, _postManager.GetAllPost(CurrentTenant.TenantId), postIds); } var list = _userManager.GetUserList(out totalRecords, CurrentTenant.TenantId, uname, rname, postName, deptName, deptIds.ToArray(), postIds.ToArray(), new int[] { roleId }, status, sex, userCode, 0, int.MaxValue); var dt = new DataTable(); dt.Columns.Add(RetechWing.LanguageResources.User.Realname, typeof(string)); dt.Columns.Add(RetechWing.LanguageResources.User.UserCode, typeof(string)); dt.Columns.Add(RetechWing.LanguageResources.User.Email, typeof(string)); dt.Columns.Add(RetechWing.LanguageResources.User.PhoneNum, typeof(string)); dt.Columns.Add(Job.JobName, typeof(string)); dt.Columns.Add(Dept.DeptName, typeof(string)); foreach (var item in list) { dt.Rows.Add(item.Realname, item.UserCode, item.Email, item.Phone, item.PostName, item.DeptName); } var dtList = new List <DataTable>(); string strFileName = RetechWing.LanguageResources.TenantUI.TenantPost.UserData; dtList.Add(dt); var export = new Spreadsheet(); export.ExportChart(new List <ChartModel>(), dtList, HttpContext, strFileName); }
public JsonResult SavePost(string data) { try { SysPost model = Newtonsoft.Json.JsonConvert.DeserializeObject <SysPost>(data); if (model.PostId == 0) { model.CreateTime = DateTime.Now; model.CreateUser = 0; model.TenantId = CurrentTenant.TenantId; model.PostCode = model.PostName; //新增 _postManager.AddPost(model); } else { //修改 SysPost post = _postManager.GetPostById(model.PostId); if (post == null) { return(Json(new { result = 0, content = RetechWing.LanguageResources.TenantUI.TenantPost.NotFound }, JsonRequestBehavior.AllowGet)); } if (post.TenantId != CurrentTenant.TenantId) { return(Json(new { result = 0, content = RetechWing.LanguageResources.TenantUI.TenantPost.NotFound }, JsonRequestBehavior.AllowGet)); } var childIds = new List <int>(); GetChildPostIds(model.PostId, _postManager.GetAllPost(CurrentTenant.TenantId), childIds); childIds.Add(model.PostId); if (childIds.Contains(model.ParentId)) { return(Json(new { result = 0, content = RetechWing.LanguageResources.TenantUI.TenantPost.CanNotBeSub }, JsonRequestBehavior.AllowGet)); } post.ParentId = model.ParentId; post.PostName = model.PostName; post.PostCode = model.PostName; post.Description = model.Description; _postManager.UpdatePost(post); if (post.DeptId != model.DeptId) { _postManager.UpdatePostDeptId(model.DeptId, childIds.ToArray()); } } return(Json(new { result = 1, content = RetechWing.LanguageResources.Common.SaveSuccess }, JsonRequestBehavior.AllowGet)); } catch { return(Json(new { result = 0, content = RetechWing.LanguageResources.Common.SaveFailed }, JsonRequestBehavior.AllowGet)); } }
/// <summary> /// 获取岗位树 /// </summary> /// <returns></returns> public JsonResult GetPostCheckBoxTree(int deptId = -1, int showCheckBox = 0, string ids = "") { int[] postIds = ids.GetArray(); IEnumerable <SysDepartment> allDept = _deptManager.GetAllDept(CurrentTenant.TenantId); IEnumerable <SysPost> allPost = _postManager.GetAllPost(CurrentTenant.TenantId); var rootNode = new EasyuiTreeNode(); if (deptId == -1) { rootNode = GetChildPostTree(new SysDepartment { DeptId = 0, DeptName = CurrentTenant.TenantName }, allDept, allPost, showCheckBox, postIds); } else { //rootNode = GetDeptPostTreeNode(deptId, allDept, allPost); var dept = new SysDepartment { DeptId = 0, DeptName = CurrentTenant.TenantName }; if (deptId > 0) { dept = allDept.FirstOrDefault(p => p.DeptId == deptId); } if (dept != null) { rootNode = new EasyuiTreeNode { id = dept.DeptId + "_0", text = dept.DeptName + "[" + Dept.Department + "]" }; foreach (SysPost item in allPost.Where(p => p.ParentId == 0 && p.DeptId == deptId)) { rootNode.children.Add(GetChildPosts(item, allPost, showCheckBox, postIds)); } } } return(Json(new[] { rootNode }, JsonRequestBehavior.AllowGet)); }
/// <summary> /// 读取文件内容,并添加 /// </summary> /// <param name="excelPath"></param> /// <param name="errorStr"></param> /// <returns></returns> private bool InsertUserList(string excelPath, ref string errorStr) { string RowIds = ""; int total; var listUserSql = _teacherManager.GetTeachers(out total, "", "", 1, int.MaxValue, "UserId DESC").ToList(); var paraUsers = SystemUsers.AsParallel(); foreach (var teacher in listUserSql) { teacher.UserInfo = paraUsers.First(p => p.UserId == teacher.UserId); } string userCodeRepeat = ""; //工号重复 string userEmailRepeat = ""; //邮箱重复 var excelUser = new List <Models.ResTeacher>(); var type = GetExcelContent(excelPath, ref errorStr, ref excelUser); var allDept = _deptManager.GetAllDept(CurrentTenant.TenantId).ToList(); var allPost = _postManager.GetAllPost(CurrentTenant.TenantId).ToList(); var f = true; if (type) { foreach (Models.ResTeacher item in excelUser) { try { f = true; var model = listUserSql.Find(p => p.UserInfo.Username == item.UserInfo.Username); #region 找出部门Id、岗位Id var deptId = 0; var postId = 0; if (!string.IsNullOrWhiteSpace(item.UserInfo.DeptName)) { var de = allDept.Find(p => p.DeptName == item.UserInfo.DeptName); if (de != null) { deptId = de.DeptId; } } if (!string.IsNullOrWhiteSpace(item.UserInfo.PostName)) { var po = allPost.Find(p => p.PostName == item.UserInfo.PostName); if (po != null) { postId = po.PostId; } } #endregion if (model != null) { #region 验证邮箱与工号是否已经存在 var m1 = listUserSql.Find(p => p.UserInfo.Email == item.UserInfo.Email && p.UserInfo.Username != item.UserInfo.Username); var m2 = listUserSql.Find(p => p.UserInfo.UserCode == item.UserInfo.UserCode && p.UserInfo.Username != item.UserInfo.Username); if (m1 != null) { userEmailRepeat += item.UserInfo.RowId + ","; f = false; } if (m2 != null) { userCodeRepeat += item.UserInfo.RowId + ","; f = false; } #endregion if (f) { model.UserInfo.UserCode = item.UserInfo.UserCode; model.UserInfo.Email = item.UserInfo.Email; model.UserInfo.Sex = item.UserInfo.Sex; model.UserInfo.Realname = item.UserInfo.Realname; model.UserInfo.DeptId = deptId == 0 ? model.UserInfo.DeptId : deptId; model.UserInfo.PostId = postId == 0 ? model.UserInfo.PostId : postId; model.UserInfo.Status = 0; model.UserInfo.DeptId = deptId; model.UserInfo.PostId = postId; model.UserInfo.Photo = "~/images/userheader/default.jpg"; model.UserInfo.Phone = ""; model.UserInfo.TenantId = CurrentTenant.TenantId; model.UserInfo.Password = "******".GetMd5(2); model.UserInfo.Level = 1; _teacherManager.SaveTeacher(model); } } else { #region 验证邮箱与工号是否已经存在 var m1 = listUserSql.Find(p => p.UserInfo.Email == item.UserInfo.Email); var m2 = listUserSql.Find(p => p.UserInfo.UserCode == item.UserInfo.UserCode); if (m1 != null) { userEmailRepeat += item.UserInfo.RowId + ","; f = false; } if (m2 != null) { userCodeRepeat += item.UserInfo.RowId + ","; f = false; } #endregion if (f) { item.UserInfo.Status = 0; item.UserInfo.DeptId = deptId; item.UserInfo.PostId = postId; item.UserInfo.Photo = "~/images/userheader/default.jpg"; item.UserInfo.Phone = ""; item.UserInfo.TenantId = CurrentTenant.TenantId; item.UserInfo.Password = "******".GetMd5(2); item.UserInfo.Level = 1; item.UserInfo.NamePin = item.UserInfo.Realname.GetPy(); _teacherManager.SaveTeacher(item); } } } catch { RowIds += item.UserInfo.RowId + ","; } } } BusinessCache.SystemCache.RemoveCacheUser(); if (RowIds != "") { errorStr = errorStr + string.Format("<br /> " + "第{0}行,数据有误!", RowIds.TrimEnd(',')); } if (userCodeRepeat != "") { errorStr = errorStr + string.Format("<br /> " + "第{0}行,工号在系统已经存在!", userCodeRepeat.TrimEnd(',')); } if (userEmailRepeat != "") { errorStr = errorStr + string.Format("<br /> " + "第{0}行,邮箱在系统已经存在!", userEmailRepeat.TrimEnd(',')); } return(type); }
/// <summary> /// 读取文件内容,并添加 /// </summary> /// <param name="excelPath"></param> /// <param name="errorStr"></param> /// <returns></returns> private bool InsertUserList(string excelPath, ref string errorStr) { string RowIds = ""; int total; var listUserSql = _userManager.GetAllUsers(out total, CurrentTenant.TenantId, "", "", "", "", 0, 0, int.MaxValue).ToList(); string userCodeRepeat = ""; //工号重复 string userEmailRepeat = ""; //邮箱重复 var excelUser = new List <SysUser>(); var type = GetExcelContent(excelPath, ref errorStr, ref excelUser); var allDept = _deptManager.GetAllDept(CurrentTenant.TenantId).ToList(); var allPost = _postManager.GetAllPost(CurrentTenant.TenantId).ToList(); var f = true; if (type) { foreach (SysUser item in excelUser) { try { f = true; SysUser model = listUserSql.Find(p => p.Username == item.Username); #region 找出部门Id、岗位Id var deptId = 0; var postId = 0; if (!string.IsNullOrWhiteSpace(item.DeptName)) { //现在匹配部门编码 var de = allDept.Find(p => p.DeptCode == item.DeptName); if (de != null) { deptId = de.DeptId; } } if (deptId > 0) { if (!string.IsNullOrWhiteSpace(item.PostName)) { var po = allPost.Find(p => p.PostName == item.PostName && p.DeptId == deptId); if (po != null) { postId = po.PostId; } } } #endregion if (model != null) { #region 验证邮箱与工号是否已经存在 var m1 = listUserSql.Find(p => p.Email == item.Email && p.Username != item.Username); var m2 = listUserSql.Find(p => p.UserCode == item.UserCode && p.Username != item.Username); if (m1 != null) { userEmailRepeat += item.RowId + ","; f = false; } if (m2 != null) { userCodeRepeat += item.RowId + ","; f = false; } #endregion if (f) { model.UserCode = item.UserCode; model.Email = item.Email; model.Sex = item.Sex; if (item.Photo.Contains("woman.png") || item.Photo.Contains("man.png")) { if (model.Sex == 2) { model.Photo = "~/UploadFiles/UserPhoto/woman.png"; } else { model.Photo = "~/UploadFiles/UserPhoto/man.png"; } } model.Realname = item.Realname; model.Lookup = item.Realname.GetPy(); model.DeptId = deptId == 0 ? model.DeptId : deptId; model.PostId = postId == 0 ? model.PostId : postId; _userManager.UpdateUser(model); } } else { #region 验证邮箱与工号是否已经存在 var m1 = listUserSql.Find(p => p.Email == item.Email); var m2 = listUserSql.Find(p => p.UserCode == item.UserCode); if (m1 != null) { userEmailRepeat += item.RowId + ","; f = false; } if (m2 != null) { userCodeRepeat += item.RowId + ","; f = false; } #endregion if (f) { item.Status = 0; item.DeptId = deptId; item.PostId = postId; if (item.Sex == 2) { item.Photo = "~/UploadFiles/UserPhoto/woman.png"; } else { item.Photo = "~/UploadFiles/UserPhoto/man.png"; } item.Phone = ""; item.TenantId = CurrentTenant.TenantId; item.Password = "******".GetMd5(2); item.Level = 1; _userManager.AddUser(item); } } } catch { RowIds += item.RowId + ","; } } } if (RowIds != "") { errorStr = errorStr + string.Format("<br /> " + "第{0}行,数据有误!", RowIds.TrimEnd(',')); } if (userCodeRepeat != "") { errorStr = errorStr + string.Format("<br /> " + "第{0}行,工号在系统已经存在!", userCodeRepeat.TrimEnd(',')); } if (userEmailRepeat != "") { errorStr = errorStr + string.Format("<br /> " + "第{0}行,邮箱在系统已经存在!", userEmailRepeat.TrimEnd(',')); } return(type); }