public JsonResult SubmitForTechnicalReview(ChangeRequirementViewModel vm) { var selectedRequirement = _requirementRepository.Get(vm.RequirementId); if (selectedRequirement != null) { selectedRequirement.RequirementStatus = RequirementStatus.NeedTechnicalReview; selectedRequirement.UpdatedByUserId = WebUser.Id; // Add it as an Activity var newActivity = new RequirementActivity { Title = "Needs Technical Review", Comment = vm.Comment, RequirementId = selectedRequirement.Id }; AddRequirementActivity(newActivity); _requirementRepository.Update(selectedRequirement); _unitOfWork.Commit(); return(Json(true)); } return(Json(false)); }
public async Task <RequirementResponse> UpdateAsync(int id, Requirement requirement) { var existingRequirement = await _requirementRepository.FindById(id); if (existingRequirement == null) { return(new RequirementResponse("Requirement not found")); } try { _requirementRepository.Update(existingRequirement); await _unitOfWork.CompleteAsync(); return(new RequirementResponse(existingRequirement)); } catch (Exception ex) { return(new RequirementResponse($"An error ocurred while updating the requirement: {ex.Message}")); } }
public ActionResult Update(RequirementUpdateModel vm) { ApiResult <Requirement> apiResult; if (ModelState.IsValid) { if (vm.Id > 0) { apiResult = TryExecute(() => { var selectedRequirement = _requirementRepository.Get(vm.Id); selectedRequirement.AssignedToUserId = vm.AssignedToUserId; selectedRequirement.ContactId = vm.ContactId; selectedRequirement.SourceId = vm.SourceId; selectedRequirement.CategoryId = vm.CategoryId; selectedRequirement.Title = vm.Title; selectedRequirement.Description = vm.Description; selectedRequirement.Url = vm.Url; selectedRequirement.BillingType = vm.BillingType; selectedRequirement.Budget = vm.Budget; selectedRequirement.PostedOn = vm.PostedOn; selectedRequirement.RespondedOn = vm.RespondedOn; selectedRequirement.UpdatedByUserId = WebUser.Id; selectedRequirement.UpdatedOn = DateTime.UtcNow; _requirementRepository.Update(selectedRequirement); _unitOfWork.Commit(); return(selectedRequirement); }, "Requirement updated sucessfully"); } else { apiResult = TryExecute(() => { var newRequirement = new Requirement { AssignedToUserId = vm.AssignedToUserId, ContactId = vm.ContactId, SourceId = vm.SourceId, CategoryId = vm.CategoryId, Title = vm.Title, Description = vm.Description, Url = vm.Url, BillingType = vm.BillingType, Budget = vm.Budget, PostedOn = vm.PostedOn, RespondedOn = vm.RespondedOn, CreatedByUserId = WebUser.Id }; _requirementRepository.Create(newRequirement); _unitOfWork.Commit(); return(newRequirement); }, "Requirement created sucessfully"); } } else { apiResult = ApiResultFromModelErrors <Requirement>(); } return(Json(apiResult, JsonRequestBehavior.AllowGet)); }