//主窗体初始化
        public EmployeeViewModel(IEmployeeService dataService)
        {
            _DataService = dataService;
            //查询部门,生成树
            _RootTreeNode = new TreeNodeModel("全部行政部门");

            DepartmentInfo dep = new DepartmentInfo();
            dep.CompanyId = 1;
             List<DepartmentInfo> queryByDepartment=_DataService.QueryByDepartment(dep);

             foreach (var depar in queryByDepartment)
             {
                 _RootTreeNode.Children.Add(new TreeNodeModel("" + depar.DepartmentId, depar.DepartmentName, _RootTreeNode));
            }
            //TreeNodeModel hunan = new TreeNodeModel("1","湖南", _RootTreeNode);
            //TreeNodeModel shaoyan = new TreeNodeModel("3", "邵阳", hunan);
            //TreeNodeModel hengyan = new TreeNodeModel("4", "衡阳", hunan);
            //TreeNodeModel wuhan = new TreeNodeModel("5", "武汉", hubei);
            //_RootTreeNode.Children.Add(hubei);
            //_RootTreeNode.Children.Add(hunan);
            //hunan.Children.Add(shaoyan);
            //hunan.Children.Add(hengyan);
            //hubei.Children.Add(wuhan);
            _FirstGeneration = new ObservableCollection<TreeNodeModel>(new TreeNodeModel[]{ 
                _RootTreeNode
            });

            //查询员工绑定grid
            EmployeeV = new ObservableCollection<EmployeeBean>();
            Employee employee = new Employee();
           
            List<Employee> loooo = _DataService.QueryByEmployee(employee);

            bool a = loooo != null;
            if (a)
            {
                foreach (var loca in loooo)
                {
                    EmployeeV.Add(new EmployeeBean
                    {
                        UserId = loca.UserId,
                                                 DepartmentId = loca.DepartmentId,JobNo = loca.JobNo,Name = loca.Name, 
                                                 Sex = loca.Sex, SexVal = (loca.Sex == 1) ? "男" : "女", Birthday = loca.Birthday,
                                                 Flag = loca.Flag, FlagVal = (loca.Flag == 1) ? "离职" : "在职", Mobile = loca.Mobile,
                                                 Email = loca.Email,Position = loca.Position,Phone = loca.Phone,Code = loca.Code,
                                                 ResidentialAddress = loca.ResidentialAddress,IDAddress = loca.IDAddress,Remark = loca.Remark});
                }
            }
        }
        public static EmployeeBean Build(Employee employee)
        {
            EmployeeBean bean = new EmployeeBean();
            bean.UserId = employee.UserId;
            bean.DepartmentId = employee.DepartmentId;
            bean.JobNo = employee.JobNo;
            bean.Name = employee.Name;
            bean.Sex = employee.Sex;
            bean.Birthday = employee.Birthday;
            bean.Flag = employee.Flag;
            bean.Mobile = employee.Mobile;
            bean.Email = employee.Email;
            bean.CreateTime = employee.CreateTime;
            bean.CreateBy = employee.CreateBy;
            bean.UpdateDatetime = employee.UpdateDatetime;
            bean.UpdateBy = employee.UpdateBy;
            bean.Deleted = employee.Deleted;
            bean.Position = employee.Position;
            bean.Phone = employee.Phone;
            bean.Code = employee.Code;
            bean.ResidentialAddress = employee.ResidentialAddress;
            bean.IDAddress = employee.IDAddress;
            bean.Remark = employee.Remark;
            return bean;

        }
        public Employee CreateEmployee(EmployeeBean bean)
        {
            Employee beanBack = new Employee();
            beanBack.UserId = bean.UserId;
            beanBack.DepartmentId = bean.DepartmentId;
            beanBack.JobNo = bean.JobNo;
            beanBack.Name = bean.Name;
            beanBack.Sex = bean.Sex;
            beanBack.Birthday = bean.Birthday;
            beanBack.Flag = bean.Flag;
            beanBack.Mobile = bean.Mobile;
            beanBack.Email = bean.Email;
            beanBack.CreateTime = bean.CreateTime;
            beanBack.CreateBy = bean.CreateBy;
            beanBack.UpdateDatetime = bean.UpdateDatetime;
            beanBack.UpdateBy = bean.UpdateBy;
            beanBack.Deleted = bean.Deleted;
            beanBack.Position = bean.Position;
            beanBack.Phone = bean.Phone;
            beanBack.Code = bean.Code;
            beanBack.ResidentialAddress = bean.ResidentialAddress;
            beanBack.IDAddress = bean.IDAddress;
            beanBack.Remark = bean.Remark;
            return beanBack;

        }
        public EmployeeBean CreateEmployeeBean(Employee bean)
        {
            this.UserId = bean.UserId;
            this.DepartmentId = bean.DepartmentId;
            this.JobNo = bean.JobNo;
            this.Name = bean.Name;
            this.Sex = bean.Sex;
            this.Birthday = bean.Birthday;
            this.Flag = bean.Flag;
            this.Mobile = bean.Mobile;
            this.Email = bean.Email;
            this.CreateTime = bean.CreateTime;
            this.CreateBy = bean.CreateBy;
            this.UpdateDatetime = bean.UpdateDatetime;
            this.UpdateBy = bean.UpdateBy;
            this.Deleted = bean.Deleted;
            this.Position = bean.Position;
            this.Phone = bean.Phone;
            this.Code = bean.Code;
            this.ResidentialAddress = bean.ResidentialAddress;
            this.IDAddress = bean.IDAddress;
            this.Remark = bean.Remark;
            return this;

        }