Esempio n. 1
0
        /// <summary>
        /// 添加公司
        /// </summary>
        /// <param name="request"></param>
        /// <returns>返回新添加的公司</returns>
        public WebFxsResult <Corporation> AddCorporation(AddCorporationRQ request, User loginUser)
        {
            var result = new WebFxsResult <Corporation>
            {
                ReturnCode = ReturnCodeType.Error,
                Content    = new Corporation()
            };

            var item = new Corporation
            {
                Name        = request.Name,
                Code        = request.Code,
                ParentId    = request.ParentId,
                Sort        = request.Sort,
                Enabled     = true,             //默认启用
                CreatedBy   = loginUser.UserId, //当前登录人
                CreatedTime = DateTime.Now
            };
            var rs = Insert(item);

            if (rs != null)
            {
                result.ReturnCode = ReturnCodeType.Success;
                result.Content    = rs;
            }

            return(result);
        }
Esempio n. 2
0
        /// <summary>
        /// 修改公司
        /// </summary>
        /// <param name="request"></param>
        /// <param name="loginUser"></param>
        /// <returns>true:修改成功,false:修改失败</returns>
        public WebFxsResult <bool> EditCorporation(EditCorporationRQ request, User loginUser)
        {
            var result = new WebFxsResult <bool>
            {
                ReturnCode = ReturnCodeType.Error,
                Content    = false
            };

            var item = new Corporation
            {
                Id              = request.Id,
                Name            = request.Name,
                Sort            = request.Sort,
                LastUpdatedBy   = loginUser.UserId,
                LastUpdatedTime = DateTime.Now
            };
            var rs = Update(item);

            if (rs == true)
            {
                result.ReturnCode = ReturnCodeType.Success;
                result.Content    = rs;
            }

            return(result);
        }
        /// <summary>
        /// 修改部门
        /// </summary>
        /// <param name="request"></param>
        /// <param name="loginUser"></param>
        /// <returns></returns>
        public WebFxsResult <bool> EditDepartment(EditDepartmentRQ request, User loginUser)
        {
            var result = new WebFxsResult <bool>
            {
                ReturnCode = ReturnCodeType.Error,
                Content    = false
            };

            var department = new Department
            {
                Id              = request.Id,
                Name            = request.Name,
                Sort            = request.Sort,
                LastUpdatedBy   = loginUser.UserId,
                LastUpdatedTime = DateTime.Now
            };

            var rs = this.Update(department);

            if (rs == true)
            {
                result.ReturnCode = ReturnCodeType.Success;
                result.Content    = true;
            }

            return(result);
        }
        /// <summary>
        /// 添加部门
        /// </summary>
        /// <param name="request"></param>
        /// <param name="loginUser"></param>
        /// <returns>true:成功,false:失败</returns>
        public WebFxsResult <bool> AddDepartment(AddDepartmentRQ request, User loginUser)
        {
            var result = new WebFxsResult <bool>
            {
                ReturnCode = ReturnCodeType.Error,
                Content    = false
            };

            var department = new Department
            {
                Name          = request.Name,
                Code          = request.Code,
                ParentId      = request.ParentId,
                CorporationId = request.CorpId,
                Sort          = request.Sort,
                Enabled       = true,
                CreatedBy     = loginUser.UserId,
                CreatedTime   = DateTime.Now
            };
            var rs = this.Insert(department);

            if (rs != null)
            {
                result.ReturnCode = ReturnCodeType.Success;
                result.Content    = true;
            }

            return(result);
        }
        /// <summary>
        /// 左侧导航菜单Accordion
        /// </summary>
        /// <param name="parentId"></param>
        /// <returns></returns>
        public WebFxsResult <string> GetLeftMenuAccordion(int userId, int menuParentId)
        {
            var result = new WebFxsResult <string>
            {
                ReturnCode = ReturnCodeType.Error,
                Content    = string.Empty
            };

            var menus    = repository.GetLeftMenu(userId, menuParentId);
            var navMenus = new List <LeftNavMenu>();

            if (menus.HasValue())
            {
                menus.ForEach(item =>
                {
                    navMenus.Add(new LeftNavMenu
                    {
                        id      = item.MenuId,
                        text    = item.MenuName,
                        iconCls = item.MenuIcon
                    });
                });
            }

            result.ReturnCode = ReturnCodeType.Success;
            result.Content    = navMenus.ToJson();

            return(result);
        }
        /// <summary>
        /// 获取该用户所拥有的菜单
        /// </summary>
        /// <param name="employeeId"></param>
        /// <returns></returns>
        public WebFxsResult <string> GetUserMenu(int employeeId)
        {
            var result = new WebFxsResult <string>
            {
                ReturnCode = Entity.ReturnCodeType.Error,
                Content    = string.Empty
            };

            StringBuilder sb = new StringBuilder();

            sb.Append("[");

            var userMenus = repository.GetUserMenu(employeeId);

            if (userMenus.HasValue())
            {
                //TODO:组装json字符串,有更好的方案要优化
                var rootUserMenus = userMenus.Where(p => p.MenuParentId == 0).ToList();
                if (rootUserMenus.HasValue())
                {
                    rootUserMenus.ForEach(item =>
                    {
                        sb.Append("{\"id\":\"" + item.MenuId + "\",\"text\":\"" + item.MenuName + "\",\"iconCls\":\"" + item.MenuIcon + "\",\"children\":[");
                        var childUserMenus = userMenus.Where(p => p.MenuParentId == item.MenuId).ToList();
                        if (childUserMenus.HasValue())
                        {
                            childUserMenus.ForEach(subItem =>
                            {
                                sb.Append("{\"id\":\"" + subItem.MenuId + "\",\"text\":\"" + subItem.MenuName + "\",\"iconCls\":\"" + subItem.MenuIcon + "\",\"attributes\":{\"url\":\"" + subItem.LinkAddress + "\"}},");
                            });
                            sb.Remove(sb.Length - 1, 1);
                            sb.Append("]},");
                        }
                        else
                        {
                            sb.Append("]},");
                        }
                    });
                    sb.Remove(sb.Length - 1, 1);
                    sb.Append("]");
                }
                else
                {
                    sb.Append("]");
                }
            }
            else
            {
                sb.Append("]");
            }
            result.ReturnCode = Entity.ReturnCodeType.Success;
            result.Content    = sb.ToString();

            return(result);
        }
