Beispiel #1
0
        //添加按钮点击事件
        void btnDeviceBaseAdd_Click(object sender, EventArgs e)
        {
            TreeNode selectedNode = treeViewDeviceBase.SelectedNode;
            TreeNode ParentNode   = null;
            string   savePath     = null;

            if (selectedNode != null)                           //选中了节点
            {
                string path = ((string[])selectedNode.Tag)[0];  //源文件全路径
                // 若选中的节点在同步库中, 则将其改为本地库
                if (path.Contains("\\res\\DeviceBase\\SrcFiles\\同步库"))
                {
                    foreach (TreeNode node in rootNodeDeviceBase.Nodes)
                    {
                        if (node.Text == "本地库")
                        {
                            ParentNode = node;
                        }
                    }
                    savePath = ((string[])rootNodeDeviceBase.Tag)[0] + "\\本地库";
                }
                else
                {
                    if (Directory.Exists(path))
                    {
                        savePath = path; ParentNode = selectedNode;
                    }                                                                                                                                           //如果选中的是目录, 则保存路径就是当前目录
                    else
                    {
                        savePath = ((string[])selectedNode.Parent.Tag)[0]; ParentNode = selectedNode.Parent;
                    }                                                                                                                   //如果选中的是文件, 则保存路径就是当前文件的目录
                }
            }
            else                                                                //如果没有选中, 则保存路径就是本地库目录
            {
                foreach (TreeNode node in rootNodeDeviceBase.Nodes)
                {
                    if (node.Text == "本地库")
                    {
                        ParentNode = node;
                    }
                }
                savePath = ((string[])rootNodeDeviceBase.Tag)[0] + "\\本地库";
            }

            OpenFileDialog openFileDialog = new OpenFileDialog();

            openFileDialog.Filter           = "Word|*.docx|Word|*.doc";
            openFileDialog.FilterIndex      = 0;
            openFileDialog.RestoreDirectory = true;                                     //保存对话框是否记忆上次打开的目录
            openFileDialog.Title            = "添加文件";
            if (openFileDialog.ShowDialog() == DialogResult.OK)
            {
                if (AppUtil.CopyFileTo(openFileDialog.FileName, savePath))                      //若拷贝文件成功
                {
                    string   filePath    = savePath + "\\" + Path.GetFileName(openFileDialog.FileName);
                    TreeNode subFileNode = new TreeNode(Path.GetFileNameWithoutExtension(filePath));
                    subFileNode.Tag                = GetTagPath(Path.GetFullPath(filePath));
                    subFileNode.ImageIndex         = 1;
                    subFileNode.SelectedImageIndex = 1;
                    ParentNode.Nodes.Add(subFileNode);
                    //写入按钮点击记录到日志文件中
                    worklog.LogQueue_Enqueue(LogCommand.getButtonClickRecord(BTNPANEL.DeviceBasePanel, (int)BtnOfDeviceBasePanel.AddBtn, openFileDialog.FileName));
                }
            }
        }
        //导入用户 按钮
        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("导入成功");
                    }
                }
            }
        }