public HttpResponseMessage DeleteIssue(int issueId) { ApiResult result; try { String locationName = ""; var images = _imageRepository.GetImagesForIssue(issueId); if (images.Count > 0) { int locationId = _issueRepository.GetLocationIdForIssue(issueId); if (locationId == null) { return(Request.CreateErrorResponse(HttpStatusCode.NotFound, "Issue for image does not exists, or access denied")); } var location = _locationRepository.Get(locationId); if (location == null) { return(Request.CreateErrorResponse(HttpStatusCode.NotFound, "Location not found")); } locationName = location.Name; } _issueRepository.Delete(issueId, User.Identity.Name); // delete images from disk foreach (var image in images) { DeleteImageFile(locationName, image); } result = ApiResult.Success; } catch (LocationNotFoundException) { result = ApiResult.LocationNotFound; } catch (UserNotFoundException) { result = ApiResult.UserNotFound; } catch (UnauthorizedAccessException) { return(new HttpResponseMessage(HttpStatusCode.Unauthorized)); } catch (IssueNotFoundException) { result = ApiResult.IssueNotFound; } catch (Exception) { return(new HttpResponseMessage(HttpStatusCode.InternalServerError)); } return(Request.CreateResponse(HttpStatusCode.OK, new ApiResponse { Result = result })); }
public async Task <bool> DeleteIssueAsync(Guid issueId) { var issue = new Issue { Id = issueId }; _issueRepository.Delete(issue); var deleted = await _issueRepository.SaveAsync().ConfigureAwait(false); return(deleted > 0); }
public async Task <IActionResult> DeleteIssue(int issueId) { var userId = userManager.GetUserId(User); var currentUser = await userManager.FindByIdAsync(userId); var userClaims = await userManager.GetClaimsAsync(currentUser); Global.globalCurrentUserClaims = userClaims.ToList(); var issue = _issueRepository.Delete(issueId); return(RedirectToAction("ProjectIssues", "Project", new { projectId = issue.AssociatedProject })); }
public ActionResult DeleteConfirmed(Guid?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Issue issue = repo.ReadOne(id); if (issue == null) { return(HttpNotFound()); } repo.Delete(issue); return(RedirectToAction("Index")); }
public async Task <IActionResult> Delete(int?issue) { if (!issue.HasValue) { return(StatusCode(400, "Invalid parameter(s).")); } //Remove issue var succeeded = await _issueRepository.Delete(issue.Value); if (!succeeded) { return(StatusCode(500, "A problem occured while removing the issue. Please try again!")); } return(Ok()); }
public IHttpActionResult Delete(int id) { _issueRepository.Delete(id); return(new StatusCodeResult(HttpStatusCode.NoContent, Request)); }
public async Task <IActionResult> DeleteIssueById(string id) { return(Ok(await _repository.Delete(id))); }
public async Task <ActionResult> DeleteIssuesConfirmation([Bind(include: "selectedIssuesDelete")] ProjectManagementViewModel projectManagementViewModel) { Project Project = new Project(); List <string> projectIssues = new List <string>(); List <Issue> IssueList = new List <Issue>(); string ProjectIDCode = ""; foreach (var issueSelected in projectManagementViewModel.selectedIssuesDelete) { Issue Issue = await _issueRepository.GetIssue(issueSelected); ProjectIDCode = Issue.ProjectIDCode; // Delete issue from project Project = await _projectRepository.GetProject(ProjectIDCode); projectIssues = Project.Issues; projectIssues.Remove(Issue.IDCode + ":" + Issue.Title); Project.Issues = projectIssues; await _projectRepository.Update(Project); // Delete issues from users if (Issue.Users != null) { foreach (var user in Issue.Users) { User User = await _userRepository.GetUser(user); if (User.Issues != null) { List <string> newIssueList = new List <string>(); foreach (var issue in User.Issues) { if (!(Issue.ProjectIDCode + "-" + issueSelected).Equals(issue.Split(':')[0])) { newIssueList.Add(issue); } else { IssueList.Add(await _issueRepository.GetIssue(issue.Split(':')[0].Replace("\"", "").Split('-')[1])); } } User.Issues = newIssueList; } await _userRepository.Update(User); } } } await _issueRepository.Delete(IssueList); return(RedirectToAction("Index", await _projectRepository.GetProject(ProjectIDCode))); }