public async Task <LabelManageModel> AddAsync(string user, long group, LabelAddModel model) { if (model == null) { return(null); } var groupModel = await _groupService.GetByIdAsync(group); if (groupModel == null) { throw new KeyNotFoundException(group.ToString()); } if (!groupModel.Users.Any(u => u.Id.Equals(user))) { throw new ForbidException(); } var objToAdd = _mapper.Map <LabelModel>(model); objToAdd.GroupId = group; _unitOfWork.BeginTransaction(); var objAdded = await _repository.AddAsync(objToAdd); var result = await _unitOfWork.CommitAsync(); return(result > 0 ? _mapper.Map <LabelManageModel>(objAdded) : null); }
public IHttpActionResult LabelAdd(LabelAddModel model) { ApiServerMsg result = new ApiServerMsg(); try { if (XzyWebSocket._dicSockets.ContainsKey(model.uuid)) { var res = XzyWebSocket._dicSockets[model.uuid].weChatThread.Wx_EAddContactLabel(model.name); result.Success = true; result.Context = res; return(Ok(result)); } else { result.Success = false; result.Context = "不存在该websocket连接"; return(Ok(result)); } } catch (Exception e) { result.Success = false; result.ErrContext = e.Message; return(Ok(result)); } }
public async Task Label_PostWithInvalid_ShouldReturnForbid() { var model = new LabelAddModel { Name = "New label" }; var results = await _controller.Post(DefaultInvalidGroup, model); results.Should().BeOfType <BadRequestResult>(); }
public async Task Label_PostWithInvalidUser_ShouldReturnForbid() { MockUser(_controller, DefaultInvalidUser); var model = new LabelAddModel { Name = "New label" }; var results = await _controller.Post(DefaultGroup, model); results.Should().BeOfType <ForbidResult>(); }
public async Task Label_Post_ShouldReturnData() { var model = new LabelAddModel { Name = "New label", }; var results = await _controller.Post(DefaultGroup, model); results .Should().BeOfType <OkObjectResult>() .Which.Value.Should().BeAssignableTo <LabelManageModel>() .Which.Should().NotBeNull(); }
public IHttpActionResult LabelAdd(LabelAddModel model) { ApiServerMsg apiServerMsg = new ApiServerMsg(); try { if (XzyWebSocket._dicSockets.ContainsKey(model.uuid)) { string context = XzyWebSocket._dicSockets[model.uuid].weChatThread.Wx_EAddContactLabel(model.name); apiServerMsg.Success = true; apiServerMsg.Context = context; return(Ok(apiServerMsg)); } apiServerMsg.Success = false; apiServerMsg.Context = "不存在该websocket连接"; return(Ok(apiServerMsg)); } catch (Exception ex) { apiServerMsg.Success = false; apiServerMsg.ErrContext = ex.Message; return(Ok(apiServerMsg)); } }
public async Task <IActionResult> Post(long group, [FromBody] LabelAddModel value) { var userId = _validateHelper.GetUserId(HttpContext); try { var model = await _labelService.AddAsync(userId, group, value); if (model == null) { return(BadRequest()); } return(Ok(model)); } catch (ForbidException) { return(Forbid()); } catch (KeyNotFoundException) { return(BadRequest()); } }