public async Task <IActionResult> UpdateRequirement(RequirementUpdateModel model) { if (ModelState.IsValid) { var cmd = new UpdateRequirementCommand(model.Id, model.VacancyId, model.ClientId, model.SkillType, model.RequirementType, model.Content); var result = await _mediator.Send(cmd); if (result.IsFailure) { ViewBag.Notify = result.Error; // todo: toastr } } if (model.VacancyId != Guid.Empty) { return(RedirectToAction(nameof(ClientController.Requirements), new { client = model.ClientId, vacancy = model.VacancyId })); } else { return(RedirectToAction(nameof(ClientController.Index))); } }
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)); }