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 async Task CreateAsync(Guid id, User user, string name) { var label = await _labelRepository.GetAsync(id, user.Id); if (label != null) { throw new ServiceException(ErrorCodes.LabelAlreadyExist); } label = new Label(id, user, name); await _labelRepository.AddAsync(label); }