Beispiel #1
0
        //重新导入用户
        public void ReImportUserFromDefaultFile(object obj)
        {
            //删除当前所有用户
            for (int i = users.Count - 1; i >= 0; i--)
            {
                RemoveUserAt(i);
            }


            //读取用户配置文件, 并添加用户
            if (userRW.ReadDefaultUserFile())
            {
                if (userRW.UserInfoList.Count > 0)
                {
                    foreach (UserBasicInfo userInfo in userRW.UserInfoList)
                    {
                        if (userInfo.terminalGrpNO == SysConfig.Setting.groupNumber)                            //若组号相等, 则将用户加入
                        {
                            AddUser(userInfo);
                        }
                    }
                }
            }

            //写入用户全部更新记录
            worklog.LogQueue_Enqueue(LogCommand.getUserUpdateRecord(1, users, null));
        }
        //导入用户 按钮
        void btnSysSetImport_Click(object sender, EventArgs e)
        {
            List <UserBasicInfo> userList = null;
            int            SuccessCnt     = 0;                                  //导入成功的文件数目
            OpenFileDialog openFileDialog = new OpenFileDialog();

            openFileDialog.Filter           = "Excel,JPG,PNG|*.xlsx;*.xls;*.jpg;*.jpeg;*.png";
            openFileDialog.FilterIndex      = 0;
            openFileDialog.RestoreDirectory = true;                                     //保存对话框是否记忆上次打开的目录
            openFileDialog.Multiselect      = true;
            openFileDialog.InitialDirectory = Application.StartupPath + @"\res\UserTable";
            openFileDialog.Title            = "导入用户配置文件";
            if (openFileDialog.ShowDialog() == DialogResult.OK)
            {
                if (openFileDialog.FileNames != null)
                {
                    string[] filesPath = openFileDialog.FileNames;
                    foreach (string filePath in filesPath)
                    {
                        if (Path.GetExtension(filePath).Contains("xlsx") || Path.GetExtension(filePath).Contains("xls")) //若是excel文件
                        {
                            userList = userRW.ReadUserInfoFile(openFileDialog.FileName);                                 //读取导入文件中的用户
                            if (userList != null)
                            {
                                //删除当前所有用户
                                for (int i = users.Count - 1; i >= 0; i--)
                                {
                                    RemoveUserAt(i);
                                }
                                if (userList.Count > 0)
                                {
                                    foreach (UserBasicInfo userInfo in userList)
                                    {
                                        AddUser(userInfo);
                                    }
                                }
                                //更新默认用户文件
                                userRW.SaveUserInfoFile(userRW.DefaultUserFileName, users);

                                //写入按钮点击记录
                                worklog.LogQueue_Enqueue(LogCommand.getButtonClickRecord(BTNPANEL.SysSettingPanel, (int)BtnOfSysSettingPanel.ImportUsers, openFileDialog.FileName));
                                //写入用户全部更新记录
                                worklog.LogQueue_Enqueue(LogCommand.getUserUpdateRecord(1, users, null));
                                SuccessCnt++;
                            }
                        }
                        else                                                       //若是图像文件
                        {
                            if (AppUtil.CopyFileTo(filePath, ".\\res\\UserTable")) // 直接将其拷贝到用户目录下
                            {
                                SuccessCnt++;
                            }
                        }
                    }
                    if (SuccessCnt == 0)
                    {
                        MessageBox.Show("导入失败");
                    }
                    else if (SuccessCnt < filesPath.Length)
                    {
                        MessageBox.Show("部分导入成功");
                    }
                    else
                    {
                        MessageBox.Show("导入成功");
                    }
                }
            }
        }