Exemplo n.º 1
0
        public BugsViewModel(int id)
        {
            var model = new BugManagementService().GetBug(id);

            BugId = id;
            SetParams(model);
        }
Exemplo n.º 2
0
        public AddOrEditBugViewModel(int bugId)
        {
            BugId = bugId;
            SavedAssignedDeveloperId = AssignedDeveloperId;

            if (bugId != 0)
            {
                var bug = BugManagementService.GetBug(bugId);
                BugId                    = bugId;
                CreatorId                = bug.ReporterId;
                ProjectId                = bug.ProjectId;
                SeverityId               = bug.SeverityId;
                StatusId                 = bug.StatusId;
                SymptomId                = bug.SymptomId;
                Steps                    = bug.Steps;
                ExpectedResult           = bug.ExpectedResult;
                Description              = bug.Description;
                Summary                  = bug.Summary;
                ReportingDate            = bug.ReportingDate;
                ModifyingDate            = bug.ModifyingDate;
                AssignedDeveloperId      = bug.AssignedDeveloperId;
                SavedAssignedDeveloperId = bug.AssignedDeveloperId;
                EditorId                 = bug.EditorId;
            }
        }
Exemplo n.º 3
0
        public List <BugLog> GetBugLogs()
        {
            var bugLogList = new BugManagementService().GetBugLogs(BugId).ToList();

            bugLogList.Reverse(0, bugLogList.Count);

            return(bugLogList);
        }
Exemplo n.º 4
0
        public void Save(int reporterId, int projectId)
        {
            if (projectId != 0)
            {
                ProjectId = projectId;
            }

            var bug = new Bug
            {
                Id                  = BugId,
                ReporterId          = CreatorId,
                ProjectId           = ProjectId,
                SeverityId          = SeverityId,
                StatusId            = StatusId,
                SymptomId           = SymptomId,
                Steps               = Steps,
                ExpectedResult      = ExpectedResult,
                Description         = Description,
                Summary             = Summary,
                ModifyingDate       = DateTime.Today,
                EditorId            = reporterId,
                AssignedDeveloperId = AssignedDeveloperId
            };

            if (BugId == 0)
            {
                bug.ReportingDate       = DateTime.Today;
                bug.StatusId            = 1;
                bug.AssignedDeveloperId = 0;
                bug.ReporterId          = WebSecurity.CurrentUserId;
            }
            else
            {
                bug.ReportingDate = BugManagementService.GetBug(BugId).ReportingDate;
                if (StatusId != 2 && SavedAssignedDeveloperId != AssignedDeveloperId)
                {
                    bug.AssignedDeveloperId = SavedAssignedDeveloperId;
                }
            }

            if (bug.StatusId == 1 || bug.StatusId == 8)
            {
                bug.AssignedDeveloperId = 0;
            }

            BugManagementService.SaveBug(bug);
        }
Exemplo n.º 5
0
        public void DeleteUserFromProject(int userId, int projectId)
        {
            var project = this.GetProject(projectId, includeBugs: true, includeUsers: true);

            if (project.CreatorId == userId)
            {
                this.DeleteProject(projectId);
                return;
            }

            var projectUsers = project.ProjectUsers.Where(e => e.UserId == userId).ToList();

            foreach (var projectUser in projectUsers)
            {
                this.DeleteProjectUser(projectUser.Id);
            }

            var reportedBugs = project.Bugs.Where(e => e.ReporterId == userId);

            foreach (var bug in reportedBugs)
            {
                bug.ReporterId = project.CreatorId;
                bug.EditorId   = WebSecurity.CurrentUserId;

                BugManagementService.SaveBug(bug);
            }

            var bugs = project.Bugs.Where(e => e.AssignedDeveloperId == userId || e.EditorId == userId);

            foreach (var bug in bugs)
            {
                if (bug.EditorId == userId)
                {
                    bug.EditorId = 0;
                }
                else
                {
                    bug.AssignedDeveloperId = 0;
                    bug.EditorId            = WebSecurity.CurrentUserId;
                }

                BugManagementService.SaveBug(bug);
            }
        }
Exemplo n.º 6
0
        public ActionResult EditBug(int id)
        {
            var bug = BugManagementService.GetBug(id);

            _currentProjectId = bug.ProjectId;

            var bugViewModel = new AddOrEditBugViewModel(id);

            _prevBugStatus = bugViewModel.StatusId;
            var projectUser =
                new ProjectManagementService().GetProjectUsers(bug.ProjectId).Single(e => e.UserId == WebSecurity.CurrentUserId);

            if ((projectUser.ProjectRoleId == 1 && bug.StatusId == 2) ||
                (projectUser.ProjectRoleId == 3 && bug.StatusId == 1))
            {
                return(PartialView("_EditBugFormWithAssignment", bugViewModel));
            }

            return(PartialView("_EditBugFormWithAssignment", bugViewModel));
        }
Exemplo n.º 7
0
        public DataTablesResult <BugListViewModel> GetAllBugs(DataTablesParam dataTableParam)
        {
            var searchString = dataTableParam.GetSearchString();
            var bugs         = BugManagementService.GetAllBugs(pageInfo: dataTableParam.ToPageInfo(), searchString: searchString);

            if (User.IsInRole("lector"))
            {
                if (_currentProjectId != 0)
                {
                    return(DataTableExtensions.GetResults(bugs.Items.Select(model => FromBug(model, PartialViewToString("_BugsGridActions", FromBug(model)))).Where(e => e.ProjectId == _currentProjectId), dataTableParam, bugs.TotalCount));
                }

                return(DataTableExtensions.GetResults(bugs.Items.Select(model => FromBug(model, PartialViewToString("_BugsGridActions", FromBug(model)))).Where(e => e.IsAssigned), dataTableParam, bugs.TotalCount));
            }

            if (_currentProjectId != 0)
            {
                return(DataTableExtensions.GetResults(bugs.Items.Select(FromBug).Where(e => e.ProjectId == _currentProjectId), dataTableParam, bugs.TotalCount));
            }

            return(DataTableExtensions.GetResults(bugs.Items.Select(FromBug).Where(e => e.IsAssigned), dataTableParam, bugs.TotalCount));
        }
Exemplo n.º 8
0
        public bool IsUserAnAssignedDeveloper()
        {
            var bug           = new BugManagementService().GetBug(_currentBugId);
            var context       = new ProjectManagementService();
            var projectRoleId = context.GetProjectUsers(bug.ProjectId).Single(e => e.UserId == WebSecurity.CurrentUserId).ProjectRoleId;

            if (bug.AssignedDeveloperId == 0 && projectRoleId == 1)
            {
                return(true);
            }
            else
            {
                if (bug.AssignedDeveloperId != WebSecurity.CurrentUserId && projectRoleId == 1)
                {
                    return(false);
                }
                else
                {
                    return(true);
                }
            }
        }
Exemplo n.º 9
0
 public JsonResult DeleteBug(int id)
 {
     BugManagementService.DeleteBug(id);
     return(Json(id));
 }