Esempio n. 7
0
        /// <summary>
        /// 获取所有公司
        /// </summary>
        /// <returns></returns>
        public WebFxsResult <List <Corporation> > GetAllCorps()
        {
            var result = new WebFxsResult <List <Corporation> >
            {
                ReturnCode = ReturnCodeType.Error,
                Content    = new List <Corporation>()
            };

            result.Content    = this.GetByCondition(orderby: p => p.OrderBy(item => item.Code).ThenBy(item => item.Sort)).ToList();
            result.ReturnCode = ReturnCodeType.Success;

            return(result);
        }
        /// <summary>
        /// 检查登录
        /// </summary>
        /// <param name="rq"></param>
        /// <returns></returns>
        public WebFxsResult <User> CheckLogin(CheckLoginRequest request)
        {
            var result = new WebFxsResult <User>
            {
                ReturnCode = ReturnCodeType.Error
            };

            var employee = repository.CheckLogin(request);

            result.ReturnCode = ReturnCodeType.Success;
            result.Content    = employee;

            return(result);
        }
        /// <summary>
        /// 获取指定部门下的用户
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public WebFxsResult <PagingResult <User> > GetUserByDepartment(GetUserByDepartmentRQ request)
        {
            var result = new WebFxsResult <PagingResult <User> >
            {
                ReturnCode = ReturnCodeType.Error,
                Content    = new PagingResult <User>()
            };

            var pagingUsers = repository.GetUserByDepartment(request);

            result.ReturnCode = ReturnCodeType.Success;
            result.Content    = pagingUsers;

            return(result);
        }
        /// <summary>
        /// 获取指定公司下的部门
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public WebFxsResult <List <Department> > GetDepartmentByCorp(GetDepartmentByCorpRQ request)
        {
            var result = new WebFxsResult <List <Department> >
            {
                ReturnCode = ReturnCodeType.Error,
                Content    = new List <Department>()
            };

            var departments = repository.GetDepartmentByCorp(request);

            result.ReturnCode = ReturnCodeType.Success;
            result.Content    = departments;

            return(result);
        }
