Example #1
0
        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)));
            }
        }
Example #2
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));
        }