private async Task <IActionResult> ProceedCommand(long id, UpdateInputModel inputModel) { if (!ModelState.IsValid) { return(RedirectToPage("View", new { id })); } var user = await _userService.GetUserAsync(User); var ar = await _projectService.IsUserHasAccess(id, user.Id); if (!ar) { return(Forbid()); } var update = await _projectService.CreateUpdate(id, inputModel, user); if (update is null) { return(Forbid()); } return(RedirectToPage("View", new { id })); }
public async Task UpdateAdAsync_ShouldAdjustTheAdCorrectly() { AutoMapperConfig.RegisterMappings(typeof(UpdateInputModel).Assembly); var newDescription = "Бих искал да си наема кон!"; var newTitle = "Търся брокер за отдаване под наем"; var newCategoryId = 2; var newBudget = "500 лева"; var model = new UpdateInputModel { Id = "2", Description = newDescription, Title = newTitle, JobCategoryId = newCategoryId, PreparedBudget = newBudget, CityId = 1, UserId = "1", }; var desiredAdId = "2"; await this.service.UpdateAdAsync(model); var updatedAd = await this.service.GetAdDetailsByIdAsync <UpdateInputModel>(desiredAdId); Assert.Equal(newBudget, updatedAd.PreparedBudget); Assert.Equal(newTitle, updatedAd.Title); Assert.Equal(newDescription, updatedAd.Description); Assert.Equal(newCategoryId, updatedAd.JobCategoryId); }
public async Task <IActionResult> Update(UpdateInputModel input) { Guid guidPostId = input.PostId != null?Guid.Parse(input.PostId) : Guid.Empty; var result = await _postService.Update(guidPostId, input.Title, input.Description, DateTime.UtcNow); if (result == Status.Ok) { return(Ok(new Response { Status = result, Error = "" })); } else if (result == Status.InvalidData) { return(BadRequest(new Response { Status = result, Error = "" })); } else { return(StatusCode(500, (new Response { Status = result, Error = "" }))); } }
public async Task UpdateAdAsync(UpdateInputModel model) { var ad = this.adsRepository.All().FirstOrDefault(x => x.Id == model.Id); ad.CityId = model.CityId; ad.Description = model.Description; ad.Title = model.Title; ad.PreparedBudget = model.PreparedBudget; ad.JobCategoryId = model.JobCategoryId; this.adsRepository.Update(ad); await this.adsRepository.SaveChangesAsync(); }
private async Task <IActionResult> ProceedCreate(UpdateInputModel initial) { if (!ModelState.IsValid) { return(RedirectToPage()); } var user = await _userService.GetUserAsync(User); var project = await _projectService.CreateProject(user, (ICreateFileInputModel)initial); await _projectService.CreateUpdate(project.ProjectId, initial, user); return(RedirectToPage("View", new { id = project.ProjectId })); }
public async Task <IActionResult> Edit(UpdateInputModel inputModel) { if (this.userManager.GetUserId(this.User) == inputModel.UserId) { return(this.CustomAccessDenied()); } if (!this.ModelState.IsValid) { inputModel.Cities = await this.citiesService.GetAllCitiesAsync <CitySimpleViewModel>(); inputModel.Categories = await this.categoriesService.GetAllCategoriesAsync <CategorySimpleViewModel>(); return(this.View(inputModel)); } await this.adsService.UpdateAdAsync(inputModel); // TODO Find a way to show this meesage only after the ad's been adjusted // this.TempData["Message"] = "Успешно коригирахте своята обява!"; return(this.RedirectToAction(nameof(this.MyAds))); }
public async Task <IActionResult> SetInput([FromBody] UpdateInputModel model) { try { await _configurationService.UpdateRuleInputAsync( model.MerchantId, model.RuleId, model.RuleInput.ToString()); return(Ok()); } catch (EntityNotFoundException e) { _log.Error(e, $"PartitionKey = {e.PartitionKey}, RowKey = {e.RowKey}"); return(NotFound(ErrorResponse.Create($"Configuration not found for rule {model.RuleId}"))); } catch (ValidationRuleNotFoundException e) { _log.Error(e, model.ToDetails()); return(NotFound(ErrorResponse.Create($"Rule with id {model.RuleId} not found"))); } catch (InvalidInputException e) { _log.Error(e, model.ToDetails()); return(BadRequest(e.ToErrorResponse())); } catch (InputNotRequiredException e) { _log.Error(e, e.Message, $"ruleId = {e.RuleId}"); return(BadRequest(ErrorResponse.Create(e.Message))); } }