Esempio n. 11
0
        /// <summary>
        /// 查询选中公司下的所有部门并分页显示
        /// </summary>
        /// <param name="corpIds"></param>
        /// <returns></returns>
        public WebFxsResult <string> GetCorpDepartment(GetCorpDepartmentRQ request)
        {
            var result = new WebFxsResult <string>
            {
                ReturnCode = ReturnCodeType.Error,
                Content    = string.Empty
            };

            var pagingResult = repository.GetCorpDepartmentByPaging(request);

            result.Content    = "{\"total\": " + pagingResult.TotalCount + ",\"rows\":" + pagingResult.Entities.ToJson(dateTimeFormat: DateFormat.DATETIME) + "}";
            result.ReturnCode = ReturnCodeType.Success;

            return(result);
        }
        /// <summary>
        /// 首次登录初始化密码
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public WebFxsResult <bool> InitUserPwd(FirstLoginRequest request)
        {
            var result = new WebFxsResult <bool>
            {
                ReturnCode = ReturnCodeType.Error
            };

            if (repository.InitUserPwd(request))
            {
                result.ReturnCode = ReturnCodeType.Success;
                result.Content    = true;
            }

            return(result);
        }
        /// <summary>
        /// 修改密码
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public WebFxsResult <bool> ChangePwd(ChangePwdRequest request)
        {
            var result = new WebFxsResult <bool>
            {
                ReturnCode = ReturnCodeType.Error
            };

            if (repository.ChangePwd(request))
            {
                result.ReturnCode = ReturnCodeType.Success;
                result.Content    = true;
            }

            return(result);
        }
        /// <summary>
        /// 左侧导航菜单Tree
        /// </summary>
        /// <param name="parentId"></param>
        /// <returns></returns>
        public WebFxsResult <string> GetLeftMenuTree(int userId, int menuParentId)
        {
            var result = new WebFxsResult <string>
            {
                ReturnCode = ReturnCodeType.Error,
                Content    = string.Empty
            };

            var data   = repository.GetLeftMenu(userId, menuParentId);
            var outPut = GetLeftMenuTreeString(data, menuParentId);

            result.ReturnCode = ReturnCodeType.Success;
            result.Content    = outPut;

            return(result);
        }
        /// <summary>
        /// 删除部门
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public WebFxsResult <bool> DeleteDepartment(DeleteDepartmentRQ request)
        {
            var result = new WebFxsResult <bool>
            {
                ReturnCode = ReturnCodeType.Error,
                Content    = false
            };

            var rs = repository.DeleteDepartment(request);

            if (rs == true)
            {
                result.ReturnCode = ReturnCodeType.Success;
                result.Content    = true;
            }

            return(result);
        }
Esempio n. 16
0
        /// <summary>
        /// 删除公司
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public WebFxsResult <bool> DeleteCorporation(DeleteCorporationRQ request)
        {
            //删除所选公司包括子公司
            //删除公司下的所有部门包括子部门
            //解除部门与用户的关系
            var result = new WebFxsResult <bool>
            {
                ReturnCode = ReturnCodeType.Error,
                Content    = false
            };

            var rs = repository.DeleteCorporation(request);

            if (rs == true)
            {
                result.ReturnCode = ReturnCodeType.Success;
                result.Content    = true;
            }

            return(result);
        }
        /// <summary>
        /// 获取当前用户当前页面可访问的按钮
        /// </summary>
        /// <param name="menuCode"></param>
        /// <param name="userId"></param>
        /// <returns></returns>
        public WebFxsResult <string> GetButtonByUserIdAndMenuCode(string menuCode, string pageName, int userId)
        {
            var result = new WebFxsResult <string>
            {
                ReturnCode = Entity.ReturnCodeType.Error,
                Content    = string.Empty
            };
            var buttons = repository.GetButtonByUserIdAndMenuCode(menuCode, userId);

            if (buttons.HasValue())
            {
                //构造json
                var dt = buttons.ToDataTable();
                result.Content = ToolbarHelper.GetToolBar(dt, pageName);
                if (!result.Content.IsNullOrEmpty())
                {
                    result.ReturnCode = Entity.ReturnCodeType.Success;
                }
            }

            return(result);
        }
        /// <summary>
        /// 获取组织机构树数据
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public WebFxsResult <List <Corporation> > GetOrgTreeData()
        {
            var result = new WebFxsResult <List <Corporation> >
            {
                ReturnCode = ReturnCodeType.Error,
                Content    = new List <Corporation>()
            };

            var corps = corpRepository.GetByCondition(orderby: p => p.OrderBy(item => item.Code).ThenBy(item => item.Sort)).ToList();

            if (corps.HasValue())
            {
                foreach (var item in corps)
                {
                    item.Department = departmentRepository.GetByCondition(p => p.CorporationId == item.Id, p => p.OrderBy(q => q.Code).ThenBy(q => q.Sort)).ToList();
                }
            }
            result.Content    = corps;
            result.ReturnCode = ReturnCodeType.Success;

            return(result);
        }
        /// <summary>
        /// 我的信息
        /// </summary>
        /// <returns></returns>
        public WebFxsResult <GetMyInfoResponse> GetMyInfo(int id)
        {
            var result = new WebFxsResult <GetMyInfoResponse>
            {
                ReturnCode = ReturnCodeType.Error,
                Content    = new GetMyInfoResponse()
            };

            var myInfo = repository.GetMyInfo(id);

            if (myInfo != null)
            {
                result.ReturnCode = ReturnCodeType.Success;
                result.Content    = myInfo;
            }
            else
            {
                result.Message = "获取我的信息失败!";
            }

            return(result);
        }