Ejemplo n.º 1
0
        /// <summary>
        /// 保存所有的Bug
        /// </summary>
        /// <param name="_modeType">项目模式的类型</param>
        public void SaveBugs(ModeType _modeType)
        {
            /* 保存 */
            try
            {
                //获取所有的Bug
                ObservableCollection <BugData> _bugDatas = BugDatas;

                //判断项目的模式
                switch (_modeType)
                {
                //如果项目是[默认模式]:把所有的Bug,保存到/Bug/Bugs.json文件中
                case ModeType.Default:
                    //把BugData转换为BugBaseData
                    List <BugBaseData> _bugBaseDatas = new List <BugBaseData>();
                    for (int i = 0; i < _bugDatas.Count; i++)
                    {
                        BugBaseData _bugBaseData = BugBaseData.DataToBaseData(_bugDatas[i]);
                        if (_bugBaseData != null)
                        {
                            _bugBaseDatas.Add(_bugBaseData);
                        }
                    }

                    //把BugBaseData转换为json
                    string _bugsJsonText = JsonMapper.ToJson(_bugBaseDatas);

                    //Bug文件的路径(文件夹+文件名+后缀)
                    string _bugsFilePath = BugFolderPath + "/Bugs" + AppManager.Systems.ProjectSystem.OtherFileSuffix;

                    //把json文件保存到[Bugs.json]文件里
                    File.WriteAllText(_bugsFilePath, _bugsJsonText, Encoding.Default);
                    break;



                //如果项目是[协同合作模式]:把每一个Bug,分别保存到/Bug/Bug - 20200119080230555.json文件中
                case ModeType.Collaboration:
                    for (int i = 0; i < _bugDatas.Count; i++)
                    {
                        SaveBug(ModeType.Collaboration, _bugDatas[i].Id);
                    }
                    break;
                }
            }

            /* 如果有错误,就输出错误 */
            catch (Exception e)
            {
                //输出错误
                AppManager.Uis.ErrorUi.UiControl.TipContent = e.ToString();
                AppManager.Uis.ErrorUi.OpenOrClose(true);
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 保存一个Bug
        /// </summary>
        /// <param name="_modeType">项目模式的类型</param>
        /// <param name="_bugId">要保存的Bug的编号</param>
        public void SaveBug(ModeType _modeType, long _bugId)
        {
            /* 保存 */
            try
            {
                //判断项目的模式
                switch (_modeType)
                {
                //如果项目是[默认模式]:把所有的Bug,保存到/Bug/Bugs.json文件中
                case ModeType.Default:
                    SaveBugs(ModeType.Default);
                    break;



                //如果项目是[协同合作模式]:把每一个Bug,分别保存到/Bug/Bug - 20200119080230555.json文件中
                case ModeType.Collaboration:
                    //通过Id取到Bug
                    BugData _bugData = GetBugData(_bugId);

                    if (_bugData != null)
                    {
                        //把BugData转换为BugBaseData
                        BugBaseData _bugBaseData = BugBaseData.DataToBaseData(_bugData);

                        //把BugBaseData转换为json
                        string _bugJsonText = JsonMapper.ToJson(_bugBaseData);

                        //Bug文件的路径(文件夹+文件名+后缀)
                        string _bugFilePath = BugFolderPath + "/Bug - " + _bugBaseData.Id + AppManager.Systems.ProjectSystem.OtherFileSuffix;

                        //把json文件保存到[Bug - BugId.json]文件里
                        File.WriteAllText(_bugFilePath, _bugJsonText, Encoding.Default);
                    }
                    break;
                }
            }

            /* 如果有错误,就输出错误 */
            catch (Exception e)
            {
                //输出错误
                AppManager.Uis.ErrorUi.UiControl.TipContent = e.ToString();
                AppManager.Uis.ErrorUi.OpenOrClose(true);
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 备份[Bug]
        ///(备份[Bug/Bugs.json]文件)
        /// </summary>
        public void BackupBug()
        {
            /* 格式:Backup/Bug/年月日时分秒.json */

            try
            {
                /*创建[Backup/Bug]文件夹(_projectFolderPath/Backup/Bug/)*/
                DirectoryInfo _bugBackupDirectoryInfo = new DirectoryInfo(BugBackupFolderPath);
                //如果没有文件夹,就创建文件夹
                if (_bugBackupDirectoryInfo.Exists == false)
                {
                    _bugBackupDirectoryInfo.Create();
                }

                /*获取【Bug】文件的个数(如果文件超过10个,就删除最早创建的那个文件)*/
                FileInfo[] _bugBackupFileInfos = _bugBackupDirectoryInfo.GetFiles();
                if (_bugBackupFileInfos != null && _bugBackupFileInfos.Length > 10)
                {
                    //找到Bug备份文件中,最早创建的那个文件
                    FileInfo _firstFileInfo = FindFirstBackupFile(_bugBackupFileInfos);

                    //删除最早的1个文件
                    if (_firstFileInfo != null)
                    {
                        File.Delete(_firstFileInfo.FullName);
                    }
                }



                /* 获取要备份的文件的路径 */
                //当前的时间(年月日时分秒)
                string _nowDateTimeString = DateTimeTool.DateTimeToString(DateTime.UtcNow, TimeFormatType.YearMonthDayHourMinuteSecondMillisecond);

                //文件的备份路径
                string _bugFilePath = BugBackupFolderPath + "/"
                                      + _nowDateTimeString + AppManager.Systems.ProjectSystem.OtherFileSuffix;



                /* 进行备份 */
                //取到所有的Bug数据
                ObservableCollection <BugData> _bugDatas = AppManager.Systems.BugSystem.BugDatas;

                //把BugData转换为BugBaseData
                List <BugBaseData> _bugBaseDatas = new List <BugBaseData>();
                for (int i = 0; i < _bugDatas.Count; i++)
                {
                    BugBaseData _bugBaseData = BugBaseData.DataToBaseData(_bugDatas[i]);
                    if (_bugBaseData != null)
                    {
                        _bugBaseDatas.Add(_bugBaseData);
                    }
                }

                //把BugBaseData转换为json
                string _bugsJsonText = JsonMapper.ToJson(_bugBaseDatas);

                //把json文件保存到[Bugs.json]文件里
                File.WriteAllText(_bugFilePath, _bugsJsonText, Encoding.Default);
            }
            catch (Exception e)
            {
            }
        }