public async Task <bool> UpdateIssueAsync(UpdateIssueModel updateIssueModel) { if (_context.Issues.Any(issue => issue.Id == updateIssueModel.IssueId)) { try { //https://stackoverflow.com/questions/36144178/asp-net-web-api-controller-update-row var updateIssue = _context.Issues.FirstOrDefault(x => x.Id == updateIssueModel.IssueId); if (updateIssue != null) { updateIssue.IssueUserId = updateIssueModel.IssueUserId; updateIssue.IssueUserFirstName = updateIssueModel.IssueUserFirstName; updateIssue.Customer = updateIssueModel.CustomerName; updateIssue.ActivityStatus = updateIssueModel.ActiveStatus; updateIssue.FinishedStatus = updateIssueModel.FinishedStatus; updateIssue.CurrentStatus = updateIssueModel.CurrentStatusDecider(updateIssueModel.ActiveStatus, updateIssueModel.FinishedStatus); updateIssue.EditedDate = updateIssueModel.EditedDateTime(); await _context.SaveChangesAsync(); } return(true); } catch { } } return(false); }
public async Task <IActionResult> IssueUpdateAsync([FromBody] UpdateIssueModel updateIssueModel) { if (_identity.ValidateAccessRights(IdentityRequest())) { if (await _identity.UpdateIssueAsync(updateIssueModel)) { return(new OkResult()); } return(new BadRequestResult()); } return(new UnauthorizedResult()); }
public async Task <HttpResponseMessage> Update(UpdateIssueModel model, int projectId) { if (!ModelState.IsValid) { return(InvalidModelState(ModelState)); } var issue = DB.Issues.Where(a => a.Id == model.Id && a.ProjectId == projectId).FirstOrDefault(); if (issue == null) { return(Request.CreateResponse(HttpStatusCode.NotFound, "Can't find issue/bug ticket.")); } using (var context = DB) { using (var dbTrans = context.Database.BeginTransaction()) { try { issue.Title = model.Title; issue.Description = model.Description; issue.PriorityId = model.PriorityId; issue.LastUpdateDate = DateTime.UtcNow; issue.UpdatedBy = this.CurrentUserId; issue.StartDate = model.StartDate; issue.EndDate = model.EndDate; await DB.SaveChangesAsync(); if (model.AssingTo > 0) { var assignedPerson = context.IssueAssignments.Where(a => a.IssueId == issue.Id).FirstOrDefault(); if (assignedPerson != null && assignedPerson.UserId != model.AssingTo) { assignedPerson.UserId = model.AssingTo; } else if (assignedPerson == null) { context.IssueAssignments.Add(new IssueAssignment() { IssueId = issue.Id, UserId = model.AssingTo }); } await context.SaveChangesAsync(); } dbTrans.Commit(); } catch (DbEntityValidationException e) { dbTrans.Rollback(); throw new Exception("Error while creating entry", e); } } } return(StatusOk()); }