public BugsViewModel(int id) { var model = new BugManagementService().GetBug(id); BugId = id; SetParams(model); }
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; } }
public List <BugLog> GetBugLogs() { var bugLogList = new BugManagementService().GetBugLogs(BugId).ToList(); bugLogList.Reverse(0, bugLogList.Count); return(bugLogList); }
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); }
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); } }
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)); }
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)); }
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); } } }
public JsonResult DeleteBug(int id) { BugManagementService.DeleteBug(id); return(Json(id)); }