示例#1
0
        /// <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,
            });
        }
示例#2
0
        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);
        }
示例#3
0
 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));
     }
 }
示例#4
0
        /// <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);
        }
示例#6
0
        /// <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);
        }