Ejemplo n.º 1
0
        /// <summary>
        /// 添加Bug
        /// </summary>
        /// <param name="_name">Bug的名字</param>
        /// <param name="_priority">Bug的优先级</param>
        public void AddBug(string _name, PriorityType _priority)
        {
            //创建一个Bug
            BugData _bugData = new BugData();

            _bugData.Id   = DateTimeTool.DateTimeToLong(DateTime.UtcNow, TimeFormatType.YearMonthDayHourMinuteSecondMillisecond);
            _bugData.Name = new HighlightText()
            {
                Text = _name
            };
            _bugData.Progress      = ProgressType.Undone;
            _bugData.Priority      = _priority;
            _bugData.CreateTime    = DateTime.UtcNow;
            _bugData.UpdateTime    = DateTime.UtcNow;
            _bugData.TemperamentId = 0;

            //把Bug添加到BugDatas中
            BugDatas.Add(_bugData);

            //重新获取Bug的个数+页数
            AppManager.Systems.BugSystem.CalculatedBugsNumber();
            AppManager.Systems.PageSytem.CalculatedPagesNumber();

            //重新排序
            AppManager.Systems.SortSystem.Sort();

            //重新过滤
            AppManager.Systems.SearchSystem.Filter();

            //重新计算页数
            AppManager.Systems.PageSytem.CalculatedPagesNumber();

            //显示Bug到当前页面
            AppManager.Systems.PageSytem.Insert(_bugData);

            //显示ListBug的Tip
            AppManager.Uis.ListUi.UiControl.OpenOrCloseListTip(true, true, _bugData);

            //保存Bug文件
            this.SaveBug(AppManager.Datas.ProjectData.ModeType, _bugData.Id);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 删除Bug
        /// </summary>
        /// <param name="_bugData">要删除的Bug数据</param>
        public void DeleteBug(BugData _bugData)
        {
            if (_bugData != null)
            {
                //把这个Bug标记为删除
                _bugData.IsDelete = true;

                //重新获取Bug的个数+页数
                AppManager.Systems.BugSystem.CalculatedBugsNumber();
                AppManager.Systems.PageSytem.CalculatedPagesNumber();

                //重新排序
                AppManager.Systems.SortSystem.Sort();

                //重新过滤
                AppManager.Systems.SearchSystem.Filter();

                //重新计算页数
                AppManager.Systems.PageSytem.CalculatedPagesNumber();

                //刷新界面
                AppManager.Systems.PageSytem.Refresh();

                //显示ListBug
                AppManager.Uis.ListUi.UiControl.OpenOrCloseListTip(true, false);

                //保存Bug文件
                this.SaveBug(AppManager.Datas.ProjectData.ModeType, _bugData.Id);

                //删除Bug中的所有记录
                AppManager.Systems.RecordSystem.RemoveRecords(_bugData);

                //把这个Bug[从Datas中]删除
                BugDatas.Remove(_bugData);
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 读取一个Bug
        /// </summary>
        /// <param name="_modeType">项目模式的类型</param>
        /// <param name="_bugFilePath">要读取的Bug的编号</param>
        public void LoadBug(ModeType _modeType, long _bugId)
        {
            /* 读取 */
            try
            {
                //判断项目的模式
                switch (_modeType)
                {
                //如果项目是[默认模式]:所有的Bug,都在/Bug/Bugs.json文件中
                case ModeType.Default:
                    LoadBugs(ModeType.Default);
                    break;



                //如果项目是[协同合作模式]:每一个Bug,分别在/Bug/Bug - 20200119080230555.json文件中
                case ModeType.Collaboration:
                    //Bug文件的路径(文件夹+文件名+后缀)
                    string _bugFilePath = BugFolderPath + "/Bug - " + _bugId + AppManager.Systems.ProjectSystem.OtherFileSuffix;

                    //FileInfo类 用于读取文件信息
                    FileInfo _bugFileInfo = new FileInfo(_bugFilePath);

                    /* 判断文件是否存在 */
                    if (_bugFileInfo.Exists == true)    //如果存在
                    {
                        //读取[Bug]的Json文本中的内容
                        string _bugJsonText = File.ReadAllText(_bugFilePath);

                        //然后把Json文本解析成BugBaseData对象
                        BugBaseData _bugBaseData = null;
                        try
                        {
                            _bugBaseData = JsonMapper.ToObject <BugBaseData>(_bugJsonText);
                        }
                        catch (Exception e)
                        {
                        }

                        //把BugBaseData对象,转化为BugData对象
                        BugData _bugData = BugBaseData.BaseDataToData(_bugBaseData);

                        //如果BugData的完整度为true
                        if (BugData.VerifyIntegrity(_bugData) == true)
                        {
                            //把BugData对象赋值
                            BugData _oldBugData = GetBugData(_bugData.Id); //通过BugId获取到旧的Bug对象
                            if (_oldBugData != null)                       //如果有旧的Bug对象
                            {
                                //如果旧的Bug和新的Bug有不同的地方
                                if (BugData.Compare(CompareType.All, _bugData, _oldBugData) == false)
                                {
                                    //修改旧的Bug对象的值
                                    _oldBugData.Name.Text     = _bugData.Name.Text;
                                    _oldBugData.Progress      = _bugData.Progress;
                                    _oldBugData.Priority      = _bugData.Priority;
                                    _oldBugData.CreateTime    = _bugData.CreateTime;
                                    _oldBugData.SolveTime     = _bugData.SolveTime;
                                    _oldBugData.UpdateTime    = _bugData.UpdateTime;
                                    _oldBugData.UpdateNumber  = _bugData.UpdateNumber;
                                    _oldBugData.TemperamentId = _bugData.TemperamentId;
                                    _oldBugData.IsDelete      = _bugData.IsDelete;
                                }
                            }
                            else
                            {
                                BugDatas.Add(_bugData);    //把读取到的Bug对象,添加到列表中
                            }
                        }
                    }
                    break;
                }
            }

            /* 如果有错误,就输出错误 */
            catch (Exception e)
            {
                //输出错误
                AppManager.Uis.ErrorUi.UiControl.TipContent = e.ToString();
                AppManager.Uis.ErrorUi.OpenOrClose(true);
            }
        }