public ActionResult Datails(int id)
        {
            Issue issue = IssueBll.GetById(id);

            if (issue is null)
            {
                return(RedirectToAction("Index", "Error"));
            }
            return(View(issue));
        }
Exemple #2
0
 public ProjectController(ProjectBll projectBll, FileBll fileBll, IssueBll issueBll, UserBll userBll, LinkBll linkBll, ScheduleBll scheduleBll, UserModule.Bll.UserBll userModuleUserBll, LogBll logBll)
 {
     _projectBll        = projectBll;
     _fileBll           = fileBll;
     _issueBll          = issueBll;
     _userBll           = userBll;
     _linkBll           = linkBll;
     _scheduleBll       = scheduleBll;
     _userModuleUserBll = userModuleUserBll;
     _logBll            = logBll;
 }
        public ActionResult Handle(int id, string text)
        {
            Issue issue = IssueBll.GetById(id);

            issue.Status     = Status.Handled;
            issue.HandleTime = DateTime.Now;
            issue.Msg        = text;
            bool   b       = IssueBll.UpdateEntitySaved(issue);
            string content = System.IO.File.ReadAllText(Request.MapPath("/template/bugfeed.html")).Replace("{{title}}", issue.Title).Replace("{{link}}", issue.Link).Replace("{{text}}", text).Replace("{{date}}", issue.HandleTime.Value.ToString("yyyy-MM-dd HH:mm:ss"));

            BackgroundJob.Enqueue(() => CommonHelper.SendMail("bug提交反馈通知", content, issue.Email));
            return(ResultData(null, b, b ? "问题处理成功!" : "处理失败!"));
        }
        public ActionResult Submit(Issue issue)
        {
            issue.Description = Regex.Replace(issue.Description, @"<img\s+[^>]*\s*src\s*=\s*['""]?(\S+\.\w{3,4})['""]?[^/>]*/>", "<img src=\"$1\"/>");
            issue.IPAddress   = Request.UserHostAddress;
            Issue bug = IssueBll.AddEntitySaved(issue);

            if (bug != null)
            {
                MessageBll.AddEntitySaved(new InternalMessage()
                {
                    Title = $"来自【{issue.Name}({issue.Email})】的bug问题反馈", Content = bug.Description, Link = Url.Action("Index")
                });
                string content = System.IO.File.ReadAllText(Request.MapPath("/template/bugreport.html")).Replace("{{name}}", bug.Name).Replace("{{email}}", bug.Email).Replace("{{title}}", bug.Title).Replace("{{desc}}", bug.Description).Replace("{{link}}", bug.Link).Replace("{{date}}", bug.SubmitTime.ToString("yyyy-MM-dd HH:mm:ss"));
                BackgroundJob.Enqueue(() => CommonHelper.SendMail("bug提交通知", content, "*****@*****.**"));
                return(ResultData(issue, true, "问题提交成功,感谢您的反馈!"));
            }
            return(ResultData(null, false, "提交失败!"));
        }
        public ActionResult PageData(int page = 1, int size = 10, string kw = "")
        {
            UserInfoOutputDto user = Session.GetByRedis <UserInfoOutputDto>(SessionKey.UserInfo) ?? new UserInfoOutputDto();
            List <Issue>      list = string.IsNullOrEmpty(kw) ? IssueBll.LoadPageEntitiesNoTracking(page, size, out int total, i => i.Level != BugLevel.Fatal || user.IsAdmin, i => i.SubmitTime, false).ToList() : IssueBll.LoadPageEntitiesNoTracking(page, size, out total, i => (i.Level != BugLevel.Fatal || user.IsAdmin) && (i.Description.Contains(kw) || i.Title.Contains(kw) || i.Name.Contains(kw) || i.Email.Contains(kw) || i.Link.Contains(kw)), i => i.SubmitTime, false).ToList();
            var pageCount          = Math.Ceiling(total * 1.0 / size).ToInt32();

            return(PageResult(list.Select(i => new
            {
                i.Id,
                i.Name,
                i.Email,
                i.Title,
                i.Link,
                i.Description,
                i.SubmitTime,
                i.HandleTime,
                Status = i.Status.GetDisplay(),
                Level = i.Level.GetDisplay()
            }), pageCount, total));
        }
        public ActionResult Delete(int id)
        {
            bool b = IssueBll.DeleteByIdSaved(id);

            return(ResultData(null, b, b ? "删除成功!" : "删除失败!"));
        }