예제 #1
0
        public async Task <IActionResult> SaveBug(DetailedBugDto detailedBugDto, string status)
        {
            if (!ModelState.IsValid)
            {
                var bugModel = new DetailedBugViewModel
                {
                    DetailedBugDto = new DetailedBugDto(),
                    Criticalities  = _context.Criticality.ToList(),
                    Priorities     = _context.Priority.ToList()
                };

                return(View("NewBug", bugModel));
            }

            switch (status)
            {
            case "Open":
                detailedBugDto.StatusId = 2;
                break;

            case "Resolve":
                detailedBugDto.StatusId = 3;
                break;

            case "Close":
                detailedBugDto.StatusId = 4;
                break;

            default:
                detailedBugDto.StatusId = 1;
                break;
            }

            var bug = _context.Bugs.SingleOrDefault(b => b.Id == detailedBugDto.Id);

            if (bug == null)
            {
                bug = Mapper.Map <DetailedBugDto, Bug>(detailedBugDto);
                _context.Bugs.Add(bug);
            }
            else
            {
                bug.Description   = detailedBugDto.Description;
                bug.PriorityId    = detailedBugDto.PriorityId;
                bug.CriticalityId = detailedBugDto.CriticalityId;
                bug.StatusId      = detailedBugDto.StatusId;
            }
            var bugRecord = Mapper.Map <Bug, BugHistoryDto>(bug);

            bugRecord.Description = detailedBugDto.Comment;

            await SaveToHistoryAsyncResult(bugRecord);

            return(View("Index"));
        }
예제 #2
0
        public IActionResult NewBug()
        {
            var bugModel = new DetailedBugViewModel
            {
                DetailedBugDto = new DetailedBugDto
                {
                    Comment     = "The issue created",
                    DateCreated = DateTime.Now,
                    UserId      = _userManager.GetUserId(HttpContext.User),
                    StatusId    = 1
                },
                Criticalities = _context.Criticality.ToList(),
                Priorities    = _context.Priority.ToList()
            };

            return(View(bugModel));
        }
예제 #3
0
        public IActionResult ViewBug(string id)
        {
            var bug = _context.Bugs.
                      Include(b => b.User).
                      Include(b => b.Status).
                      SingleOrDefault(b => b.Id == id);

            if (bug == null)
            {
                return(NotFound());
            }

            var bugModel = new DetailedBugViewModel
            {
                DetailedBugDto = Mapper.Map <Bug, DetailedBugDto>(bug),
                Priorities     = _context.Priority.ToList(),
                Criticalities  = _context.Criticality.ToList()
            };

            return(bugModel.DetailedBugDto.StatusId == 4 ? View("ClosedViewBug", bugModel) : View("ViewBug", bugModel));
        }