Exemple #1
0
        public ApiMessage GetBugFullInfo()
        {
            BBug            data       = new BBug();
            ApiMessage      message    = new ApiMessage();
            HttpContextBase context    = (HttpContextBase)Request.Properties["MS_HttpContext"];
            HttpRequestBase request    = context.Request;
            string          user_id    = User.Identity.Name;
            BugManager      bugManager = new BugManager(int.Parse(user_id));

            try
            {
                int bugId = 0;
                int.TryParse(request["bug_id"], out bugId);
                data         = bugManager.GetBugInfo(bugId);
                message.Item = data;
            }
            catch (KMJXCException kex)
            {
                message.Status  = "failed";
                message.Message = kex.Message;
            }
            catch (Exception ex)
            {
                message.Status  = "failed";
                message.Message = "未知错误";
            }

            return(message);
        }
Exemple #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="bug"></param>
        /// <returns></returns>
        public bool CreateNewBug(BBug bug)
        {
            if (bug.Created_By == null)
            {
                throw new KMJXCException("创建Bug时必须有创建人");
            }
            bool result = false;

            using (KuanMaiEntities db = new KuanMaiEntities())
            {
                Bug dbBug = new Bug();
                dbBug.Created = DateTimeUtil.ConvertDateTimeToInt(DateTime.Now);
                if (bug.Created_By != null)
                {
                    dbBug.Created_By = bug.Created_By.ID;
                }
                dbBug.Description = bug.Description;
                if (bug.Feature != null)
                {
                    dbBug.Feature = bug.Feature.ID;
                }
                dbBug.Function    = 0;
                dbBug.Modified    = dbBug.Created;
                dbBug.Modified_By = dbBug.Created_By;
                dbBug.Resolved    = 0;
                dbBug.Resolved_By = 0;
                dbBug.Status      = 1;
                dbBug.Title       = bug.Title;
                db.Bug.Add(dbBug);
                db.SaveChanges();
                result = true;
            }
            return(result);
        }
Exemple #3
0
        public ActionResult BugDetail(string id)
        {
            string     user_id    = HttpContext.User.Identity.Name;
            BugManager bugManager = new BugManager(int.Parse(user_id));

            int bug_id = 0;

            int.TryParse(id, out bug_id);
            if (bug_id == 0)
            {
                Redirect("/Home/Error?message=问题编号不能为空");
            }

            BBug bug = bugManager.GetBugInfo(bug_id);

            return(View(bug));
        }
Exemple #4
0
        public ApiMessage CreateBug()
        {
            ApiMessage message = new ApiMessage()
            {
                Status = "ok"
            };
            HttpContextBase context    = (HttpContextBase)Request.Properties["MS_HttpContext"];
            HttpRequestBase request    = context.Request;
            string          user_id    = User.Identity.Name;
            BugManager      bugManager = new BugManager(int.Parse(user_id));
            int             feature    = 0;

            int.TryParse(request["feature"], out feature);
            try
            {
                BBug newBug = new BBug();
                newBug.Created_By  = bugManager.CurrentUser;
                newBug.Created     = DateTimeUtil.ConvertDateTimeToInt(DateTime.Now);
                newBug.Modified_By = bugManager.CurrentUser;
                newBug.Modified    = newBug.Created;
                newBug.Status      = new BBugStatus()
                {
                    ID = 1
                };
                newBug.Title       = HttpUtility.HtmlDecode(request["title"]);
                newBug.Description = HttpUtility.HtmlDecode(request["description"]);
                newBug.Feature     = new BBugFeature()
                {
                    ID = feature
                };

                bool result = bugManager.CreateNewBug(newBug);
            }
            catch (KMJXCException kex)
            {
                message.Status  = "failed";
                message.Message = kex.Message;
            }
            catch (Exception ex)
            {
                message.Status  = "failed";
                message.Message = "未知错误";
            }

            return(message);
        }
Exemple #5
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="bug"></param>
        /// <returns></returns>
        public bool UpdateBug(BBug bug)
        {
            if (bug.Modified_By == null)
            {
                throw new KMJXCException("更新Bug时必须有更新人");
            }
            bool result = false;

            using (KuanMaiEntities db = new KuanMaiEntities())
            {
                Bug existed = (from b in db.Bug where b.ID == bug.ID select b).FirstOrDefault <Bug>();
                if (existed == null)
                {
                    throw new KMJXCException("所需更新的Bug信息不存在");
                }

                if (bug.Status != null)
                {
                    existed.Status = bug.Status.ID;
                }

                if (bug.Modified_By != null)
                {
                    existed.Modified_By = bug.Modified_By.ID;
                    existed.Modified    = DateTimeUtil.ConvertDateTimeToInt(DateTime.Now);
                }
                if (!string.IsNullOrEmpty(bug.Title))
                {
                    existed.Title = bug.Title;
                }

                if (!string.IsNullOrEmpty(bug.Description))
                {
                    existed.Description = bug.Description;
                }
                db.SaveChanges();
                result = true;
            }
            return(result);
        }
Exemple #6
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="bug_id"></param>
        /// <returns></returns>
        public BBug GetBugInfo(int bug_id)
        {
            BBug bug = null;

            using (KuanMaiEntities db = new KuanMaiEntities())
            {
                var tmp = from b in db.Bug
                          join feature in db.Bug_Feature on b.Feature equals feature.ID into LFeature
                          from l_feature in LFeature.DefaultIfEmpty()
                          join user in db.User on b.Created_By equals user.User_ID into lCreatedBy
                          from createdBy in lCreatedBy.DefaultIfEmpty()
                          join user_r in db.User on b.Resolved_By equals user_r.User_ID into LResolved
                          from resolved in LResolved.DefaultIfEmpty()
                          join status in db.Bug_Status on b.Status equals status.ID into LStatus
                          from l_status in LStatus.DefaultIfEmpty()
                          where b.ID == bug_id
                          select new BBug
                {
                    Created    = b.Created,
                    Created_By = new BUser
                    {
                        ID        = createdBy.User_ID,
                        Name      = createdBy.Name,
                        Mall_Name = createdBy.Mall_Name
                    },
                    Description = b.Description,
                    Title       = b.Title,
                    Status      = new BBugStatus
                    {
                        ID   = l_status.ID,
                        Name = l_status.Status
                    },
                    ID      = b.ID,
                    Feature = new BBugFeature
                    {
                        ID   = l_feature.ID,
                        Name = l_feature.Description
                    },
                    Modified    = (long)b.Modified,
                    Resolved_By = resolved != null ? new BUser
                    {
                        ID        = resolved.User_ID,
                        Name      = resolved.Name,
                        Mall_Name = resolved.Mall_Name
                    } : new BUser
                    {
                        ID        = 0,
                        Name      = "",
                        Mall_Name = ""
                    },
                };

                bug = tmp.FirstOrDefault <BBug>();
                if (bug != null)
                {
                    var tmpRes = from bs in db.Bug_Response
                                 join user in db.User on bs.Create_By equals user.User_ID into LUser
                                 from l_user in LUser.DefaultIfEmpty()
                                 where bs.BugID == bug_id
                                 select new BBugResponse
                    {
                        Created    = bs.Created,
                        Created_By = l_user != null ? new BUser
                        {
                            ID        = l_user.User_ID,
                            Name      = l_user.Name,
                            Mall_Name = l_user.Mall_Name
                        } : new BUser
                        {
                            ID        = 0,
                            Name      = "",
                            Mall_Name = ""
                        },
                        Description = bs.Description,
                        ID          = bs.ID
                    };

                    bug.Responses = tmpRes.ToList <BBugResponse>();
                }
            }
            return(bug);
        }