public ActionResult Approve(IssueModel model) { var issue = _issueRepository.GetById(model.Id); Validate(model, issue, WorkflowActionName.Approve); if (ModelState.IsValid) { issue = model.ToEntity(issue); if (issue.IsNew == true) { string number = _autoNumberService.GenerateNextAutoNumber(_dateTimeHelper.ConvertToUserTime(DateTime.UtcNow, DateTimeKind.Utc), issue); issue.Number = number; } //always set IsNew to false when saving issue.IsNew = false; //update attributes _issueRepository.Update(issue); //commit all changes in UI this._dbContext.SaveChanges(); //approve _issueService.Approve(issue); //notification SuccessNotification(_localizationService.GetResource("Record.Saved")); return(Json(new { number = issue.Number, isApproved = issue.IsApproved })); } else { return(Json(new { Errors = ModelState.SerializeErrors() })); } }