public async Task Update_BadModelState() { var ctl = CreateTagsController(); ctl.ModelState.AddModelError("", "error"); var request = new EditTagRequest(); var result = await ctl.Update(request); Assert.IsInstanceOf <BadRequestObjectResult>(result); }
public async Task Update_OK() { var ctl = CreateTagsController(); var request = new EditTagRequest { NewName = "fubao", TagId = 996 }; var result = await ctl.Update(request); Assert.IsInstanceOf <OkResult>(result); }
public async Task <IActionResult> Edit([FromBody] EditTagRequest request, [FromRoute] int accountId) { if (!ModelState.IsValid) { return(BadRequest(ModelState.GetErrorMessages())); } var response = await _tagService.EditAsync(request, accountId); if (!response.IsValid) { return(BadRequest(response.Message)); } return(Ok(response)); }
public async Task <BaseResponse> EditAsync(EditTagRequest request, int accountId) { var tag = await _tagRepository.GetAsync(tag => tag.Id == request.Id && tag.AccountId == accountId); if (tag == null) { return(new BaseResponse("Tag is not found")); } tag.Title = request.Title; tag.Description = request.Description; tag.PlannedBudget = request.PlannedBudget; _tagRepository.Update(tag); await _unitOfWork.SaveChangesAsync(); return(new BaseResponse()); }
public async Task <ActionResult <EditTagResult> > EditTag([FromBody] EditTagRequest request) { if (!await _authManager.HasSitePermissionsAsync(request.SiteId, Types.SitePermissions.WxUsers)) { return(Unauthorized()); } List <WxUserTag> tags = null; var(success, token, _) = await _wxManager.GetAccessTokenAsync(request.SiteId); if (success) { await _wxManager.UpdateUserTag(token, request.TagId, request.TagName); tags = await _wxManager.GetUserTagsAsync(token); } return(new EditTagResult { Tags = tags }); }
public async Task <IActionResult> EditTag([FromRoute(Name = "tag_id")] Int32 tagId, [FromBody] EditTagRequest request) { // validate input if (!ModelState.IsValid) { return(HttpResult.BadRequest(ModelState)); } // locate tag var foundTag = await _bagsContext.Tags .WithSafeIncludes() .Where(tag => tag.Id == tagId) .SingleOrDefaultAsync(); if (foundTag == null) { return(HttpResult.NotFound()); } // verify there are changes if (foundTag.TagCategoryId == request.CategoryId && foundTag.Name == request.Name) { return(HttpResult.Ok(foundTag.ToSafeExpandedWireFormat())); } // locate the new category var newCategory = await _bagsContext.TagCategories .Where(category => category.Id == request.CategoryId) .SingleOrDefaultAsync(); if (newCategory == null) { return(HttpResult.BadRequest($"Category {request.CategoryId} does not exist.")); } // verify no conflict on unique constraint var duplicateTag = await _bagsContext.Tags .WithSafeIncludes() .Where(tag => tag.TagCategoryId == request.CategoryId && tag.Name == request.Name) .SingleOrDefaultAsync(); if (duplicateTag != null) { return(HttpResult.Conflict(duplicateTag.ToSafeExpandedWireFormat())); } // change the category/name foundTag.TagCategory = newCategory; foundTag.Name = request.Name; await _bagsContext.SaveChangesAsync(); return(HttpResult.Ok(foundTag.ToSafeExpandedWireFormat())); }