コード例 #1
0
        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));
        }
コード例 #2
0
        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}"));
            }
        }
コード例 #3
0
        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));
        }