Ejemplo n.º 1
0
        private void btnTurnToProblemTrace_Click(object sender, EventArgs e)
        {
            var key = this.dataGridViewExt1.CurrentRow.Cells["ID"].Value;

            if (key == null)
            {
                MessageBox.Show("请先选择一行数据");
            }
            else
            {
                var dealPerson = this.dataGridViewExt1.CurrentRow.Cells["DealPerson"].Value;
                if (dealPerson == null || string.IsNullOrWhiteSpace(dealPerson.ToString()))
                {
                    MessageBox.Show("当前任务没有负责人,不能下发");
                    return;
                }

                if (MessageBox.Show("您确定要下发任务吗?", "提示:", MessageBoxButtons.OKCancel, MessageBoxIcon.Asterisk) == DialogResult.OK)
                {
                    int id = Convert.ToInt32(key);
                    using (BugTraceEntities context = new BugTraceEntities(EntityContextHelper.GetEntityConnString()))
                    {
                        #region 验证是否已经下发任务
                        var problemTraceList = context.PPM_ProblemTrace.Where(p => p.ProjectPlanID == id);
                        if (problemTraceList != null && problemTraceList.Count() > 0)
                        {
                            MessageBox.Show("任务已经下发!");
                            return;
                        }
                        #endregion
                        var projectPlan  = context.PPM_ProjectPlan.Where(p => p.ID == id).FirstOrDefault();
                        var problemTrace = new PPM_ProblemTrace()
                        {
                            ProjectCode    = projectPlan.ProjectCode,
                            Module         = projectPlan.Activity,
                            Problem        = projectPlan.Task,
                            FindPerson     = UserInfo.GetInstence().UserName,
                            FindPersonCode = UserInfo.GetInstence().UserCode,
                            FindDate       = DateTime.Now,
                            DealPerson     = projectPlan.ResourceName,
                            DealPersonCode = projectPlan.ResourceCode,
                            Status         = projectPlan.Status,
                            DeleteFlag     = 0,
                            CreateDate     = DateTime.Now,
                            CreatePerson   = UserInfo.GetInstence().UserCode,
                            UpdateDate     = DateTime.Now,
                            UpdatePerson   = UserInfo.GetInstence().UserCode,
                            ProblemType    = projectPlan.PlanType,
                            ProjectPlanID  = projectPlan.ID,
                            IsRepeat       = "否"
                        };
                        context.PPM_ProblemTrace.Add(problemTrace);
                        context.SaveChanges();
                        MessageBox.Show("任务下发成功!");
                        _loacateIndex = true;
                        this.DataBind();
                    }
                }
            }
        }
Ejemplo n.º 2
0
        private void SaveProblemTrace(bool hasUpload)
        {
            PPM_ProblemTrace problemTrace;

            using (BugTraceEntities zEntity = new BugTraceEntities(EntityContextHelper.GetEntityConnString()))
            {
                UserInfo currUser = UserInfo.GetInstence();
                if (this._problemTraceID == -1)
                {
                    problemTrace = new PPM_ProblemTrace();
                }
                else
                {
                    problemTrace = zEntity.PPM_ProblemTrace.Where(p => p.ID == this._problemTraceID).FirstOrDefault();
                }
                problemTrace.ProjectCode    = currUser.DefaultProjectCode;
                problemTrace.Module         = this.txtModule.Text;
                problemTrace.FindPersonCode = this.cbxFindPerson.SelectedValue.ToString();
                problemTrace.FindPerson     = this.cbxFindPerson.Text;
                problemTrace.Problem        = this.txtProblem.Text;
                problemTrace.DealPersonCode = this.cbxDealPerson.SelectedValue.ToString();
                problemTrace.DealPerson     = this.cbxDealPerson.Text;
                //problemTrace.ProjectUse = this.cbxProjectUse.Text;
                if (!string.IsNullOrWhiteSpace(this.dtBeginDealDate.Text))
                {
                    problemTrace.BeginDealDate = Convert.ToDateTime(this.dtBeginDealDate.Text);
                }
                else
                {
                    problemTrace.BeginDealDate = null;
                }
                if (!string.IsNullOrWhiteSpace(this.dtEndDealDate.Text))
                {
                    problemTrace.EndDealDate = Convert.ToDateTime(this.dtEndDealDate.Text);
                }
                problemTrace.Solution    = this.txtSolution.Text;
                problemTrace.Status      = this.cbxStatus.Text;
                problemTrace.ProblemType = this.cbxProblemType.Text;
                if (problemTrace.Status == "未通过")
                {
                    problemTrace.TestFlag = 0;
                }
                problemTrace.UpdateDate   = DateTime.Now;
                problemTrace.UpdatePerson = currUser.UserCode;
                problemTrace.IsRepeat     = this.cbxIsRepeat.Text;
                if (problemTrace.Status == "未开始" || problemTrace.Status == "进行中" || problemTrace.Status == "未通过")
                {
                    problemTrace.EndDealDate = null;
                }
                if (problemTrace.Status == "发版关闭")
                {
                    problemTrace.TestPersonCode = UserInfo.GetInstence().UserCode;
                    problemTrace.TestPerson     = UserInfo.GetInstence().UserName;
                    problemTrace.TestPassDate   = DateTime.Now;
                }
                if (this._problemTraceID == -1)
                {
                    problemTrace.FindDate     = DateTime.Now;
                    problemTrace.CreateDate   = DateTime.Now;
                    problemTrace.CreatePerson = currUser.UserCode;
                    problemTrace.DeleteFlag   = 0;
                    zEntity.PPM_ProblemTrace.Add(problemTrace);
                }
                if (hasUpload)//有上传附件
                {
                    problemTrace.AttachmentName       = Path.GetFileName(this.txtAttachment.Text);
                    problemTrace.AttachmentUniqueID   = this._attachmentUniqueID;
                    problemTrace.AttachmentCreateBy   = UserInfo.GetInstence().UserCode;
                    problemTrace.AttachmentCreateDate = DateTime.Now;
                }
                if (problemTrace.Status == "进行中")
                {
                    problemTrace.BeginDealDate = DateTime.Now;
                }
                #region 保存图片
                if (this._problemTraceID != -1)
                {//删除以前的图片
                    var delImage = zEntity.PPM_ProblemTraceImage.Where(p => p.ProblemTraceID == this._problemTraceID);
                    zEntity.PPM_ProblemTraceImage.RemoveRange(delImage);
                }
                int i = 1;
                foreach (Control item in flowLayoutPanel1.Controls)
                {
                    PictureBox pictureBox = item as PictureBox;
                    if (pictureBox != null)
                    {
                        PPM_ProblemTraceImage image = new PPM_ProblemTraceImage()
                        {
                            ID          = pictureBox.Tag.ToString(),
                            StorageType = 1,
                            SerialNo    = i++,
                            ImageFile   = ImageToBytes(pictureBox.Image),
                        };
                        problemTrace.PPM_ProblemTraceImage.Add(image);
                    }
                }
                #endregion
                zEntity.SaveChanges();
            }
            MessageBox.Show("保存成功!");
            this.Close();
            try
            {
                var problemTraceList = FormSingle.GetForm(typeof(ProblemTraceList)) as ProblemTraceList;
                problemTraceList.SearchClick();
                bool isExist = FormSingle.IsExist(typeof(ProjectPlanList));
                if (isExist)
                {
                    var tempForm = FormSingle.GetForm(typeof(ProjectPlanList)) as ProjectPlanList;
                    tempForm.SearchClick();
                }
            }
            catch (Exception ex)
            {
                MyLog.LogError("保存问题跟踪后刷新列表页面失败!", ex);
            }
        }